|
| template<typename Builder > |
| field_t< Builder > | bb::stdlib::aes128::normalize_sparse_form (Builder *, field_t< Builder > &byte) |
| |
| template<typename Builder > |
| byte_pair< Builder > | bb::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) |
| | Converts a 128-bit block into 16 sparse-form bytes via AES_INPUT plookup table.
|
| |
| template<typename Builder > |
| field_t< Builder > | bb::stdlib::aes128::convert_from_sparse_bytes (Builder *ctx, block_span< Builder > sparse_bytes) |
| |
| template<typename Builder > |
| std::array< field_t< Builder >, EXTENDED_KEY_LENGTH > | bb::stdlib::aes128::expand_key (Builder *ctx, const field_t< Builder > &key) |
| | Expands a 128-bit AES key into the full key schedule (EXTENDED_KEY_LENGTH bytes / 11 round keys).
|
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::shift_rows (state_span< Builder > state) |
| | The SHIFTROW() operation as in FIPS 197, Section 5.1.2.
|
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::mix_column_and_add_round_key (column_span< Builder > column_pairs, key_span< Builder > round_key, size_t round, size_t column) |
| | Performs MixColumns on a single column and adds the round key (FIPS 197, Sections 5.1.3 & 5.1.4).
|
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::mix_columns_and_add_round_key (state_span< Builder > state_pairs, key_span< Builder > round_key, size_t round) |
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::sub_bytes (Builder *ctx, state_span< Builder > state_pairs) |
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::add_round_key (state_span< Builder > sparse_state, key_span< Builder > sparse_round_key, size_t round) |
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::xor_with_iv (state_span< Builder > state, block_span< Builder > iv) |
| |
| template<typename Builder > |
| void | bb::stdlib::aes128::aes128_cipher (Builder *ctx, state_span< Builder > state, key_span< 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) |
| | Main public interface: AES-128 CBC encryption.
|
| |
| | bb::stdlib::aes128::INSTANTIATE_AES128_TEMPLATES (bb::UltraCircuitBuilder) |
| |
| | bb::stdlib::aes128::INSTANTIATE_AES128_TEMPLATES (bb::MegaCircuitBuilder) |
| |