Botan 3.6.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
FrodoKEM, ML-KEM/Kyber, RSA
Public Key Signature Schemes
DSA, ML-DSA/Dilithium, ECDSA, ECGDSA, ECKCDSA, GOST 34.10-2001, HSS/LMS, SM2, SLH-DSA/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