Cryptography software tools for Visual Basic and C/C++/C# developers

The CryptoSysTM range of cryptographic products provide a full library of cryptography tools for developers using Visual Basic, VB6, VBA, VB.NET/VB2005/8, C/C++, C# and ASP.

Search:

CryptoSys API cryptographic software CryptoSys PKI Toolkit

CryptoSys API | CryptoSys PKI | Product Comparison | FAQ | Search | Contact us | Comment

Locations of visitors to this page
Last year's visits
CryptoSys API Quick Index

Introduction | Read the API Manual | Examples | Download API Now | Purchase API | Licensed Users | Feedback | Support | Known Issues | ActiveX Interface | .NET Interface | Linux Version | Other Interfaces | RNG algorithm | Integrity | FAQ | Search | Contact us | Comment


Check out the latest releases of our CryptoSys API Library Version 4.3 released 17 December 2009 and CryptoSys PKI Toolkit Version 3.5 released 2 May 2010. An upgraded Version 2.0.2 of FirmaSAT was released on 20 May 2010. A suggested Delphi interface was published in March 2010.


CryptoSys Products

Our cryptography products only include well-known cryptography algorithms recommended by organisations such as NIST or ISO, or those acknowledged by experts as being reliable. We avoid anything with any whiff of a current patent attached to it.

There are two major products: CryptoSys API provides "symmetrical" encryption and the CryptoSys PKI Toolkit provides "asymmetrical" public key encryption and digital signatures. Both include the necessary supporting algoritms.

CryptoSys API CryptoSys API The original CryptoSys API provides four of the major block cipher algorithms: AES, DES, Triple DES and Blowfish; a stream cipher compatible with RC4; key wrap with AES and Triple DES; secure message digest hash algorithms SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, MD5 and MD2; the HMAC and CMAC message authentication algorithms, data compression, and a secure random number generator. Includes interfaces for Visual Basic, VBA, VB.NET/VB2005/8, C/C++, C# and ActiveX/COM/ASP. More details below. New Version 4.2 Version 4.3 released 17 December 2009 including interfaces to VB.NET vb.net, C# C# and ActiveX ActiveX/COM/ASP. There is also a Linux Linux Version available. Conversions of most of the VB6 code examples in the manual to VB.NET are available here.
CryptoSys PKI CryptoSys PKI Our CryptoSys PKI toolkit features RSA public key encryption, digital signatures, X.509 certificate handling, and cryptographic message syntax (CMS) objects that can be used with S/MIME using rsaEncryption. Full details on the CryptoSys PKI Toolkit page. Includes message digest computation with SHA-1/256/224/256/384/512/MD5/MD2, HMAC message authentication codes, secure random numbers, and base64 conversion functions. Interfaces are provided for Visual Basic, VBA, VB.NET/VB2005/8, C/C++, C# and more. Version 3.5 issued 2 May 2010 including interfaces to VB.NET vb.net and C# C#. A Linux Linux Version is also available. Conversions of most of the VB6 code examples in the manual to VB.NET are available here. New 13 Jan 2010A separate utility to create SAT Mexico digital signatures is available: see FirmaSAT.
Where to buy: CryptoSys API can be purchased here. Download a free fully-functional trial version now. More details...
CryptoSys PKI can be purchased here. Download a free fully-functional trial version now. More details...
FirmaSAT can be purchased here (requires CryptoSys PKI). Download a free fully-functional trial version now. More details...
 
Note that CryptoSys API and CryptoSys PKI are different products. FirmaSAT is an add-on to CryptoSys PKI specifically for Mexico S.A.T. digital receipts.

See also a comparison of our CryptoSys range of products, Frequently Asked Questions, legacy products and using on a 64-bit system


 

CryptoSys API


The CryptoSys API is a developer's toolkit of fast, efficient symmetrical cryptographic functions in Visual Basic, VBA, VB.NET/VB2005/8, C/C++, C#, and ASP. You can incorporate it in your own apps and it can be called from VBA applications like Access, Excel and Word. It provides four of the major block cipher algorithms, a stream cipher algorithm, key wrap, secure message digest hash algorithms, the HMAC message authentication algorithm, the CMAC algorithm, a data compression facility, a password-based key derivation function (PBKDF2), a secure random number generator and other utilities. If you need to do "asymmetric" public key cryptography, look at our alternative product CryptoSys PKI Toolkit.

Read the API Manual | Examples | Download API Now | Purchase API | Licensed Users | Feedback | Support | Known Issues | ActiveX Interface | .NET Interface | Linux Version | Other Interfaces | RNG algorithm | Integrity | FAQ | Search | Contact us | Comment

Latest releases:
2009-12-17: New version 4.3 with VB.NET, C# and ActiveX interfaces. See New and Updated in latest version below.
2010-06-25: Writing an interface in another programming language.
2009-07-24: Converting VB6 examples to VB.NET.

Feedback on CryptoSys API

“ I downloaded the Personal package about two hours ago, and my application is up and running with no problems! You have done a great job. ”
  -Anthony W.

“ First thanks for the great documentation with your product. I had spent three days trying some other solutions to my HMAC problem, and 1 hour after downloading your trial, my problem was solved. ”
  -James S.

“ For developers, your product is great. ”
  -Mark H, US Navy

“ Thanks for putting together such a great and easy to use library. Your product is great and support is excellent as well. ”
  -Mark W.

“ Thanks for an awesome product! ”
  -James H.

“ Thank you very much. Your software worked great for our project. ”
  -Chris C.

“ Thanks for your quick response. And thanks for Cryptosys API and other related tools. You have done a great job. I like the fact that Cryptosys comes in the form of a DLL whose cipher algorithms can be called from VB and C/C++. ”
  -Jalal R.

“ Thanks for your response...truly stellar, and I appreciate your company's great product. ”
  -Steve J.

“ One finds that rarely! So clear information and so clean program code: Access VBA, CryptoSys API, Cryptography generally. Thank you! ”
  -Felix S.

“ Thank you very much. This answers our questions and we have everything working correctly. Your support was very timely and precise. We are very pleased to have worked with you. ”
  -Dan B.

“ The CryptoSys API was easy to master and provided ARMP with a fast solution to our Smart Card encryption software developed with Visual Basic. ”
  -Army Recreation Machine Program.

Please give us your feedback.

The block cipher algorithms in the CryptoSys API are:

The one-way message digest hash functions the Secure Hash Algorithm (SHA-1), the stronger SHA-256 version, and SHA-224, SHA-384, SHA-512, MD5, MD2 and RIPEMD-160. The stream cipher (PC1) is fully compatible with RC4. The random number generator complies with the Federal Information Processing Standards Publication FIPS PUB 140-2 Security Requirements for Cryptographic Modules. Data compression functions are included based on Jean-loup Gailly's excellent 'zlib' product. We suggest one way of using compression with CryptoSys and show how to store the compressed plaintext in a simple packet structure before encryption. Another technique of compression and encryption is shown in our demonstration VB6 project of MySecret with CryptoSys API.


New Random Number Generator (RNG): Version 4 of CryptoSys API includes a new improved thread-safe random number generator (RNG) based on the strict NIST SP 800-90 standard. This is compliant with FIPS PUB 140-2. To that end, we publish the full details of the random number algorithms used in CryptoSys. Your comments and review are welcome.


The CryptoSys API functions allow you to encrypt, decrypt, hash and authenticate data in a variety of formats, as well as generating secure random keys to use in your applications. Your input data can generally be in a byte array, encoded as a hexadecimal string, or in a file. The functions can process the data in a one-off manner, or, for longer inputs, you can call the "update" functions sequentially after initialising. The block cipher algorithms work in Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB) and Counter (CTR) modes. AES with Galois/Counter Mode (AES-GCM) is provided. You can generate random keys and nonces in a secure manner. All functions are thread-safe. See the Examples page.

Features

Changes in Version 4.3

Changes in Version 4.2

Changes in Version 4.1

Changes in Version 4.0

What do I get?

There are over 200 cryptographic functions in the CryptoSys API. The installed footprint is relatively small, about 450 kB. It comes with an easy to use installation program, demo projects, sample test source code, and a complete manual with examples.

How does it work?

The CryptoSys API uses a straightforward and independent Win32 DLL which is compatible with all versions of 32-bit Windows (95/98/Me/NT4/2K/XP/2003/Vista). There is no "COM", no "Active-X", and no requirement to "register" it with Windows to use it. The products do not use or rely on the Microsoft Cryptographic API (CRAPi [sic]) cryptographic providers in any way. Developers can distribute to their clients by simply copying a single file into the correct directory. For those users who do want ActiveX capability so they can call it from an ASP page, there is an ActiveX Interface.

Linux Version: There is also a beta Linux Version with a static library which you are free to test and use on your own Linux system. We created the static library on a Fedora Core 1 system and we've tested it on other Red Hat and Ubuntu systems without problems. If it compiles OK and the detailed tests run without error then we are pretty confident that it will work for you.

How do I get it?

There are three editions of CryptoSys API available. All have identical functions.

  1. The Personal Edition is free for personal use on a stand-alone computer.
  2. The Server Trial Edition is also free and allows you to test the functions with an ActiveX interface on IIS and ASP applications for 30 days.
  3. The licensed Developer Edition works without restrictions in any environment, including IIS/ASP.

Please test the CryptoSys API before purchasing using either the Personal or Server Trial edition.

All editions include the full manual and test functions in Visual Basic, C, VB.NET and C#. The Server and Developer Editions include an ActiveX interface which can be called from ASP pages and other COM applications. The source code for the ActiveX and DotNet Class Library DLLs is included.

The install program and the product functions have been tested on W98, W2K, XP, Vista and W7 systems. The functions have been tested using Visual Basic 6, Microsoft Office VBA (97 and 2003), Microsoft Visual C++ (versions 5 through 9) and Borland C++Builder version 5.5. The core DLL has been compiled for both Win32 and X64 systems using VS2008. The Win32 version uses Cloanto's LegacyExtender program to make it compatible with the older Windows systems.

What's the difference between the Personal and Server Editions?

Both the Personal and Server Editions have the same core cryptographic functions except the ActiveX interface does not work with the Personal Edition. The Personal Edition is for use on a stand-alone personal computer. It does not expire but has a pop-up when it is first used. The Server Edition is designed for use on both a server in an IIS/ASP environment or on a stand-alone or networked computer. Either edition may be used for evaluating the licensed Developer Edition, which works in any environment. Note that the Server Edition will fail silently if not installed properly.

Hint: If for some reason you are having problems getting the Personal Edition to work, try installing the Server Edition instead.

Interfaces to other programming languages

See Writing an interface in another programming language for advice and examples in how to use CryptoSys API with other programming languages, including Visual FoxPro and Team Developer.

New Delphi interfaceFor Delphi, see the page Using Delphi with CryptoSys API, CryptoSys PKI and FirmaSAT for more details and some sample code.

Using with Microsoft Excel

See Using CryptoSys API with Microsoft Excel for an example of how to call a function in CryptoSys API from an Excel spreadsheet.

Do I have a valid version?

Check the integrity of your CryptoSys API software.

How do I create keys and manage padding when encrypting?

Please refer to our brief introductions to Using Keys in Cryptography and Using Padding in Encryption.

Does CryptoSys API do Public Key Cryptography?

No. For public key cryptography, see our CryptoSys PKI Toolkit.

Legacy products

The CryptoSys Blowfish and CryptoSys Hash products have been withdrawn. All functions in both products are available in CryptoSys API, which is fully supported and has interfaces for C# and VB.NET programmers. Existing licence holders can still Download a Developer Version of CryptoSys Blowfish and Download a Developer Version of CryptoSys Hash.

CryptoSys Encode version 2.0 released 17 August 2003 is still available for free.

More Cryptographic Code

For free cryptographic code written by David Ireland, including Blowfish in Visual Basic, a full set of multiple-precision arithmetic routines written in ANSI C, base64 encoding; CRC-16, CRC-24 and CRC-32 routines; the MySecret Blowfish utility, and more, visit DI Management's Cryptography Software Code Page.

Contact

For more information, please Email Us. To comment on this page, see below.

This page last updated 15 July 2010

Comments

Post a comment on this page.

0 comments so far