CryptPak is an open source library which I started writing originally for my shareware products in 1997. It was soon released toe be used with other applications for no charge and has seen many improvements since then. Today it supports the following algorithms and modules:
The software in written in C and runs under Win32 and Linux. Samples are available for the Borland C/C++ Compiler 5.5. (BCC55), Delphi 6 and GCC. There is no final license model for this software yet, an lGPL might be chosen one soon. There is also no responsibility on the author's side for any damage the code might cause due to problems or improper usage. Some of the algorithms offered in this library may require special licensing, e.g. IDEA or MARS.
This package is separated in the actual core sources, samples and build files. To keep the actual archive file small only the essential binary compliations are added, everything else can easily be build in each individual development environment. Three main folders are available:
By reading the sample code and checking out the settings in each build environment it should be fairly easy to understand of how things work. Please note that this is a low level library and especially to build a safe encryption system you will need some basic background knowledge to produce resonable results.
(this is a summary of what I have documented during the past time)
There is a minor change: the calling convention is now stdcall for the callback function type Cipher_RandomGenerator.
Since this version 4.0 a Yarrow implementation is available and now also used as the internal random number generator for the cipher server. Also new: some modules allow now a static initialization (instead of using the memory manager), nice e.g. for system wide instances using shared memory (currently only usable in C implementations, static binding is recommended).
Since today the new AES winner and standard algorithm Rjindael is included. It's a 256bit key size, 16 bytes block size implementation.
A new compiler switch NON_COMMERCIAL (used in CIPHERSERVER.C). It brings CryptPak closer to a total free of charge product by testing it under another compiler. Two new algorithms, RC6 and Serpent, are available, thanks to Christian Thoeing. He also optimized the Rijndael implementation a lot.
The library compiles now under Linux and Windows CE, sample applications were written for both systems. The former standalone project MD5 Checksum became due to its small size part of this project. The ReadMe document is back to HTML. Creating the final ZIP file will be done under Linux from now on.
Removed MD5 Checksum, which is now a CryptPak independent application using a different C compiler.
There was key setup bug in triple-DES, limiting the key space (Warning: old data won't decrypted correctly with this fix). Some platforms (WINCE, VC, VB, VFP) are not supported anymore directly, due to missing or outdated compilers. The function Support_GetCrunchKeyBuildBufSize() was finally spellchecked. Selftests for MD5 and SHA-1 didn't work. And there was a memory leak in Yarrow_Reseed(). Introduced support for the Borland C/C++ Compiler 5.5.
E-Mail: markus_hahn@gmx.net
For questions and suggestions. And no, I there is no easy way to use CyptPak in VB. And no, I don't have code sample code for a compatible data transfer with Java. And no, there is also no sample code for a 1-2-3 easy encryption of data since CryptPak is a low level library and you have to get used to it. Please :)
Web: http://come.to/hahn
For updates check out the official website.
Please verify also the MD5 checksum for the integrity of the ZIP
archive.
Thanks to Christian Thoeing, the co-author.