- 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 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>, 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
- 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.