13#include "../../primitives/field/field.hpp"
14#include "../../primitives/witness/witness.hpp"
29template <
typename Builder>
37template <
typename Builder>
44template <
typename Builder>
constexpr size_t NUM_ROUNDS
constexpr uint32_t AES128_BASE
constexpr size_t BLOCK_SIZE
std::array< field_t< Builder >, 16 > convert_into_sparse_bytes(Builder *ctx, const field_t< Builder > &block_data)
Converts a 128-bit block into 16 sparse-form bytes via AES_INPUT plookup table.
field_t< Builder > convert_from_sparse_bytes(Builder *ctx, block_span< Builder > sparse_bytes)
constexpr size_t COLUMN_SIZE
constexpr size_t EXTENDED_KEY_LENGTH
std::vector< field_t< Builder > > encrypt_buffer_cbc(const std::vector< field_t< Builder > > &input, const field_t< Builder > &iv, const field_t< Builder > &key)
Main public interface: AES-128 CBC encryption.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept