[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ANNOUNCE: Crypto++ 2.0
Crypto++ 2.0 has just been released. Please see the attached readme file
for a description of Crypto++ and what's new in version 2.0. More
details and download instructions can be found on my homepage at
Crypto++: a C++ Class Library of Cryptographic Primitives
Version 2.0 2/19/1996
This library includes:
MD5, MD5-MAC, SHA, HAVAL, DES, IDEA, WAKE, 3-WAY, TEA, SAFER,
Blowfish, Diamond2, Diamond2 Lite, Sapphire, Luby-Rackoff, MDC,
various modes (CFB, CBC, OFB, counter), DH, DSA, ElGamal, LUC,
Rabin, BlumGoldwasser, elliptic curve cryptosystems, BBS, gzip
compression, Shamir's secret sharing scheme, Rabin's information
dispersal scheme, and zero-knowledge prover and verifier for
graph isomorphism. There are also various miscellanous modules such
as base 64 coding and 32-bit CRC.
RSA and RC5 are noticeably absent. I am still talking to RSA
DSI about adding them back into Crypto++. I hope version 2.1
will include them.
Crypto++ has been compiled and tested with Borland C++ 4.5, MSVC 4.0,
and G++ 2.7.2 on MS-DOS, Windows NT, and a variety of Unix machines.
You are welcome to use it for any purpose without paying me, but see
license.txt for the fine print.
Some short instructions to compile this library:
(you probably need to modify this to suit your environment)
-- if want to use this library with RSAREF, then
1. get a copy of RSAREF
2. untar or unzip it into a directory below this one
3. type "gcc -c -I. *.c" (in the rsaref/source directory) to compile RSAREF
4. edit config.h (make sure to #define USE_RSAREF)
5. type "g++ -c -Irsaref/source -I. *.cpp" to compile this library
6. type "g++ *.o rsaref/source/*.o -lstdc++ -lm" to link the test driver
7. type "a.out" to run the test driver
-- if you DON'T want to use this library with RSAREF, then
1. edit config.h
2. type "g++ -c *.cpp" to compile this library
3. type "g++ *.o -lstdc++ -lm" to link the test driver
4. type "a.out" to run the test driver
Finally, a note on object ownership: If a constructor for A takes
a pointer to an object B (except primitive types such as int and char),
then A owns B and will delete B at A's destruction. If a constructor
for A takes a reference to an object B, then the caller retains ownership
of B and should not destroy it until A no longer needs it.
Good luck, and feel free to e-mail me at [email protected] if you have
any problems. Also, check http://www.eskimo.com/~weidai/cryptlib.html
for updates and new versions.
1.0 - First public release. Withdrawn at the request of RSA DSI.
- Has a big bug in the RSA key generation code.
1.1 - Removed RSA, RC4, RC5
- Disabled calls to RSAREF's non-public functions
- Minor bugs fixed
2.0 - a completely new, faster multiprecision integer class
- added MD5-MAC, HAVAL, 3-WAY, TEA, SAFER, LUC, Rabin, BlumGoldwasser,
Elliptic Curve algorithms
- added the Lucas strong probable primality test
- ElGamal encryption and signature schemes modified to avoid weaknesses
- Diamond changed to Diamond2 because of key schedule weakness
- fixed bug in WAKE key setup
- SHS class renamed to SHA
- lots of miscellaneous optimizations