Botan 3.5.0
Crypto and TLS for C&
|
#include <kyber_symmetric_primitives.h>
Public Member Functions | |
std::pair< KyberSharedSecret, KyberEncryptionRandomness > | G (StrongSpan< const KyberMessage > msg, StrongSpan< const KyberHashedPublicKey > pubkey_hash) const |
std::pair< KyberSeedRho, KyberSeedSigma > | G (StrongSpan< const KyberSeedRandomness > seed) const |
KyberHashedCiphertext | H (StrongSpan< const KyberCompressedCiphertext > r) const |
KyberMessage | H (StrongSpan< const KyberMessage > m) const |
KyberHashedPublicKey | H (StrongSpan< const KyberSerializedPublicKey > pk) const |
void | KDF (StrongSpan< KyberSharedSecret > out, StrongSpan< const KyberSharedSecret > shared_secret, StrongSpan< const KyberHashedCiphertext > hashed_ciphertext) const |
KyberSamplingRandomness | PRF (KyberSigmaOrEncryptionRandomness seed, const uint8_t nonce, const size_t outlen) const |
std::unique_ptr< Botan::XOF > | XOF (StrongSpan< const KyberSeedRho > seed, std::tuple< uint8_t, uint8_t > matrix_position) const |
virtual | ~Kyber_Symmetric_Primitives ()=default |
Protected Member Functions | |
virtual HashFunction & | get_G () const =0 |
virtual HashFunction & | get_H () const =0 |
virtual HashFunction & | get_KDF () const =0 |
virtual Botan::XOF & | get_PRF (std::span< const uint8_t > seed, uint8_t nonce) const =0 |
virtual std::unique_ptr< Botan::XOF > | get_XOF (std::span< const uint8_t > seed, std::tuple< uint8_t, uint8_t > matrix_position) const =0 |
Adapter class that uses polymorphy to distinguish Kyber "modern" from Kyber "90s" modes.
Definition at line 32 of file kyber_symmetric_primitives.h.
|
virtualdefault |
|
inline |
Definition at line 52 of file kyber_symmetric_primitives.h.
|
inline |
Definition at line 48 of file kyber_symmetric_primitives.h.
|
protectedpure virtual |
Implemented in Botan::Kyber_90s_Symmetric_Primitives, and Botan::Kyber_Modern_Symmetric_Primitives.
|
protectedpure virtual |
Implemented in Botan::Kyber_90s_Symmetric_Primitives, and Botan::Kyber_Modern_Symmetric_Primitives.
|
protectedpure virtual |
Implemented in Botan::Kyber_90s_Symmetric_Primitives, and Botan::Kyber_Modern_Symmetric_Primitives.
Referenced by KDF().
|
protectedpure virtual |
Implemented in Botan::Kyber_90s_Symmetric_Primitives, and Botan::Kyber_Modern_Symmetric_Primitives.
Referenced by PRF().
|
protectedpure virtual |
Implemented in Botan::Kyber_90s_Symmetric_Primitives, and Botan::Kyber_Modern_Symmetric_Primitives.
Referenced by XOF().
|
inline |
Definition at line 40 of file kyber_symmetric_primitives.h.
References get_H(), and Botan::Buffered_Computation::process().
|
inline |
Definition at line 37 of file kyber_symmetric_primitives.h.
References get_H(), and Botan::Buffered_Computation::process().
|
inline |
Definition at line 44 of file kyber_symmetric_primitives.h.
References get_H(), and Botan::Buffered_Computation::process().
|
inline |
Definition at line 58 of file kyber_symmetric_primitives.h.
References get_KDF().
|
inline |
Definition at line 67 of file kyber_symmetric_primitives.h.
References get_PRF(), and Botan::XOF::output().
Referenced by Botan::Polynomial::getnoise_eta1(), and Botan::Polynomial::getnoise_eta2().
|
inline |
Definition at line 74 of file kyber_symmetric_primitives.h.
References get_XOF().
Referenced by Botan::PolynomialMatrix::generate().