13
13
- generic cipher modes: ECB, CBC, CBC ciphertext stealing (CTS),
14
14
CFB, OFB, counter mode (CTR)
15
- stream ciphers: Panama, ARC4, SEAL, WAKE, WAKE-OFB,
15
- stream ciphers: Panama, ARC4, SEAL, WAKE, WAKE-OFB, Salsa20
17
17
- public key cryptography: RSA, DSA, ElGamal, Nyberg-Rueppel
18
18
(NR), Rabin, Rabin-Williams (RW), LUC, LUCELG, DLIES (variants
22
22
- key agreement schemes: Diffie-Hellman (DH), Unified Diffie-
23
23
Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH
24
24
- elliptic curve cryptography: ECDSA, ECNR, ECIES, ECDH, ECMQV
25
- one-way hash functions: SHA-1, MD2, MD4, MD5, HAVAL, RIPEMD-
26
128, RIPEMD-256, RIPEMD-160, RIPEMD-320, Tiger, SHA-2 (SHA-256,
27
SHA-384, and SHA-512), Panama, Whirlpool
28
- message authentication codes: MD5-MAC, HMAC, XOR-MAC, CBC-MAC,
25
- one-way hash functions: SHA-1, MD2, MD4, MD5, RIPEMD-128,
26
RIPEMD-256, RIPEMD-160, RIPEMD-320, Tiger, SHA-2 (SHA-224,
27
SHA-256, SHA-384, and SHA-512), Panama, Whirlpool
28
- message authentication codes: HMAC, CBC-MAC, DMAC, VMAC
30
30
- cipher constructions based on hash functions: Luby-Rackoff, MDC
31
31
- pseudo random number generators (PRNG): ANSI X9.17 appendix C,
54
54
- FIPS 140-2 Validated
56
56
You are welcome to use it for any purpose without paying me, but see
57
license.txt for the fine print.
57
License.txt for the fine print.
59
59
This version of Crypto++ has been compiled successfully with MSVC 6.0 SP5
60
and .NET 2003 on Windows XP, GCC 2.95.4 on FreeBSD 4.6, GCC 2.95.3 on
61
Linux 2.4 and SunOS 5.8, GCC 3.4 on Cygwin 1.5.10, and Metrowerks
62
CodeWarrior 8.3 for Windows and MacOS.
60
and .NET 2005 SP1 on Windows XP SP2, GCC 3.4.2 on FreeBSD 5.4, GCC 4.1.2 on
61
Linux 2.6, GCC 3.4.4 on Cygwin 1.5.21, GCC 3.3 and 4.0.1 on MacOS X 10.4,
62
and Borland C++Builder 2006. For an update to date list of supported compilers
63
and operating systems, please visit http://www.cryptopp.com.
64
65
*** Important Usage Notes ***
84
85
all three forms, and sample applications using each of the three forms
87
To compile Crypto++ with MSVC, open the "cryptest.dsw" workspace file
88
and build one or more of the following projects:
88
To compile Crypto++ with MSVC, open the "cryptest.dsw" (for MSVC 6 and MSVC .NET
89
2003) or "cryptest.sln" (for MSVC .NET 2005) workspace file and build one or
90
more of the following projects:
90
92
cryptdll - This builds the DLL. Please note that if you wish to use Crypto++
91
93
as a FIPS validated module, you must use a pre-built DLL that has undergone
150
152
If you run into any problems, please try the Crypto++ mailing list.
151
153
The subscription information and the list archive are available on
152
http://www.cryptopp.com. You can also email me directly at
153
cryptopp@weidai.com, but you will probably get a faster response through
154
http://www.cryptopp.com. You can also email me directly by visiting
155
http://www.weidai.com, but you will probably get a faster response through
154
156
the mailing list.
350
352
5.2.3 - fixed issues with FIPS algorithm test vectors
351
353
- put RSASSA-ISO into DLL
353
5.3 - Ported to MSVC .NET 2005 with support for x86-64
354
- Added defense against AES timing attacks, and more AES test vectors
355
- Changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"
355
5.3 - ported to MSVC .NET 2005 with support for x86-64
356
- added defense against AES timing attacks, and more AES test vectors
357
- changed StaticAlgorithmName() of Rijndael to "AES", CTR to "CTR"
357
359
5.4 - added Salsa20
358
360
- updated Whirlpool to version 3.0
361
- ported to GCC 4.1, Sun C++ 5.8, and Borland C++Builder 2006
363
5.5 - added VMAC, Sosemanuk
364
- improved speed of AES and Whirlpool
365
using MMX instructions
366
- improved speed of modular multiplication, SHA-512, Tiger, Salsa20,
367
and PANAMA cipher using SSE2 instructions
368
- optimized Camellia and added defense against timing attacks
369
- updated benchmarks code to show cycles per byte and to time key setup
370
- started using OpenMP for increased multi-core speed
371
- enabled optimization flags by default in GNUmakefile
372
- changed PANAMA cipher interface to accept 256-bit key and 256-bit IV
373
- added blinding and error checking for RW private key operation
374
- moved MD2, MD4, MD5, PanamaHash, ARC4, WAKE_CFB into the namespace "Weak"
375
- removed HAVAL, MD5-MAC, XMAC
360
377
Written by Wei Dai