/*
* A vague catch all include file for Botan
* (C) 1999-2007 Jack Lloyd
* (C) 2016 René Korthaus, Rohde & Schwarz Cybersecurity
*
* Botan is released under the Simplified BSD License (see license.txt)
*/
#ifndef BOTAN_BOTAN_H__
#define BOTAN_BOTAN_H__
namespace Botan {
/**
* @mainpage Botan Crypto Library API Reference
*
*
* - Abstract Base Classes
-
* BlockCipher, HashFunction, KDF, MessageAuthenticationCode, RandomNumberGenerator,
* PK_Key_Agreement, PK_Signer, PK_Verifier, StreamCipher, SymmetricAlgorithm
*
- Authenticated Encryption Modes
-
* @ref CCM_Mode "CCM", @ref ChaCha20Poly1305_Mode "ChaCha20Poly1305", @ref EAX_Mode "EAX",
* @ref GCM_Mode "GCM", @ref OCB_Mode "OCB", @ref SIV_Mode "SIV"
*
- Block Ciphers
-
* @ref aes.h "AES", @ref Blowfish, @ref camellia.h "Camellia", @ref Cascade_Cipher "Cascade",
* @ref CAST_128 "CAST-128", @ref CAST_128 "CAST-256", DES, @ref DESX "DES-X", @ref TripleDES "3DES",
* @ref GOST_28147_89 "GOST 28147-89", IDEA, KASUMI, Lion, MISTY1, Noekeon, SEED, Serpent,
* @ref Threefish_512 "Threefish", Twofish, XTEA
*
- Stream Ciphers
-
* ChaCha, @ref CTR_BE "CTR", OFB, RC4, Salsa20
*
- Hash Functions
-
* Blake2b, @ref GOST_34_11 "GOST 34.11", @ref Keccak_1600 "Keccak", MD4, MD5, @ref RIPEMD_160 "RIPEMD-160",
* @ref SHA_160 "SHA-1", @ref SHA_224 "SHA-224", @ref SHA_256 "SHA-256", @ref SHA_384 "SHA-384",
* @ref SHA_512 "SHA-512", @ref Skein_512 "Skein-512", Tiger, Whirlpool
*
- Non-Cryptographic Checksums
-
* Adler32, CRC24, CRC32
*
- Message Authentication Codes
-
* @ref CBC_MAC "CBC-MAC", CMAC, HMAC, Poly1305, SipHash, ANSI_X919_MAC
*
- Random Number Generators
-
* AutoSeeded_RNG, HMAC_DRBG, HMAC_RNG, RDRAND_RNG, System_RNG, ANSI_X931_RNG
*
- Key Derivation
-
* HKDF, @ref KDF1 "KDF1 (IEEE 1363)", @ref KDF1_18033 "KDF1 (ISO 18033-2)", @ref KDF2 "KDF2 (IEEE 1363)",
* @ref sp800_108.h "SP800-108", @ref SP800_56C "SP800-56C", @ref PKCS5_PBKDF1 "PBKDF1 (PKCS#5),
* @ref PKCS5_PBKDF2 "PBKDF2 (PKCS#5)"
*
- Password Hashing
-
* @ref bcrypt.h "bcrypt", @ref passhash9.h "passhash9"
*
- Public Key Cryptosystems
-
* @ref dlies.h "DLIES", @ref ecies.h "ECIES", @ref elgamal.h "ElGamal", @ref mceies.h "MCEIES",
* @ref rsa.h "RSA"
*
- Public Key Signature Schemes
-
* @ref dsa.h "DSA", @ref ecdsa.h "ECDSA", @ref ecgdsa.h "ECGDSA", @ref eckcdsa.h "ECKCDSA",
* @ref gost_3410.h "GOST 34.10-2001", @ref mceliece.h "McEliece"
*
- Key Agreement
-
* @ref dh.h "DH", @ref ecdh.h "ECDH"
*
- Compression
-
* @ref bzip2.h "bzip2", @ref lzma.h "lzma", @ref zlib.h "zlib"
*
- TLS
-
* TLS::Client, TLS::Server, TLS::Policy, TLS::Protocol_Version, TLS::Callbacks, TLS::Ciphersuite,
* TLS::Session, 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
*
*/
}
#include
#include
#include
#include
#if defined(BOTAN_HAS_AUTO_SEEDING_RNG)
#include
#endif
#endif