Botan 3.9.0
Crypto and TLS for C&
|
#include <tls_algos.h>
Public Member Functions | |
constexpr Group_Params_Code | code () const |
constexpr | Group_Params () |
constexpr | Group_Params (Group_Params_Code code) |
constexpr | Group_Params (uint16_t code) |
bool | is_available () const |
constexpr bool | is_dh_named_group () const |
constexpr bool | is_ecdh_named_curve () const |
constexpr bool | is_in_ffdhe_range () const |
constexpr bool | is_kem () const |
constexpr bool | is_post_quantum () const |
constexpr bool | is_pqc_hybrid () const |
constexpr bool | is_pqc_hybrid_frodokem () const |
constexpr bool | is_pqc_hybrid_ml_kem () const |
constexpr bool | is_pure_ecc_group () const |
constexpr bool | is_pure_frodokem () const |
constexpr bool | is_pure_ml_kem () const |
constexpr bool | is_x25519 () const |
constexpr bool | is_x448 () const |
constexpr bool | operator< (Group_Params other) const |
constexpr bool | operator== (Group_Params other) const |
constexpr bool | operator== (Group_Params_Code code) const |
std::optional< Group_Params_Code > | pqc_hybrid_ecc () const |
std::optional< std::string > | to_string () const |
constexpr uint16_t | wire_code () const |
Static Public Member Functions | |
static std::optional< Group_Params > | from_string (std::string_view group_name) |
Definition at line 140 of file tls_algos.h.
|
inlineconstexpr |
Definition at line 144 of file tls_algos.h.
References Botan::TLS::NONE.
Referenced by operator<(), and operator==().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 163 of file tls_algos.h.
Referenced by Group_Params(), Group_Params(), and operator==().
|
static |
Definition at line 208 of file tls_algos.cpp.
Referenced by Botan::TLS::Text_Policy::read_group_list().
bool Botan::TLS::Group_Params::is_available | ( | ) | const |
Returns false if this group/KEX is not available in the build configuration
Definition at line 137 of file tls_algos.cpp.
References is_in_ffdhe_range(), is_pqc_hybrid(), is_pqc_hybrid_frodokem(), is_pqc_hybrid_ml_kem(), is_pure_frodokem(), is_pure_ml_kem(), is_x25519(), is_x448(), pqc_hybrid_ecc(), Botan::TLS::X25519, and Botan::TLS::X448.
Referenced by Botan::TLS::Text_Policy::read_group_list().
|
inlineconstexpr |
Definition at line 187 of file tls_algos.h.
References Botan::TLS::FFDHE_2048, Botan::TLS::FFDHE_3072, Botan::TLS::FFDHE_4096, Botan::TLS::FFDHE_6144, and Botan::TLS::FFDHE_8192.
|
inlineconstexpr |
Definition at line 176 of file tls_algos.h.
References Botan::TLS::BRAINPOOL256R1, Botan::TLS::BRAINPOOL384R1, Botan::TLS::BRAINPOOL512R1, Botan::TLS::SECP256R1, Botan::TLS::SECP384R1, and Botan::TLS::SECP521R1.
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), and is_pure_ecc_group().
|
inlineconstexpr |
Definition at line 182 of file tls_algos.h.
References wire_code().
Referenced by is_available().
|
inlineconstexpr |
Definition at line 239 of file tls_algos.h.
References BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS, BOTAN_DIAGNOSTIC_POP, BOTAN_DIAGNOSTIC_PUSH, is_pqc_hybrid(), is_pure_frodokem(), and is_pure_ml_kem().
Referenced by Botan::TLS::Callbacks::tls_kem_decapsulate(), and Botan::TLS::Callbacks::tls_kem_encapsulate().
|
inlineconstexpr |
Definition at line 209 of file tls_algos.h.
References BOTAN_DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS, BOTAN_DIAGNOSTIC_POP, BOTAN_DIAGNOSTIC_PUSH, is_pqc_hybrid(), is_pure_frodokem(), and is_pure_ml_kem().
|
inlineconstexpr |
Definition at line 237 of file tls_algos.h.
References is_pqc_hybrid_frodokem(), and is_pqc_hybrid_ml_kem().
Referenced by is_available(), is_kem(), is_post_quantum(), and Botan::TLS::Callbacks::tls_kem_generate_key().
|
inlineconstexpr |
Definition at line 224 of file tls_algos.h.
References Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS, Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS, Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS, Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS, Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS, Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS, Botan::TLS::HYBRID_X25519_eFRODOKEM_640_AES_OQS, Botan::TLS::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS, Botan::TLS::HYBRID_X448_eFRODOKEM_976_AES_OQS, and Botan::TLS::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS.
Referenced by is_available(), and is_pqc_hybrid().
|
inlineconstexpr |
Definition at line 218 of file tls_algos.h.
References Botan::TLS::HYBRID_SECP256R1_ML_KEM_768, Botan::TLS::HYBRID_SECP384R1_ML_KEM_1024, and Botan::TLS::HYBRID_X25519_ML_KEM_768.
Referenced by is_available(), and is_pqc_hybrid().
|
inlineconstexpr |
Definition at line 207 of file tls_algos.h.
References is_ecdh_named_curve(), is_x25519(), and is_x448().
|
inlineconstexpr |
Definition at line 198 of file tls_algos.h.
References Botan::TLS::eFRODOKEM_1344_AES_OQS, Botan::TLS::eFRODOKEM_1344_SHAKE_OQS, Botan::TLS::eFRODOKEM_640_AES_OQS, Botan::TLS::eFRODOKEM_640_SHAKE_OQS, Botan::TLS::eFRODOKEM_976_AES_OQS, and Botan::TLS::eFRODOKEM_976_SHAKE_OQS.
Referenced by is_available(), is_kem(), is_post_quantum(), and Botan::TLS::Callbacks::tls_kem_generate_key().
|
inlineconstexpr |
Definition at line 193 of file tls_algos.h.
References Botan::TLS::ML_KEM_1024, Botan::TLS::ML_KEM_512, and Botan::TLS::ML_KEM_768.
Referenced by is_available(), is_kem(), is_post_quantum(), and Botan::TLS::Callbacks::tls_kem_generate_key().
|
inlineconstexpr |
Definition at line 172 of file tls_algos.h.
References Botan::TLS::X25519.
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), is_available(), and is_pure_ecc_group().
|
inlineconstexpr |
Definition at line 174 of file tls_algos.h.
References Botan::TLS::X448.
Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), is_available(), and is_pure_ecc_group().
|
inlineconstexpr |
Definition at line 161 of file tls_algos.h.
References Group_Params().
|
inlineconstexpr |
Definition at line 159 of file tls_algos.h.
References Group_Params().
|
inlineconstexpr |
std::optional< Group_Params_Code > Botan::TLS::Group_Params::pqc_hybrid_ecc | ( | ) | const |
Definition at line 177 of file tls_algos.cpp.
References Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS, Botan::TLS::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS, Botan::TLS::HYBRID_SECP256R1_ML_KEM_768, Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS, Botan::TLS::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS, Botan::TLS::HYBRID_SECP384R1_ML_KEM_1024, Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS, Botan::TLS::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS, Botan::TLS::HYBRID_X25519_eFRODOKEM_640_AES_OQS, Botan::TLS::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS, Botan::TLS::HYBRID_X25519_ML_KEM_768, Botan::TLS::HYBRID_X448_eFRODOKEM_976_AES_OQS, Botan::TLS::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS, Botan::TLS::SECP256R1, Botan::TLS::SECP384R1, Botan::TLS::SECP521R1, Botan::TLS::X25519, and Botan::TLS::X448.
Referenced by is_available().
std::optional< std::string > Botan::TLS::Group_Params::to_string | ( | ) | const |
Definition at line 326 of file tls_algos.cpp.
Referenced by Botan::TLS::Callbacks::tls_kem_generate_key().
|
inlineconstexpr |
Definition at line 165 of file tls_algos.h.
Referenced by is_in_ffdhe_range(), and Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().