Barretenberg
The ZK-SNARK library at the core of Aztec
|
Typedefs | |
template<typename Builder > | |
using | byte_pair = std::pair< field_t< Builder >, field_t< Builder > > |
Functions | |
template<typename Builder > | |
field_t< Builder > | normalize_sparse_form (Builder *, field_t< Builder > &byte) |
template<typename Builder > | |
byte_pair< Builder > | apply_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< Builder > | convert_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 |
using bb::stdlib::aes128::byte_pair = typedef std::pair<field_t<Builder>, field_t<Builder> > |
Definition at line 19 of file aes128.cpp.
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.
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.
byte_pair< Builder > bb::stdlib::aes128::apply_aes_sbox_map | ( | Builder * | , |
field_t< Builder > & | input | ||
) |
Definition at line 30 of file aes128.cpp.
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.
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.
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.
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.
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.
bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC | ( | bb::MegaCircuitBuilder | ) |
bb::stdlib::aes128::INSTANTIATE_ENCRYPT_BUFFER_CBC | ( | bb::UltraCircuitBuilder | ) |
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.
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.
field_t< Builder > bb::stdlib::aes128::normalize_sparse_form | ( | Builder * | , |
field_t< Builder > & | byte | ||
) |
Definition at line 24 of file aes128.cpp.
Definition at line 169 of file aes128.cpp.
void bb::stdlib::aes128::sub_bytes | ( | Builder * | ctx, |
byte_pair< Builder > * | state_pairs | ||
) |
Definition at line 218 of file aes128.cpp.
void bb::stdlib::aes128::xor_with_iv | ( | byte_pair< Builder > * | state, |
field_t< Builder > * | iv | ||
) |
Definition at line 235 of file aes128.cpp.
|
constexpr |
Definition at line 22 of file aes128.cpp.