Botan 3.6.1
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
 

Macros

#define BOTAN_TLS_KYBER_R3_DEPRECATED
 

Enumerations

enum class  Botan::TLS::Auth_Method { Botan::TLS::RSA , Botan::TLS::ECDSA , Botan::TLS::UNDEFINED , Botan::TLS::IMPLICIT = 0x10000 }
 
enum class  Botan::TLS::Cipher_Algo {
  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::KYBER_512_R3_OQS = 0x023A , Botan::TLS::KYBER_768_R3_OQS = 0x023C ,
  Botan::TLS::KYBER_1024_R3_OQS = 0x023D , Botan::TLS::eFRODOKEM_640_SHAKE_OQS = 0x0201 , Botan::TLS::eFRODOKEM_976_SHAKE_OQS = 0x0203 , Botan::TLS::eFRODOKEM_1344_SHAKE_OQS = 0x0205 ,
  Botan::TLS::eFRODOKEM_640_AES_OQS = 0x0200 , Botan::TLS::eFRODOKEM_976_AES_OQS = 0x0202 , Botan::TLS::eFRODOKEM_1344_AES_OQS = 0x0204 , Botan::TLS::HYBRID_X25519_KYBER_512_R3_CLOUDFLARE = 0xFE30 ,
  Botan::TLS::HYBRID_X25519_KYBER_512_R3_OQS = 0x2F39 , Botan::TLS::HYBRID_X25519_KYBER_768_R3_OQS = 0x6399 , Botan::TLS::HYBRID_SECP256R1_ML_KEM_768 = 0x11EB , Botan::TLS::HYBRID_X25519_ML_KEM_768 = 0x11EC ,
  Botan::TLS::HYBRID_X448_KYBER_768_R3_OQS = 0x2F90 , Botan::TLS::HYBRID_SECP256R1_KYBER_512_R3_OQS = 0x2F3A , Botan::TLS::HYBRID_SECP256R1_KYBER_768_R3_OQS = 0x639A , Botan::TLS::HYBRID_SECP384R1_KYBER_768_R3_OQS = 0x2F3C ,
  Botan::TLS::HYBRID_SECP521R1_KYBER_1024_R3_OQS = 0x2F3D , Botan::TLS::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS = 0x2F81 , Botan::TLS::HYBRID_X25519_eFRODOKEM_640_AES_OQS = 0x2F80 , Botan::TLS::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS = 0x2F83 ,
  Botan::TLS::HYBRID_X448_eFRODOKEM_976_AES_OQS = 0x2F82 , Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS = 0x2F01 , Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS = 0x2F00 , Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS = 0x2F03 ,
  Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS = 0x2F02 , Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS = 0x2F05 , Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS = 0x2F04
}
 
enum class  Botan::TLS::KDF_Algo { Botan::TLS::SHA_1 , Botan::TLS::SHA_256 , Botan::TLS::SHA_384 }
 
enum class  Botan::TLS::Kex_Algo {
  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 { Botan::TLS::CBC_MODE , Botan::TLS::AEAD_IMPLICIT_4 , Botan::TLS::AEAD_XOR_12 }
 

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.

Macro Definition Documentation

◆ BOTAN_TLS_KYBER_R3_DEPRECATED

#define BOTAN_TLS_KYBER_R3_DEPRECATED
Value:
"Kyber r3 TLS support will be removed completely in Botan 3.7.0 (early 2025) see https://github.com/randombit/botan/issues/4403")
#define BOTAN_DEPRECATED(msg)
Definition compiler.h:125

Definition at line 79 of file tls_algos.h.

79#define BOTAN_TLS_KYBER_R3_DEPRECATED \
80 BOTAN_DEPRECATED( \
81 "Kyber r3 TLS support will be removed completely in Botan 3.7.0 (early 2025) see https://github.com/randombit/botan/issues/4403")