LCLib

    I needed a library of functions that enabled me to perform hash functions and symmetric cryptography.
I chose MD5 initially but eventually chose SHA as the hashing algorithm due to concerns regarding the 'collision resistance' of MD5 due to weakness in the compression function.
I chose Blowfish over DES or triple DES due to the fact that DES has a restricted key length nad had been successfully attacked whereas Blowfish has variable key lengths and also, known attacks rely on fewer rounds being used, and as the full complement of rounds would be used, I did not see this as an issue.
The library allows blowfish to be used with any key size from 64 bit (although 128 bit and greater (up to 448 bit) is recommended.
Finally, I chose the bnlib-1.1 multi precision library by Colin Plum so that I could implement RSA easily.
RSA is used for public key cryptography and for signing keys and data.
The implementor of the blowfish code I use is Paul Kocher (pck@netcom.com)
The implementor of the SHA code I use is Uwe Hollerbach (uh@alumni.caltech)
The code for SHA is derived from Peter C. Gutmann's implementation as found in Applied Cryptography by Bruce Schneier
The implementor of the multi precision library bnlib-1.1 is Colin Plumb (colin@nyx.net)
The implementor of the RSA code used is John Horton (jh_squirrel@yahoo.com)

 documentation

anonymous cvs access to the source can be obtained by the following method


cvs -d:pserver:anonymous@cvs.lclib.sourceforge.net:/cvsroot/lclib login
cvs -z3 -d:pserver:anonymous@cvs.lclib.sourceforge.net:/cvsroot/lclib co lclib
view files
download latest tarball
SourceForge Logo