9#ifndef BOTAN_CMCE_POLY_H_
10#define BOTAN_CMCE_POLY_H_
12#include <botan/secmem.h>
13#include <botan/internal/cmce_gf.h>
14#include <botan/internal/loadstor.h>
59 const std::vector<Classic_McEliece_GF>&
coef()
const {
return m_coef; }
66 size_t degree()
const {
return m_coef.size() + 1; }
73 std::vector<Classic_McEliece_GF> m_coef;
128 m_position_map(std::move(poly_big_f_coef)), m_t(t), m_poly_f(poly_f) {}
150 std::optional<Classic_McEliece_Minimal_Polynomial> compute_minimal_polynomial(
163 std::vector<Big_F_Coefficient> m_position_map;
172bool operator==(
const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient& lhs,
173 const Classic_McEliece_Polynomial_Ring::Big_F_Coefficient& rhs);
Represents an element of the finite field GF(q) for q = 2^m.
Representation of a minimal polynomial in GF(q)[y].
Classic_McEliece_Minimal_Polynomial(std::vector< Classic_McEliece_GF > coef)
Represents the polynomial ring GF(q)[y]/F(y) where F(y) is the modulus polynomial in GF(q)[y] of degr...
size_t degree() const
The degree of polynomials in this ring (and of F(y)).
Classic_McEliece_Polynomial_Ring(std::vector< Big_F_Coefficient > poly_big_f_coef, CmceGfMod poly_f, size_t t)
Construct a polynomial ring GF(q)[y]/F(y) by defining the polynomial modulus F(y),...
Representation of a Classic McEliece polynomial.
const std::vector< Classic_McEliece_GF > & coef() const
Get the entire coefficients vector of the polynomial.
size_t degree() const
Get the degree of the polynomial.
void _const_time_poison() const
const Classic_McEliece_GF & coef_at(size_t i) const
Get the coefficient of the i-th monomial (from low to high degree).
void _const_time_unpoison() const
Classic_McEliece_Polynomial(std::vector< Classic_McEliece_GF > coef)
Construct a polynomial given its coefficients.
Classic_McEliece_GF & coef_at(size_t i)
Get the coefficient of the i-th monomial as a reference (from low to high degree).
bool operator==(const AlgorithmIdentifier &a1, const AlgorithmIdentifier &a2)
std::vector< T, secure_allocator< T > > secure_vector
Represents a non-zero coefficient of the modulus F(y) (which is in GF(q)[y]).
Classic_McEliece_GF coeff