Botan 3.3.0
Crypto and TLS for C&
Botan Crypto Library API Reference
Abstract Base Classes
BlockCipher, HashFunction, KDF, MessageAuthenticationCode, RandomNumberGenerator, StreamCipher, SymmetricAlgorithm, AEAD_Mode, Cipher_Mode, XOF
Public Key Interface Classes
PK_Key_Agreement, PK_Signer, PK_Verifier, PK_Encryptor, PK_Decryptor, PK_KEM_Encryptor, PK_KEM_Decryptor
Authenticated Encryption Modes
CCM, ChaCha20Poly1305, EAX, GCM, OCB, SIV
Block Ciphers
ARIA, AES, Blowfish, Camellia, Cascade, CAST-128, CAST_128 DES, 3DES, GOST 28147-89, IDEA, Kuznyechik, Lion, Noekeon, SEED, Serpent, SHACAL2, SM4, Threefish, Twofish
Stream Ciphers
ChaCha, CTR, OFB, RC4, Salsa20
Hash Functions
BLAKE2b, GOST 34.11, Keccak, MD4, MD5, RIPEMD-160, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Skein-512, SM3, Streebog, Whirlpool
Non-Cryptographic Checksums
Adler32, CRC24, CRC32
Message Authentication Codes
BLAKE2b, CMAC, HMAC, KMAC, Poly1305, SipHash, ANSI_X919_MAC
Random Number Generators
AutoSeeded_RNG, HMAC_DRBG, Processor_RNG, System_RNG
Key Derivation
HKDF, KDF1 (IEEE 1363), KDF1 (ISO 18033-2), KDF2 (IEEE 1363), SP800-108, SP800-56C, PBKDF2 (PKCS#5)
Password Hashing
Argon2, scrypt, bcrypt, passhash9
Public Key Cryptosystems
DLIES, ECIES, ElGamal, RSA, McEliece, SM2
Key Encapsulation Mechanisms
Kyber, RSA
Public Key Signature Schemes
DSA, Dilithium, ECDSA, ECGDSA, ECKCDSA, GOST 34.10-2001, SM2, SPHINCS+, XMSS
Key Agreement
DH, ECDH
Compression
bzip2, lzma, zlib
TLS
TLS::Client, TLS::Server, TLS::Policy, TLS::Protocol_Version, TLS::Callbacks, TLS::Ciphersuite, TLS::Session, TLS::Session_Summary, TLS::Session_Manager, Credentials_Manager
X.509
X509_Certificate, X509_CRL, X509_CA, Certificate_Extension, PKCS10_Request, X509_Cert_Options, Certificate_Store, Certificate_Store_In_SQL, Certificate_Store_In_SQLite
eXtendable Output Functions
SHAKE