Botan 3.6.0
Crypto and TLS for C&
pqcrystals.h File Reference

Internal Header. More...

#include <concepts>
#include <limits>
#include <span>
#include <vector>
#include <botan/assert.h>
#include <botan/mem_ops.h>
#include <botan/internal/ct_utils.h>
#include <botan/internal/pqcrystals_helpers.h>

Go to the source code of this file.

Classes

class  Botan::CRYSTALS::Polynomial< Trait, D >
 
class  Botan::CRYSTALS::PolynomialMatrix< Trait >
 
class  Botan::CRYSTALS::PolynomialVector< Trait, D >
 
class  Botan::CRYSTALS::Trait_Base< ConstantsT, DerivedT >
 

Namespaces

namespace  Botan
 
namespace  Botan::CRYSTALS
 
namespace  Botan::CRYSTALS::detail
 

Concepts

concept  Botan::CRYSTALS::crystals_constants
 
concept  Botan::CRYSTALS::crystals_trait
 

Enumerations

enum class  Botan::CRYSTALS::Domain { Botan::CRYSTALS::Normal , Botan::CRYSTALS::NTT }
 

Functions

template<Domain To, template< typename, Domain > class StructureT, crystals_trait Trait, Domain From>
requires (To != From)
StructureT< Trait, To > Botan::CRYSTALS::detail::domain_cast (StructureT< Trait, From > &&p)
 
template<crystals_trait Trait>
void Botan::CRYSTALS::detail::dot_product (Polynomial< Trait, Domain::NTT > &out, const PolynomialVector< Trait, Domain::NTT > &a, const PolynomialVector< Trait, Domain::NTT > &b)
 
template<crystals_trait Trait>
Polynomial< Trait, Domain::NormalBotan::CRYSTALS::inverse_ntt (Polynomial< Trait, Domain::NTT > p_ntt)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NormalBotan::CRYSTALS::inverse_ntt (PolynomialVector< Trait, Domain::NTT > polyvec_ntt)
 
template<crystals_trait Trait, Domain D>
void Botan::CRYSTALS::detail::montgomery (Polynomial< Trait, D > &p)
 
template<crystals_trait Trait, Domain D>
Polynomial< Trait, D > Botan::CRYSTALS::montgomery (Polynomial< Trait, D > p)
 
template<crystals_trait Trait, Domain D>
PolynomialVector< Trait, D > Botan::CRYSTALS::montgomery (PolynomialVector< Trait, D > polyvec)
 
template<crystals_trait Trait>
Polynomial< Trait, Domain::NTTBotan::CRYSTALS::ntt (Polynomial< Trait, Domain::Normal > p)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NTTBotan::CRYSTALS::ntt (PolynomialVector< Trait, Domain::Normal > polyvec)
 
template<crystals_trait Trait>
Polynomial< Trait, Domain::NTTBotan::CRYSTALS::operator* (const Polynomial< Trait, Domain::NTT > &a, const Polynomial< Trait, Domain::NTT > &b)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NTTBotan::CRYSTALS::operator* (const Polynomial< Trait, Domain::NTT > &p, const PolynomialVector< Trait, Domain::NTT > &pv)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NTTBotan::CRYSTALS::operator* (const PolynomialMatrix< Trait > &mat, const PolynomialVector< Trait, Domain::NTT > &vec)
 
template<crystals_trait Trait>
Polynomial< Trait, Domain::NTTBotan::CRYSTALS::operator* (const PolynomialVector< Trait, Domain::NTT > &a, const PolynomialVector< Trait, Domain::NTT > &b)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NormalBotan::CRYSTALS::operator+ (const PolynomialVector< Trait, Domain::Normal > &a, const PolynomialVector< Trait, Domain::Normal > &b)
 
template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NormalBotan::CRYSTALS::operator<< (const PolynomialVector< Trait, Domain::Normal > &pv, size_t shift)
 

Detailed Description

Internal Header.

Definition in file pqcrystals.h.