Botan 3.4.0
Crypto and TLS for C&
|
#include <dilithium_symmetric_primitives.h>
Public Member Functions | |
size_t | beta () const |
secure_vector< uint8_t > | CRH (const std::span< const uint8_t > in) const |
size_t | crypto_bytes () const |
DilithiumModeConstants (const DilithiumModeConstants &other) | |
DilithiumModeConstants (DilithiumMode dimension) | |
DilithiumModeConstants (DilithiumModeConstants &&other)=default | |
DilithiumEta | eta () const |
secure_vector< uint8_t > | ExpandMask (const secure_vector< uint8_t > &seed, uint16_t nonce) const |
size_t | gamma1 () const |
size_t | gamma2 () const |
decltype(auto) | H (std::span< const uint8_t > seed, size_t out_len) const |
uint8_t | k () const |
uint8_t | l () const |
DilithiumMode | mode () const |
size_t | nist_security_strength () const |
OID | oid () const |
size_t | omega () const |
DilithiumModeConstants & | operator= (const DilithiumModeConstants &other)=delete |
DilithiumModeConstants & | operator= (DilithiumModeConstants &&other)=default |
size_t | poly_uniform_eta_nblocks () const |
size_t | poly_uniform_gamma1_nblocks () const |
size_t | poly_uniform_nblocks () const |
size_t | polyeta_packedbytes () const |
size_t | polyw1_packedbytes () const |
size_t | polyz_packedbytes () const |
size_t | private_key_bytes () const |
size_t | public_key_bytes () const |
size_t | stream128_blockbytes () const |
size_t | stream256_blockbytes () const |
size_t | tau () const |
std::unique_ptr< Botan::XOF > | XOF_128 (std::span< const uint8_t > seed, uint16_t nonce) const |
std::unique_ptr< Botan::XOF > | XOF_256 (std::span< const uint8_t > seed, uint16_t nonce) const |
Static Public Attributes | |
static constexpr int32_t | AES256CTR_BLOCKBYTES = 64 |
static constexpr int32_t | CRHBYTES = 64 |
static constexpr int32_t | D = 13 |
static constexpr int32_t | kSerializedPolynomialByteLength = DilithiumModeConstants::N / 2 * 3 |
static constexpr int32_t | N = 256 |
static constexpr int32_t | POLYT0_PACKEDBYTES = 416 |
static constexpr int32_t | POLYT1_PACKEDBYTES = 320 |
static constexpr int32_t | Q = 8380417 |
static constexpr int32_t | QINV = 58728449 |
static constexpr int32_t | ROOT_OF_UNITY = 1753 |
static constexpr int32_t | SEEDBYTES = 32 |
static constexpr int32_t | SHA3_256_RATE = 136 |
static constexpr int32_t | SHA3_512_RATE = 72 |
static constexpr int32_t | SHAKE128_RATE = 168 |
static constexpr int32_t | SHAKE256_RATE = 136 |
static constexpr int32_t | ZETAS [DilithiumModeConstants::N] |
Definition at line 59 of file dilithium_symmetric_primitives.h.
Botan::DilithiumModeConstants::DilithiumModeConstants | ( | DilithiumMode | dimension | ) |
Definition at line 38 of file dilithium_symmetric_primitives.cpp.
References AES256CTR_BLOCKBYTES, BOTAN_ASSERT_NOMSG, Botan::DilithiumMode::Dilithium4x4, Botan::DilithiumMode::Dilithium4x4_AES, Botan::DilithiumMode::Dilithium6x5, Botan::DilithiumMode::Dilithium6x5_AES, Botan::DilithiumMode::Dilithium8x7, Botan::DilithiumMode::Dilithium8x7_AES, Botan::Eta2, Botan::Eta4, Botan::DilithiumMode::is_modern(), Botan::DilithiumMode::mode(), mode(), POLYT0_PACKEDBYTES, POLYT1_PACKEDBYTES, Q, SEEDBYTES, SHAKE128_RATE, and SHAKE256_RATE.
|
inline |
Definition at line 104 of file dilithium_symmetric_primitives.h.
|
default |
|
inline |
Definition at line 135 of file dilithium_symmetric_primitives.h.
|
inline |
Definition at line 160 of file dilithium_symmetric_primitives.h.
References CRHBYTES.
|
inline |
Definition at line 145 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::unpack_sig().
|
inline |
Definition at line 115 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::polyeta_pack(), Botan::Dilithium::Polynomial::polyeta_unpack(), and Botan::Dilithium::Polynomial::rej_eta().
|
inline |
Definition at line 172 of file dilithium_symmetric_primitives.h.
References poly_uniform_gamma1_nblocks(), and stream256_blockbytes().
Referenced by Botan::Dilithium::Polynomial::poly_uniform_gamma1().
|
inline |
Definition at line 133 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::polyz_pack(), and Botan::Dilithium::Polynomial::polyz_unpack().
|
inline |
Definition at line 131 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::decompose(), Botan::Dilithium::Polynomial::make_hint(), Botan::Dilithium::Polynomial::polyw1_pack(), and Botan::Dilithium::Polynomial::use_hint().
|
inline |
Definition at line 156 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PrivateKey::Dilithium_PrivateKey().
|
inline |
Definition at line 111 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PrivateKey::Dilithium_PrivateKey(), Botan::Dilithium::PolynomialMatrix::generate_matrix(), Botan::Dilithium::PolynomialVector::generate_polyvec_matrix_pointwise_montgomery(), Botan::Dilithium::PolynomialVector::polyvec_decompose(), Botan::Dilithium::PolynomialVector::unpack_sig(), Botan::Dilithium::PolynomialVector::unpack_t0(), and Botan::Dilithium::PolynomialVector::unpack_t1().
|
inline |
Definition at line 113 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PrivateKey::Dilithium_PrivateKey(), Botan::Dilithium::PolynomialMatrix::generate_matrix(), Botan::Dilithium::PolynomialVector::polyvec_unpack_z(), Botan::Dilithium::PolynomialVector::polyvecl_uniform_gamma1(), and Botan::Dilithium::PolynomialVector::unpack_sig().
|
inline |
Definition at line 149 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants().
|
inline |
Definition at line 153 of file dilithium_symmetric_primitives.h.
|
inline |
Definition at line 147 of file dilithium_symmetric_primitives.h.
References Botan::DilithiumMode::object_identifier().
|
inline |
Definition at line 127 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::unpack_sig().
|
delete |
|
default |
|
inline |
Definition at line 137 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::fill_poly_uniform_eta().
|
inline |
Definition at line 119 of file dilithium_symmetric_primitives.h.
Referenced by ExpandMask().
|
inline |
Definition at line 139 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::poly_uniform().
|
inline |
Definition at line 141 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::polyvec_pack_eta(), and Botan::Dilithium::PolynomialVector::unpack_eta().
|
inline |
Definition at line 125 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::polyvec_pack_w1().
|
inline |
Definition at line 129 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::polyvec_unpack_z(), and Botan::Dilithium::PolynomialVector::unpack_sig().
|
inline |
Definition at line 151 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PrivateKey::Dilithium_PrivateKey().
|
inline |
Definition at line 143 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PublicKey::Dilithium_PublicKey().
|
inline |
Definition at line 123 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::PolynomialVector::poly_uniform().
|
inline |
Definition at line 121 of file dilithium_symmetric_primitives.h.
Referenced by ExpandMask(), and Botan::Dilithium::Polynomial::fill_poly_uniform_eta().
|
inline |
Definition at line 117 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::poly_challenge().
|
inline |
Definition at line 164 of file dilithium_symmetric_primitives.h.
References Botan::Dilithium_Symmetric_Primitives::k128.
Referenced by Botan::Dilithium::PolynomialVector::poly_uniform().
|
inline |
Definition at line 168 of file dilithium_symmetric_primitives.h.
References Botan::Dilithium_Symmetric_Primitives::k256.
Referenced by Botan::Dilithium::Polynomial::fill_poly_uniform_eta().
|
staticconstexpr |
Definition at line 73 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants().
|
staticconstexpr |
Definition at line 62 of file dilithium_symmetric_primitives.h.
Referenced by CRH(), Botan::Dilithium_PrivateKey::Dilithium_PrivateKey(), and Botan::Dilithium::Polynomial::fill_poly_uniform_eta().
|
staticconstexpr |
Definition at line 65 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::poly_shiftl(), Botan::Dilithium::Polynomial::polyt0_pack(), Botan::Dilithium::Polynomial::polyt0_unpack(), and Botan::Dilithium::Polynomial::power2round().
|
staticconstexpr |
Definition at line 100 of file dilithium_symmetric_primitives.h.
|
staticconstexpr |
Definition at line 63 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::fill_poly_uniform_eta(), Botan::Dilithium::Polynomial::fill_polys_power2round(), Botan::Dilithium::Polynomial::generate_hint_polynomial(), Botan::Dilithium::Polynomial::invntt_tomont(), Botan::Dilithium::Polynomial::ntt(), Botan::Dilithium::Polynomial::poly_challenge(), Botan::Dilithium::Polynomial::poly_decompose(), Botan::Dilithium::Polynomial::poly_pointwise_montgomery(), Botan::Dilithium::PolynomialVector::poly_uniform(), Botan::Dilithium::Polynomial::poly_use_hint(), Botan::Dilithium::Polynomial::polyeta_pack(), Botan::Dilithium::Polynomial::polyeta_unpack(), Botan::Dilithium::Polynomial::polyt0_pack(), Botan::Dilithium::Polynomial::polyt0_unpack(), Botan::Dilithium::Polynomial::polyt1_pack(), Botan::Dilithium::Polynomial::polyt1_unpack(), Botan::Dilithium::Polynomial::polyw1_pack(), Botan::Dilithium::Polynomial::polyz_pack(), Botan::Dilithium::Polynomial::polyz_unpack(), and Botan::Dilithium::PolynomialVector::unpack_sig().
|
staticconstexpr |
Definition at line 68 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants(), Botan::Dilithium::PolynomialVector::polyvec_pack_t0(), and Botan::Dilithium::PolynomialVector::unpack_t0().
|
staticconstexpr |
Definition at line 67 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants(), Botan::Dilithium::PolynomialVector::polyvec_pack_t1(), and Botan::Dilithium::PolynomialVector::unpack_t1().
|
staticconstexpr |
Definition at line 64 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::cadd_q(), Botan::Dilithium::Polynomial::decompose(), DilithiumModeConstants(), Botan::Dilithium::Polynomial::make_hint(), Botan::Dilithium::Polynomial::montgomery_reduce(), Botan::Dilithium::Polynomial::poly_chknorm(), Botan::Dilithium::Polynomial::poly_reduce(), Botan::Dilithium::Polynomial::polyw1_pack(), Botan::Dilithium::Polynomial::rej_uniform(), and Botan::Dilithium::Polynomial::use_hint().
|
staticconstexpr |
Definition at line 74 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::montgomery_reduce().
|
staticconstexpr |
Definition at line 66 of file dilithium_symmetric_primitives.h.
|
staticconstexpr |
Definition at line 61 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium_PrivateKey::Dilithium_PrivateKey(), DilithiumModeConstants(), Botan::Dilithium::PolynomialMatrix::generate_matrix(), Botan::Dilithium::Polynomial::poly_challenge(), and Botan::Dilithium::PolynomialVector::unpack_sig().
|
staticconstexpr |
Definition at line 71 of file dilithium_symmetric_primitives.h.
|
staticconstexpr |
Definition at line 72 of file dilithium_symmetric_primitives.h.
|
staticconstexpr |
Definition at line 69 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants().
|
staticconstexpr |
Definition at line 70 of file dilithium_symmetric_primitives.h.
Referenced by DilithiumModeConstants(), and Botan::Dilithium::Polynomial::poly_challenge().
|
staticconstexpr |
Definition at line 75 of file dilithium_symmetric_primitives.h.
Referenced by Botan::Dilithium::Polynomial::invntt_tomont(), and Botan::Dilithium::Polynomial::ntt().