|
Botan 3.10.0
Crypto and TLS for C&
|
#include <ascon_perm.h>
Classes | |
| struct | Config |
Public Types | |
| using | state_t |
| using | word_t |
Public Member Functions | |
| size_t & | _cursor () |
| void | absorb (std::span< const uint8_t > input, std::optional< uint8_t > permutation_rounds=std::nullopt) |
| consteval | Ascon_p (Config config) |
| constexpr size_t | bit_capacity () const |
| constexpr size_t | bit_rate () const |
| constexpr size_t | byte_capacity () const |
| constexpr size_t | byte_rate () const |
| size_t | cursor () const |
| void | finish () |
| void | initial_permute () |
| void | intermediate_finish () |
| void | percolate_in (std::span< uint8_t > data) |
| void | percolate_out (std::span< uint8_t > data) |
| void | permute () |
| std::string | provider () const |
| template<size_t offset, size_t count> requires (offset + count <= state_bytes()) | |
| constexpr auto | range_of_state () |
| void | squeeze (std::span< uint8_t > output) |
| constexpr auto & | state () |
Static Public Member Functions | |
| static constexpr size_t | state_bits () |
| static constexpr size_t | state_bytes () |
Static Public Attributes | |
| static constexpr size_t | word_bits |
| static constexpr size_t | word_bytes |
Protected Member Functions | |
| void | reset_cursor () |
Ascon_p as specified in NIST SP.800-232, Section 3
Definition at line 22 of file ascon_perm.h.
|
inherited |
|
inherited |
|
inlineexplicitconsteval |
Definition at line 32 of file ascon_perm.h.
References Botan::Ascon_p::Config::bit_rate, Botan::Ascon_p::Config::initial_state, and Botan::Sponge< 5, uint64_t >::Sponge().
|
inlineinherited |
Definition at line 60 of file sponge.h.
| void Botan::Ascon_p::absorb | ( | std::span< const uint8_t > | input, |
| std::optional< uint8_t > | permutation_rounds = std::nullopt ) |
Definition at line 18 of file ascon_perm.cpp.
References Botan::absorb_into_sponge(), and permute().
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
Definition at line 54 of file sponge.h.
|
inlineconstexprinherited |
|
inlineinherited |
|
inline |
Definition at line 52 of file ascon_perm.h.
References finish().
Referenced by finish(), and intermediate_finish().
|
inline |
Definition at line 58 of file ascon_perm.h.
References permute().
|
inline |
| void Botan::Ascon_p::percolate_in | ( | std::span< uint8_t > | data | ) |
Definition at line 27 of file ascon_perm.cpp.
References BOTAN_ASSERT_NOMSG, Botan::BufferSlicer::empty(), Botan::BufferStuffer::full(), and Botan::process_bytes_in_sponge().
| void Botan::Ascon_p::percolate_out | ( | std::span< uint8_t > | data | ) |
Definition at line 41 of file ascon_perm.cpp.
References BOTAN_ASSERT_NOMSG, Botan::BufferSlicer::empty(), Botan::BufferStuffer::full(), and Botan::process_bytes_in_sponge().
|
inline |
Definition at line 56 of file ascon_perm.h.
References permute().
Referenced by absorb(), initial_permute(), and permute().
|
inline |
Definition at line 45 of file ascon_perm.h.
|
inlineconstexpr |
Definition at line 62 of file ascon_perm.h.
References Botan::Sponge< 5, uint64_t >::state().
|
inlineprotectedinherited |
Definition at line 63 of file sponge.h.
| void Botan::Ascon_p::squeeze | ( | std::span< uint8_t > | output | ) |
Definition at line 23 of file ascon_perm.cpp.
References Botan::squeeze_from_sponge().
|
inlineconstexprinherited |
|
inlinestaticconstexprinherited |
|
inlinestaticconstexprinherited |
|
staticconstexprinherited |
|
staticconstexprinherited |