Crypto++
Crypto++는 이름에서 짐작할수 있듯이 C++ 기반 암호화 라이브러리이다. 각종 대칭키 암호 알고리즘, 암호 모드, 메세지 인증, 해쉬 알고리즘, 공개키 알고리즘, 키 교환 알고리즘 등 매우 다양한 암복호화 방식을 제공한다.
Feature
The library contains the following algorithms:
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), SHA-3, 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 |
License
Crypto++ Library is copyrighted as a compilation and (as of version 5.6.2) licensed under the Boost Software License 1.0, while the individual files in the compilation are all public domain.