Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::stdlib::aes128 Namespace Reference

Typedefs

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

Functions

template<typename Builder >
field_t< Buildernormalize_sparse_form (Builder *, field_t< Builder > &byte)
 
template<typename Builder >
byte_pair< Builderapply_aes_sbox_map (Builder *, field_t< Builder > &input)
 
template<typename Builder >
std::array< field_t< Builder >, 16 > convert_into_sparse_bytes (Builder *ctx, const field_t< Builder > &block_data)
 
template<typename Builder >
field_t< Builderconvert_from_sparse_bytes (Builder *ctx, field_t< Builder > *sparse_bytes)
 
template<typename Builder >
std::array< field_t< Builder >, 176 > expand_key (Builder *ctx, const field_t< Builder > &key)
 
template<typename Builder >
void shift_rows (byte_pair< Builder > *state)
 
template<typename Builder >
void mix_column_and_add_round_key (byte_pair< Builder > *column_pairs, field_t< Builder > *round_key, uint64_t round)
 
template<typename Builder >
void mix_columns_and_add_round_key (byte_pair< Builder > *state_pairs, field_t< Builder > *round_key, uint64_t round)
 
template<typename Builder >
void sub_bytes (Builder *ctx, byte_pair< Builder > *state_pairs)
 
template<typename Builder >
void add_round_key (byte_pair< Builder > *sparse_state, field_t< Builder > *sparse_round_key, uint64_t round)
 
template<typename Builder >
void xor_with_iv (byte_pair< Builder > *state, field_t< Builder > *iv)
 
template<typename Builder >
void aes128_cipher (Builder *ctx, byte_pair< Builder > *state, field_t< Builder > *sparse_round_key)
 
template<typename Builder >
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)
 
 INSTANTIATE_ENCRYPT_BUFFER_CBC (bb::UltraCircuitBuilder)
 
 INSTANTIATE_ENCRYPT_BUFFER_CBC (bb::MegaCircuitBuilder)
 
template<typename Builder >
std::vector< stdlib::field_t< Builder > > encrypt_buffer_cbc (const std::vector< stdlib::field_t< Builder > > &input, const stdlib::field_t< Builder > &iv, const stdlib::field_t< Builder > &key)
 

Variables

constexpr uint32_t AES128_BASE = 9
 

Typedef Documentation

◆ byte_pair

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

Definition at line 19 of file aes128.cpp.

Function Documentation

◆ add_round_key()

template<typename Builder >
void bb::stdlib::aes128::add_round_key ( byte_pair< Builder > *  sparse_state,
field_t< Builder > *  sparse_round_key,
uint64_t  round 
)

Definition at line 226 of file aes128.cpp.

◆ aes128_cipher()

template<typename Builder >
void bb::stdlib::aes128::aes128_cipher ( Builder ctx,
byte_pair< Builder > *  state,
field_t< Builder > *  sparse_round_key 
)

Definition at line 243 of file aes128.cpp.

◆ apply_aes_sbox_map()

template<typename Builder >
byte_pair< Builder > bb::stdlib::aes128::apply_aes_sbox_map ( Builder ,
field_t< Builder > &  input 
)

Definition at line 30 of file aes128.cpp.

◆ convert_from_sparse_bytes()

template<typename Builder >
field_t< Builder > bb::stdlib::aes128::convert_from_sparse_bytes ( Builder ctx,
field_t< Builder > *  sparse_bytes 
)

Definition at line 52 of file aes128.cpp.

◆ convert_into_sparse_bytes()

template<typename Builder >
std::array< field_t< Builder >, 16 > bb::stdlib::aes128::convert_into_sparse_bytes ( Builder ctx,
const field_t< Builder > &  block_data 
)

Definition at line 36 of file aes128.cpp.

◆ encrypt_buffer_cbc() [1/2]

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 
)

Definition at line 265 of file aes128.cpp.

◆ encrypt_buffer_cbc() [2/2]

template<typename Builder >
std::vector< stdlib::field_t< Builder > > bb::stdlib::aes128::encrypt_buffer_cbc ( const std::vector< stdlib::field_t< Builder > > &  input,
const stdlib::field_t< Builder > &  iv,
const stdlib::field_t< Builder > &  key 
)

Definition at line 265 of file aes128.cpp.

◆ expand_key()

template<typename Builder >
std::array< field_t< Builder >, 176 > bb::stdlib::aes128::expand_key ( Builder ctx,
const field_t< Builder > &  key 
)

Definition at line 75 of file aes128.cpp.

◆ INSTANTIATE_ENCRYPT_BUFFER_CBC() [1/2]

bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC ( bb::MegaCircuitBuilder  )

◆ INSTANTIATE_ENCRYPT_BUFFER_CBC() [2/2]

bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC ( bb::UltraCircuitBuilder  )

◆ mix_column_and_add_round_key()

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 
)

Definition at line 192 of file aes128.cpp.

◆ mix_columns_and_add_round_key()

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 
)

Definition at line 210 of file aes128.cpp.

◆ normalize_sparse_form()

template<typename Builder >
field_t< Builder > bb::stdlib::aes128::normalize_sparse_form ( Builder ,
field_t< Builder > &  byte 
)

Definition at line 24 of file aes128.cpp.

◆ shift_rows()

template<typename Builder >
void bb::stdlib::aes128::shift_rows ( byte_pair< Builder > *  state)

Definition at line 169 of file aes128.cpp.

◆ sub_bytes()

template<typename Builder >
void bb::stdlib::aes128::sub_bytes ( Builder ctx,
byte_pair< Builder > *  state_pairs 
)

Definition at line 218 of file aes128.cpp.

◆ xor_with_iv()

template<typename Builder >
void bb::stdlib::aes128::xor_with_iv ( byte_pair< Builder > *  state,
field_t< Builder > *  iv 
)

Definition at line 235 of file aes128.cpp.

Variable Documentation

◆ AES128_BASE

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

Definition at line 22 of file aes128.cpp.