📄 readme.txt
字号:
with the original HMAC) - changed secret sharing and information dispersal to use GF(2^32) instead of GF(65521) - removed zero knowledge prover/verifier for graph isomorphism - removed several utility classes in favor of the C++ standard library2.3 - ported to EGCS - fixed incomplete workaround of min/max conflict in MSVC3.0 - placed all names into the "CryptoPP" namespace - added MD2, RC2, RC6, MARS, RW, DH2, MQV, ECDHC, CBC-CTS - added abstract base classes PK_SimpleKeyAgreementDomain and PK_AuthenticatedKeyAgreementDomain - changed DH and LUCDIF to implement the PK_SimpleKeyAgreementDomain interface and to perform domain parameter and key validation - changed interfaces of PK_Signer and PK_Verifier to sign and verify messages instead of message digests - changed OAEP to conform to PKCS#1 v2.0 - changed benchmark code to produce HTML tables as output - changed PSSR to track IEEE P1363a - renamed ElGamalSignature to NR and changed it to track IEEE P1363 - renamed ECKEP to ECMQVC and changed it to track IEEE P1363 - renamed several other classes for clarity - removed support for calling RSAREF - removed option to compile old SHA (SHA-0) - removed option not to throw exceptions3.1 - added ARC4, Rijndael, Twofish, Serpent, CBC-MAC, DMAC - added interface for querying supported key lengths of symmetric ciphers and MACs - added sample code for RSA signature and verification - changed CBC-CTS to be compatible with RFC 2040 - updated SEAL to version 3.0 of the cipher specification - optimized multiprecision squaring and elliptic curves over GF(p) - fixed bug in MARS key setup - fixed bug with attaching objects to Deflator3.2 - added DES-XEX3, ECDSA, DefaultEncryptorWithMAC - renamed DES-EDE to DES-EDE2 and TripleDES to DES-EDE3 - optimized ARC4 - generalized DSA to allow keys longer than 1024 bits - fixed bugs in GF2N and ModularArithmetic that can cause calculation errors - fixed crashing bug in Inflator when given invalid inputs - fixed endian bug in Serpent - fixed padding bug in Tiger4.0 - added Skipjack, CAST-256, Panama, SHA-2 (SHA-256, SHA-384, and SHA-512), and XTR-DH - added a faster variant of Rabin's Information Dispersal Algorithm (IDA) - added class wrappers for these operating system features: - high resolution timers on Windows, Unix, and MacOS - Berkeley and Windows style sockets - Windows named pipes - /dev/random and /dev/urandom on Linux and FreeBSD - Microsoft's CryptGenRandom on Windows - added support for SEC 1 elliptic curve key format and compressed points - added support for X.509 public key format (subjectPublicKeyInfo) for RSA, DSA, and elliptic curve schemes - added support for DER and OpenPGP signature format for DSA - added support for ZLIB compressed data format (RFC 1950) - changed elliptic curve encryption to use ECIES (as defined in SEC 1) - changed MARS key schedule to reflect the latest specification - changed BufferedTransformation interface to support multiple channels and messages - changed CAST and SHA-1 implementations to use public domain source code - fixed bug in StringSource - optmized multi-precision integer code for better performance4.1 - added more support for the recommended elliptic curve parameters in SEC 2 - added Panama MAC, MARC4 - added IV stealing feature to CTS mode - added support for PKCS #8 private key format for RSA, DSA, and elliptic curve schemes - changed Deflate, MD5, Rijndael, and Twofish to use public domain code - fixed a bug with flushing compressed streams - fixed a bug with decompressing stored blocks - fixed a bug with EC point decompression using non-trinomial basis - fixed a bug in NetworkSource::GeneralPump() - fixed a performance issue with EC over GF(p) decryption - fixed syntax to allow GCC to compile without -fpermissive - relaxed some restrictions in the license4.2 - added support for longer HMAC keys - added MD4 (which is not secure so use for compatibility purposes only) - added compatibility fixes/workarounds for STLport 4.5, GCC 3.0.2, and MSVC 7.0 - changed MD2 to use public domain code - fixed a bug with decompressing multiple messages with the same object - fixed a bug in CBC-MAC with MACing multiple messages with the same object - fixed a bug in RC5 and RC6 with zero-length keys - fixed a bug in Adler32 where incorrect checksum may be generated5.0 - added ESIGN, DLIES, WAKE-OFB, PBKDF1 and PBKDF2 from PKCS #5 - added key validation for encryption and signature public/private keys - renamed StreamCipher interface to SymmetricCipher, which is now implemented by both stream ciphers and block cipher modes including ECB and CBC - added keying interfaces to support resetting of keys and IVs without having to destroy and recreate objects - changed filter interface to support non-blocking input/output - changed SocketSource and SocketSink to use overlapped I/O on Microsoft Windows - grouped related classes inside structs to help templates, for example AESEncryption and AESDecryption are now AES::Encryption and AES::Decryption - where possible, typedefs have been added to improve backwards compatibility when the CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY macro is defined - changed Serpent, HAVAL and IDEA to use public domain code - implemented SSE2 optimizations for Integer operations - fixed a bug in HMAC::TruncatedFinal() - fixed SKIPJACK byte ordering following NIST clarification dated 5/9/025.01 - added known answer test for X9.17 RNG in FIPS 140 power-up self test - submitted to NIST/CSE, but not publicly released5.02 - changed EDC test to MAC integrity check using HMAC/SHA1 - improved performance of integrity check - added blinding to defend against RSA timing attack5.03 - created DLL version of Crypto++ for FIPS 140-2 validation - fixed vulnerabilities in GetNextIV for CTR and OFB modes5.0.4 - Removed DES, SHA-256, SHA-384, SHA-512 from DLL5.1 - added PSS padding and changed PSSR to track IEEE P1363a draft standard - added blinding for RSA and Rabin to defend against timing attacks on decryption operations - changed signing and decryption APIs to support the above - changed WaitObjectContainer to allow waiting for more than 64 objects at a time on Win32 platforms - fixed a bug in CBC and ECB modes with processing non-aligned data - fixed standard conformance bugs in DLIES (DHAES mode) and RW/EMSA2 signature scheme (these fixes are not backwards compatible) - fixed a number of compiler warnings, minor bugs, and portability problems - removed Sapphire5.2 - merged in changes for 5.01 - 5.0.4 - added support for using encoding parameters and key derivation parameters with public key encryption (implemented by OAEP and DL/ECIES) - added Camellia, SHACAL-2, Two-Track-MAC, Whirlpool, RIPEMD-320, RIPEMD-128, RIPEMD-256, Base-32 coding, FIPS variant of CFB mode - added ThreadUserTimer for timing thread CPU usage - added option for password-based key derivation functions to iterate until a mimimum elapsed thread CPU time is reached - added option (on by default) for DEFLATE compression to detect uncompressible files and process them more quickly - improved compatibility and performance on 64-bit platforms, including Alpha, IA-64, x86-64, PPC64, Sparc64, and MIPS64 - fixed ONE_AND_ZEROS_PADDING to use 0x80 instead 0x01 as padding. - fixed encoding/decoding of PKCS #8 privateKeyInfo to properly handle optional attributes5.2.1 - fixed bug in the "dlltest" DLL testing program - fixed compiling with STLport using VC .NET - fixed compiling with -fPIC using GCC - fixed compiling with -msse2 on systems without memalign() - fixed inability to instantiate PanamaMAC - fixed problems with inline documentation5.2.2 - added SHA-224 - put SHA-256, SHA-384, SHA-512, RSASSA-PSS into DLL 5.2.3 - fixed issues with FIPS algorithm test vectors - put RSASSA-ISO into DLL5.3 - ported to MSVC 2005 with support for x86-64 - added defense against AES timing attacks, and more AES test vectors - changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"5.4 - added Salsa20 - updated Whirlpool to version 3.0 - ported to GCC 4.1, Sun C++ 5.8, and Borland C++Builder 20065.5 - added VMAC and Sosemanuk (with x86-64 and SSE2 assembly) - improved speed of integer arithmetic, AES, SHA-512, Tiger, Salsa20, Whirlpool, and PANAMA cipher using assembly (x86-64, MMX, SSE2) - optimized Camellia and added defense against timing attacks - updated benchmarks code to show cycles per byte and to time key/IV setup - started using OpenMP for increased multi-core speed - enabled GCC optimization flags by default in GNUmakefile - added blinding and computational error checking for RW signing - changed RandomPool, X917RNG, GetNextIV, DSA/NR/ECDSA/ECNR to reduce the risk of reusing random numbers and IVs after virtual machine state rollback - changed default FIPS mode RNG from AutoSeededX917RNG<DES_EDE3> to AutoSeededX917RNG<AES> - fixed PANAMA cipher interface to accept 256-bit key and 256-bit IV - moved MD2, MD4, MD5, PanamaHash, ARC4, WAKE_CFB into the namespace "Weak" - removed HAVAL, MD5-MAC, XMAC5.5.1 - fixed VMAC validation failure on 32-bit big-endian machines5.5.2 - ported x64 assembly language code for AES, Salsa20, Sosemanuk, and Panama to MSVC 2005 (using MASM since MSVC doesn't support inline assembly on x64) - fixed Salsa20 initialization crash on non-SSE2 machines - fixed Whirlpool crash on Pentium 2 machines - fixed possible branch prediction analysis (BPA) vulnerability in MontgomeryReduce(), which may affect security of RSA, RW, LUC - fixed link error with MSVC 2003 when using "debug DLL" form of runtime library - fixed crash in SSE2_Add on P4 machines when compiled with MSVC 6.0 SP5 with Processor Pack - ported to MSVC 2008, GCC 4.2, Sun CC 5.9, Intel C++ Compiler 10.0, and Borland C++Builder 20075.6 - added AuthenticatedSymmetricCipher interface class and Filter wrappers - added CCM, GCM (with SSE2 assembly), EAX, CMAC, XSalsa20, and SEED - added support for variable length IVs - improved AES and SHA-256 speed on x86 and x64 - fixed incorrect VMAC computation on message lengths that are >64 mod 128 (x86 assembly version is not affected) - fixed compiler error in vmac.cpp on x86 with GCC -fPIC - fixed run-time validation error on x86-64 with GCC 4.3.2 -O2 - fixed HashFilter bug when putMessage=true - removed WORD64_AVAILABLE; compiler support for 64-bit int is now required - ported to GCC 4.3, C++Builder 2009, Sun CC 5.10, Intel C++ Compiler 11Written by Wei Dai
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -