- Abstract Base Classes
- cryptlib.h
- Authenticated Encryption Modes
- CCM, EAX, GCM (2K tables), GCM (64K tables)
- Block Ciphers
- AES, Weak::ARC4, Blowfish, BTEA, Camellia, CAST128, CAST256, DES, 2-key Triple-DES, 3-key Triple-DES, DESX, GOST, IDEA, Luby-Rackoff, MARS, RC2, RC5, RC6, SAFER-K, SAFER-SK, SEED, Serpent, SHACAL-2, SHARK, SKIPJACK, Square, TEA, 3-Way, Twofish, XTEA
- Stream Ciphers
- ChaCha8, ChaCha12, ChaCha20, Panama-LE, Panama-BE, Salsa20, SEAL-LE, SEAL-BE, WAKE, XSalsa20
- Hash Functions
- BLAKE2s, BLAKE2b, Keccak (F1600), SHA1, SHA224, SHA256, SHA384, SHA512, SHA-3, Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak::MD2, Weak::MD4, Weak::MD5
- Non-Cryptographic Checksums
- CRC32, Adler32
- Message Authentication Codes
- VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, GCM (GMAC), BLAKE2 (BLAKE2b and BLAKE2s), Poly1305
- Random Number Generators
- NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, MersenneTwister (MT19937 and MT19937-AR), RDRAND, RDSEED
- Key Derivation and Password-based Cryptography
- HKDF, PBKDF (PKCS #12), PBKDF-1 (PKCS #5), PBKDF-2/HMAC (PKCS #5)
- Public Key Cryptosystems
- DLIES, ECIES, LUCES, RSAES, RabinES, LUC_IES
- Public Key Signature Schemes
- DSA2, GDSA, ECDSA, NR, ECNR, LUCSS, RSASS, RSASS_ISO, RabinSS, RWSS, ESIGN
- Key Agreement
- DH, DH2, MQV, HMQV, FHMQV, ECDH, ECMQV, ECHMQV, ECFHMQV, XTR_DH
- Algebraic Structures
- Integer, PolynomialMod2, PolynomialOver, RingOfPolynomialsOver, ModularArithmetic, MontgomeryRepresentation, GFP2_ONB, GF2NP, GF256, GF2_32, EC2N, ECP
- Secret Sharing and Information Dispersal
- SecretSharing, SecretRecovery, InformationDispersal, InformationRecovery
- Compression
- Deflator, Inflator, Gzip, Gunzip, ZlibCompressor, ZlibDecompressor
- Input Source Classes
- StringSource, ArraySource, FileSource, SocketSource, WindowsPipeSource, RandomNumberSource
- Output Sink Classes
- StringSinkTemplate, StringSink, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink
- Filter Wrappers
- StreamTransformationFilter, AuthenticatedEncryptionFilter, AuthenticatedDecryptionFilter, HashFilter, HashVerificationFilter, SignerFilter, SignatureVerificationFilter
- Binary to Text Encoders and Decoders
- HexEncoder, HexDecoder, Base64Encoder, Base64Decoder, Base64URLEncoder, Base64URLDecoder, Base32Encoder, Base32Decoder
- Wrappers for OS features
- Timer, Socket, WindowsHandle, ThreadLocalStorage, ThreadUserTimer
- FIPS 140 validated cryptography
- fips140.h
In the DLL version of Crypto++, only the following implementation class are available.
- Block Ciphers
- AES, 2-key Triple-DES, 3-key Triple-DES, SKIPJACK
- Cipher Modes (replace template parameter BC with one of the block ciphers above)
- ECB_Mode<BC>, CTR_Mode<BC>, CBC_Mode<BC>, CFB_FIPS_Mode<BC>, OFB_Mode<BC>, GCM<AES>
- Hash Functions
- SHA1, SHA224, SHA256, SHA384, SHA512
- Public Key Signature Schemes (replace template parameter H with one of the hash functions above)
- RSASS<PKCS1v15, H>, RSASS<PSS, H>, RSASS_ISO<H>, RWSS<P1363_EMSA2, H>, DSA, ECDSA<ECP, H>, ECDSA<EC2N, H>
- Message Authentication Codes (replace template parameter H with one of the hash functions above)
- HMAC<H>, CBC_MAC<DES_EDE2>, CBC_MAC<DES_EDE3>, GCM<AES>
- Random Number Generators
- DefaultAutoSeededRNG (AutoSeededX917RNG<AES>)
- Key Agreement
- DH, DH2
- Public Key Cryptosystems
- RSAES<OAEP<SHA1> >
This reference manual is a work in progress. Some classes are lack detailed descriptions.
Click here to download a zip archive containing this manual.
Thanks to Ryan Phillips for providing the Doxygen configuration file and getting us started on the manual.