Botan 3.9.0
Crypto and TLS for C&
tls_algos.h File Reference

Public Header. More...

#include <botan/asn1_obj.h>
#include <botan/pk_keys.h>
#include <botan/types.h>
#include <optional>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  Botan::TLS::Group_Params

Namespaces

namespace  Botan
namespace  Botan::TLS

Enumerations

enum class  Botan::TLS::Auth_Method : uint32_t { Botan::TLS::RSA = 0 , Botan::TLS::ECDSA = 1 , Botan::TLS::UNDEFINED = 2 , Botan::TLS::IMPLICIT = 0x10000 }
enum class  Botan::TLS::Cipher_Algo : uint8_t {
  Botan::TLS::CHACHA20_POLY1305 , Botan::TLS::AES_128_GCM , Botan::TLS::AES_256_GCM , Botan::TLS::AES_256_OCB ,
  Botan::TLS::CAMELLIA_128_GCM , Botan::TLS::CAMELLIA_256_GCM , Botan::TLS::ARIA_128_GCM , Botan::TLS::ARIA_256_GCM ,
  Botan::TLS::AES_128_CCM , Botan::TLS::AES_256_CCM , Botan::TLS::AES_128_CCM_8 , Botan::TLS::AES_256_CCM_8 ,
  Botan::TLS::AES_128_CBC_HMAC_SHA1 , Botan::TLS::AES_128_CBC_HMAC_SHA256 , Botan::TLS::AES_256_CBC_HMAC_SHA1 , Botan::TLS::AES_256_CBC_HMAC_SHA256 ,
  Botan::TLS::AES_256_CBC_HMAC_SHA384 , Botan::TLS::DES_EDE_CBC_HMAC_SHA1
}
enum class  Botan::TLS::Group_Params_Code : uint16_t {
  Botan::TLS::NONE = 0 , Botan::TLS::SECP256R1 = 23 , Botan::TLS::SECP384R1 = 24 , Botan::TLS::SECP521R1 = 25 ,
  Botan::TLS::BRAINPOOL256R1 = 26 , Botan::TLS::BRAINPOOL384R1 = 27 , Botan::TLS::BRAINPOOL512R1 = 28 , Botan::TLS::X25519 = 29 ,
  Botan::TLS::X448 = 30 , Botan::TLS::FFDHE_2048 = 256 , Botan::TLS::FFDHE_3072 = 257 , Botan::TLS::FFDHE_4096 = 258 ,
  Botan::TLS::FFDHE_6144 = 259 , Botan::TLS::FFDHE_8192 = 260 , Botan::TLS::ML_KEM_512 = 0x0200 , Botan::TLS::ML_KEM_768 = 0x0201 ,
  Botan::TLS::ML_KEM_1024 = 0x0202 , Botan::TLS::eFRODOKEM_640_SHAKE_OQS = 0xFE03 , Botan::TLS::eFRODOKEM_976_SHAKE_OQS = 0xFE09 , Botan::TLS::eFRODOKEM_1344_SHAKE_OQS = 0xFE0E ,
  Botan::TLS::eFRODOKEM_640_AES_OQS = 0xFE00 , Botan::TLS::eFRODOKEM_976_AES_OQS = 0xFE06 , Botan::TLS::eFRODOKEM_1344_AES_OQS = 0xFE0C , Botan::TLS::HYBRID_SECP256R1_ML_KEM_768 = 0x11EB ,
  Botan::TLS::HYBRID_SECP384R1_ML_KEM_1024 = 0x11ED , Botan::TLS::HYBRID_X25519_ML_KEM_768 = 0x11EC , Botan::TLS::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS = 0xFE05 , Botan::TLS::HYBRID_X25519_eFRODOKEM_640_AES_OQS = 0xFE02 ,
  Botan::TLS::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS = 0xFE0B , Botan::TLS::HYBRID_X448_eFRODOKEM_976_AES_OQS = 0xFE08 , Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS = 0xFE04 , Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS = 0xFE01 ,
  Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS = 0xFE0A , Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS = 0xFE07 , Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS = 0xFE0F , Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS = 0xFE0D
}
enum class  Botan::TLS::KDF_Algo : uint8_t { Botan::TLS::SHA_1 , Botan::TLS::SHA_256 , Botan::TLS::SHA_384 }
enum class  Botan::TLS::Kex_Algo : uint8_t {
  Botan::TLS::STATIC_RSA , Botan::TLS::DH , Botan::TLS::ECDH , Botan::TLS::PSK ,
  Botan::TLS::ECDHE_PSK , Botan::TLS::DHE_PSK , Botan::TLS::KEM , Botan::TLS::KEM_PSK ,
  Botan::TLS::HYBRID , Botan::TLS::HYBRID_PSK , Botan::TLS::UNDEFINED
}
enum class  Botan::TLS::Nonce_Format : uint8_t { Botan::TLS::CBC_MODE , Botan::TLS::AEAD_IMPLICIT_4 , Botan::TLS::AEAD_XOR_12 , Botan::TLS::NULL_CIPHER }

Functions

Auth_Method Botan::TLS::auth_method_from_string (std::string_view str)
std::string Botan::TLS::auth_method_to_string (Auth_Method method)
std::string Botan::TLS::kdf_algo_to_string (KDF_Algo algo)
Kex_Algo Botan::TLS::kex_method_from_string (std::string_view str)
std::string Botan::TLS::kex_method_to_string (Kex_Algo method)
bool Botan::TLS::key_exchange_is_psk (Kex_Algo m)

Detailed Description

Public Header.

Definition in file tls_algos.h.