Crypto++  5.6.5
Free C++ class library of cryptographic schemes
Crypto++ Library 5.6.5 API Reference
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.