Overview of Crypto++ Cryptographic Algorithms
masterCrypto++ is a comprehensive C++ class library providing a wide range of cryptographic schemes. Supported algorithms include:
- Authenticated Encryption: GCM, CCM, EAX, ChaCha20Poly1305, XChaCha20Poly1305.
- Stream Ciphers: ChaCha (8/12/20, IETF), Panama, Salsa20, Sosemanuk, XSalsa20, XChaCha20.
- Block Ciphers: AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256, ARIA, Blowfish, Camellia, CHAM, HIGHT, IDEA, Kalyna, LEA, SEED, RC5, SHACAL-2, SIMON, Skipjack, SPECK, Simeck, SM4, Threefish, Triple-DES, TEA, XTEA.
- Block Cipher Modes: ECB, CBC, CBC-CTS, CFB, OFB, CTR, XTS.
- MACs: BLAKE2s, BLAKE2b, CMAC, CBC-MAC, DMAC, GMAC, HMAC, Poly1305, SipHash, Two-Track-MAC, VMAC.
- Hash Functions: SHA-1, SHA-2 (224/256/384/512), SHA-3 (224/256/384/512), SHAKE (128/256), SipHash, SM3, Tiger, RIPEMD, WHIRLPOOL, BLAKE2s, BLAKE2b, Keccack.
- Public-Key Cryptography: RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, ECGDSA, DLIES, ESIGN.
- Key Agreement: Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), MQV, HMQV, FHMQV, LUCDIF, XTR-DH.
- Elliptic Curve (ECC): ECDSA, ed25519, ECNR, ECIES, ECDH, ECMQV, x25519.
- Key Derivation (KDF): PBKDF1, PBKDF2, PBKDF (PKCS #12), HKDF, Scrypt.