C++加密庫 Crypto++
Crypto++ 是一個 C++ 的加密處理庫,支持如下算法:
algorithm type | name |
---|---|
authenticated encryption schemes | GCM, CCM, EAX |
high speed stream ciphers | Panama, Sosemanuk, Salsa20, XSalsa20 |
AES and AES candidates | AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256 |
other block ciphers | IDEA, Triple-DES (DES-EDE2 and DES-EDE3), Camellia, SEED, RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2 |
block cipher modes of operation | ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode (CTR) |
message authentication codes | VMAC, HMAC, GMAC (GCM), CMAC, CBC-MAC, DMAC, Two-Track-MAC |
hash functions | SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, and SHA-512), Tiger, WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320 |
public-key cryptography | RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of DHAES), ESIGN |
padding schemes for public-key systems | PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363 EMSA2 and EMSA5 |
key agreement schemes | Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH |
elliptic curve cryptography | ECDSA, ECNR, ECIES, ECDH, ECMQV |
insecure or obsolescent algorithms retained for backwards compatibility and historical value | MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL 3.0, WAKE-OFB, DESX (DES-XEX3), RC2, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square |
- pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool
- password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B
- Shamir's secret sharing scheme and Rabin's information dispersal algorithm (IDA)
- fast multi-precision integer (bignum) and polynomial operations
- finite field arithmetics, including GF(p) and GF(2^n)
- prime number generation and verification
- useful non-cryptographic algorithms
- class wrappers for these operating system features (optional):
- high resolution timers on Windows, Unix, and Mac OS
- Berkeley and Windows style sockets
- Windows named pipes
- /dev/random, /dev/urandom, /dev/srandom
- Microsoft's CryptGenRandom on Windows
- A high level interface for most of the above, using a filter/pipeline metaphor
- benchmarks and validation testing
- x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used algorithms, with run-time CPU feature detection and code selection
- supports GCC-style and MSVC-style inline assembly, and MASM for x64
- certain versions are available in FIPS 140-2 validated form
項目主頁:http://www.baiduhome.net/lib/view/home/1328022286718
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!