Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
aes128.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::stdlib
 
namespace  bb::stdlib::aes128
 

Macros

#define INSTANTIATE_ENCRYPT_BUFFER_CBC(Builder)
 

Typedefs

template<typename Builder >
using bb::stdlib::aes128::byte_pair = std::pair< field_t< Builder >, field_t< Builder > >
 

Functions

template<typename Builder >
field_t< Builderbb::stdlib::aes128::normalize_sparse_form (Builder *, field_t< Builder > &byte)
 
template<typename Builder >
byte_pair< Builderbb::stdlib::aes128::apply_aes_sbox_map (Builder *, field_t< Builder > &input)
 
template<typename Builder >
std::array< field_t< Builder >, 16 > bb::stdlib::aes128::convert_into_sparse_bytes (Builder *ctx, const field_t< Builder > &block_data)
 
template<typename Builder >
field_t< Builderbb::stdlib::aes128::convert_from_sparse_bytes (Builder *ctx, field_t< Builder > *sparse_bytes)
 
template<typename Builder >
std::array< field_t< Builder >, 176 > bb::stdlib::aes128::expand_key (Builder *ctx, const field_t< Builder > &key)
 
template<typename Builder >
void bb::stdlib::aes128::shift_rows (byte_pair< Builder > *state)
 
template<typename Builder >
void bb::stdlib::aes128::mix_column_and_add_round_key (byte_pair< Builder > *column_pairs, field_t< Builder > *round_key, uint64_t round)
 
template<typename Builder >
void bb::stdlib::aes128::mix_columns_and_add_round_key (byte_pair< Builder > *state_pairs, field_t< Builder > *round_key, uint64_t round)
 
template<typename Builder >
void bb::stdlib::aes128::sub_bytes (Builder *ctx, byte_pair< Builder > *state_pairs)
 
template<typename Builder >
void bb::stdlib::aes128::add_round_key (byte_pair< Builder > *sparse_state, field_t< Builder > *sparse_round_key, uint64_t round)
 
template<typename Builder >
void bb::stdlib::aes128::xor_with_iv (byte_pair< Builder > *state, field_t< Builder > *iv)
 
template<typename Builder >
void bb::stdlib::aes128::aes128_cipher (Builder *ctx, byte_pair< Builder > *state, field_t< Builder > *sparse_round_key)
 
template<typename Builder >
std::vector< field_t< Builder > > bb::stdlib::aes128::encrypt_buffer_cbc (const std::vector< field_t< Builder > > &input, const field_t< Builder > &iv, const field_t< Builder > &key)
 
 bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC (bb::UltraCircuitBuilder)
 
 bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC (bb::MegaCircuitBuilder)
 

Variables

constexpr uint32_t bb::stdlib::aes128::AES128_BASE = 9
 

Macro Definition Documentation

◆ INSTANTIATE_ENCRYPT_BUFFER_CBC

#define INSTANTIATE_ENCRYPT_BUFFER_CBC (   Builder)
Value:
template std::vector<field_t<Builder>> encrypt_buffer_cbc<Builder>( \
const std::vector<field_t<Builder>>&, const field_t<Builder>&, const field_t<Builder>&)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13

Definition at line 373 of file aes128.cpp.