* 0.8.7, July 30, 2002 - Fixed bugs in EME1 and EMSA4 - Fixed a potential crash at shutdown - Cipher modes returned an ill-formed name - Removed various deprecated types and headers - Cleaned up the Pipe interface a bit - Minor additions to the documentation - First stab at a Visual C++ makefile (doc/Makefile.vc7) * 0.8.6, July 25, 2002 - Added EMSA4 (aka PSS) - Brought the manual up to date; many corrections and additions - Added a parallel hash function construction - Lookup supports all available algorithms now - Lazy initialization of the lookup tables - Made more discrete logarithm groups available through get_dl_group() - StreamCipher_Filter supports seeking (if the underlying cipher does) - Minor optimization for GCD calculations - Renamed SAFER_SK128 to SAFER_SK - Removed many previously deprecated functions - Some now-obsolete functions, headers, and types have been deprecated - Fixed some bugs in DSA prime generation - DL_Group had a constructor for DSA-style prime gen but it wasn't defined - Reversed the ordering of the two arguments to SEAL's constructor - Fixed a threading problem in the PK algorithms - Fixed a minor memory leak in lookup.cpp - Fixed pk_types.h (it was broken in 0.8.5) - Made validation tests more verbose - Updated the check and example applications * 0.8.5, July 21, 2002 - Major changes to constructors for DL-based cryptosystems (DSA, NR, DH) - Added a DL_Group class - Reworking of the pubkey internals - Support in lookup for aliases and PK algorithms - Renamed CAST5 to CAST_128 and CAST256 to CAST_256 - Added EMSA1 - Reorganization of header files - LibraryInitializer will install new allocator types if requested - Fixed a bug in Diffie-Hellman key generation - Did a workaround in pipe.cpp for GCC 2.95.x on Linux - Removed some debugging code from init.cpp that made FTW ES useless - Better checking for invalid arguments in the PK algorithms - Reduced Base64 and Hex default line length (if line breaking is used) - Fixes for HP's aCC compiler - Cleanups in BigInt * 0.8.4, July 14, 2002 - Added Nyberg-Rueppel signatures - Added Diffie-Hellman key exchange (kex interface is subject to change) - Added KDF2 - Enhancements to the lookup API - Many things formerly taking pointers to algorithms now take names - Speedups for prime generation - LibraryInitializer has support for seeding the global RNG - Reduced SAFER-SK128 memory consumption - Reversed the ordering of public and private key values in DSA constructor - Fixed serious bugs in MemoryMapping_Allocator - Fixed memory leak in Lion - FTW_EntropySource was not closing the files it read - Fixed line breaking problem in Hex_Encoder * 0.8.3, June 9, 2002 - Added DSA and Rabin-Williams signature schemes - Added EMSA3 - Added PKCS#1 v1.5 encryption padding - Added Filters for PK algorithms - Added a Keyed_Filter class - LibraryInitializer processes arguments now - Major revamp of the PK interface classes - Changed almost all of the Filters for non-template operation - Changed HMAC, Lion, Luby-Rackoff to non-template classes - Some fairly minor BigInt optimizations - Added simple benchmarking for PK algorithms - Added hooks for fixed base and fixed exponent modular exponentiation - Added some examples for using RSA - Numerous bugfixes and cleanups - Documentation updates * 0.8.2, May 18, 2002 - Added an (experimental) algorithm lookup interface - Added code for directly testing BigInt - Added SHA2-384 - Optimized SHA2-512 - Major optimization for Adler32 (thanks to Dan Nicolaescu) - Various minor optimizations in BigInt and related areas - Fixed two bugs in X9.19 MAC, both reported by Darren Starsmore - Fixed a bug in BufferingFilter - Made a few fixes for MacOS X - Added a workaround in configure.pl for GCC 2.95.x - Better support for PowerPC, ARM, and Alpha - Some more cleanups * 0.8.1, May 6, 2002 - Major code cleanup (check doc/deprecated.txt) - Various bugs fixed, including several portability problems - Renamed MessageAuthCode to MessageAuthenticationCode - A replacement for X917 is in x917_rng.h - Changed EMAC to non-template class - Added ANSI X9.19 compatible CBC-MAC - TripleDES now supports 128 bit keys * 0.8.0, April 24, 2002 - Merged BigInt: many bugfixes and optimizations since alpha2 - Added RSA (rsa.h) - Added EMSA2 (emsa2.h) - Lots of new interface code for public key algorithms (pk_base.h, pubkey.h) - Changed some interfaces, including SymmetricKey, to support the global rng - Fixed a serious bug in ManagedAllocator - Renamed RIPEMD128 to RIPEMD_128 and RIPEMD160 to RIPEMD_160 - Removed some deprecated stuff - Added a global random number generator (rng.h) - Added clone functions to most of the basic algorithms - Added a library initializer class (init.h) - Version macros in version.h - Moved the base classes from opencl.h to base.h - Renamed the bzip2 module to comp_bzip2 and zlib to comp_zlib - Documentation updates for the new stuff (still incomplete) - Many new deprecated things: check doc/deprecated.txt