# Crypto++ Library 5.6.0 API Reference

Abstract Base Classes
  cryptlib.h
Authenticated Encryption
  AuthenticatedSymmetricCipherDocumentation
Symmetric Ciphers
  SymmetricCipherDocumentation
Hash Functions
  SHA1, SHA224, SHA256, SHA384, SHA512, Tiger, Whirlpool, RIPEMD160, RIPEMD320, RIPEMD128, RIPEMD256, Weak1::MD2, Weak1::MD4, Weak1::MD5
Non-Cryptographic Checksums
  CRC32, Adler32
Message Authentication Codes
  VMAC, HMAC, CBC_MAC, CMAC, DMAC, TTMAC, GCM (GMAC)
Random Number Generators
  NullRNG(), LC_RNG, RandomPool, BlockingRng, NonblockingRng, AutoSeededRandomPool, AutoSeededX917RNG, DefaultAutoSeededRNG
Password-based Cryptography
  PasswordBasedKeyDerivationFunction
Public Key Cryptosystems
  DLIES, ECIES, LUCES, RSAES, RabinES, LUC_IES
Public Key Signature Schemes
  DSA, GDSA, ECDSA, NR, ECNR, LUCSS, RSASS, RSASS_ISO, RabinSS, RWSS, ESIGN
Key Agreement
  DH, DH2, MQV, ECDH, ECMQV, 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, ArraySink, FileSink, SocketSink, WindowsPipeSink, RandomNumberSink
Filter Wrappers
  StreamTransformationFilter, HashFilter, HashVerificationFilter, SignerFilter, SignatureVerificationFilter
Binary to Text Encoders and Decoders
  HexEncoder, HexDecoder, Base64Encoder, Base64Decoder, Base32Encoder, Base32Decoder
Wrappers for OS features
  Timer, Socket, WindowsHandle, ThreadLocalStorage, ThreadUserTimer
FIPS 140 related
  fips140.h

In the FIPS 140-2 validated DLL version of Crypto++, only the following implementation class are available.

Block Ciphers
  AES, DES_EDE2, DES_EDE3, 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>
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>
Random Number Generators
  DefaultAutoSeededRNG (AutoSeededX917RNG<AES>)
Key Agreement
  DH
Public Key Cryptosystems
  RSAES<OAEP<SHA1> >

This reference manual is a work in progress. Some classes are still lacking detailed descriptions.

Click here to download a zip archive containing this manual.

Thanks to Ryan Phillips for providing the Doxygen configuration file and getting me started with this manual.