Botan 3.6.1
Crypto and TLS for C&
|
#include <pqcrystals_encoding.h>
Public Types | |
using | collector_array = std::array<sink_t, collectors_per_pack> |
using | collector_bytearray = std::array<uint8_t, collector_bytes_per_pack> |
using | sink_t = uint64_t |
using | T = typename PolyTrait::T |
using | unsigned_T = std::make_unsigned_t<T> |
Static Public Attributes | |
static constexpr size_t | bits_in_collector = sizeof(sink_t) * 8 |
static constexpr size_t | bits_per_coeff = bitlen(range) |
static constexpr size_t | bits_per_pack |
static constexpr size_t | bytes_per_pack = bits_per_pack / 8 |
static constexpr size_t | coeffs_per_pack = bits_per_pack / bits_per_coeff |
static constexpr size_t | collector_bytes_per_pack = collectors_per_pack * sizeof(sink_t) |
static constexpr size_t | collectors_per_pack = (bytes_per_pack + sizeof(sink_t) - 1) / sizeof(sink_t) |
static constexpr sink_t | value_mask = (1 << bits_per_coeff) - 1 |
Helper for base implementations of NIST FIPS 204, Algorithms 16-19 and NIST FIPS 203 Algorithms 5-6. It pre-computes generic values to bit-(un)pack polynomial coefficients at compile-time.
The base implementations are also templated with the range
parameter forcing the compiler to generate specialized code for each supported range.
Definition at line 66 of file pqcrystals_encoding.h.
using Botan::CRYSTALS::BitPackingTrait< range, PolyTrait >::collector_array = std::array<sink_t, collectors_per_pack> |
Definition at line 89 of file pqcrystals_encoding.h.
using Botan::CRYSTALS::BitPackingTrait< range, PolyTrait >::collector_bytearray = std::array<uint8_t, collector_bytes_per_pack> |
Definition at line 90 of file pqcrystals_encoding.h.
using Botan::CRYSTALS::BitPackingTrait< range, PolyTrait >::sink_t = uint64_t |
Definition at line 69 of file pqcrystals_encoding.h.
using Botan::CRYSTALS::BitPackingTrait< range, PolyTrait >::T = typename PolyTrait::T |
Definition at line 67 of file pqcrystals_encoding.h.
using Botan::CRYSTALS::BitPackingTrait< range, PolyTrait >::unsigned_T = std::make_unsigned_t<T> |
Definition at line 68 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 73 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 74 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 75 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 83 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 84 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 86 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 85 of file pqcrystals_encoding.h.
|
staticconstexpr |
Definition at line 87 of file pqcrystals_encoding.h.