Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::simulation::KeccakF1600RoundData Struct Reference

Intermediate values produced by a single Keccak-f[1600] round. More...

#include <keccakf1600_event.hpp>

Public Attributes

KeccakF1600State state {}
 Round input state.
 
std::array< std::array< uint64_t, 4 >, 5 > theta_xor {}
 Accumulated column-parity XORs (4 intermediates per row).
 
std::array< uint64_t, 5 > theta_xor_row_rotl1 {}
 Column parity rotated left by 1.
 
std::array< uint64_t, 5 > theta_combined_xor {}
 D[x] = C[(x-1)%5] ^ rot(C[(x+1)%5], 1).
 
KeccakF1600State state_theta {}
 State after theta step.
 
KeccakF1600State state_rho {}
 State after rho (rotation) step.
 
KeccakF1600State state_pi_not {}
 Bitwise NOT of state after pi step.
 
KeccakF1600State state_pi_and {}
 AND(NOT(pi[(x+1)%5][y]), pi[(x+2)%5][y]).
 
KeccakF1600State state_chi {}
 State after chi step.
 
uint64_t state_iota_00 = 0
 state_chi[0][0] XOR round_constant.
 

Detailed Description

Intermediate values produced by a single Keccak-f[1600] round.

Stored as uint64_t for trace generation. All fields use A[x][y] indexing.

Definition at line 36 of file keccakf1600_event.hpp.

Member Data Documentation

◆ state

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state {}

Round input state.

Definition at line 37 of file keccakf1600_event.hpp.

◆ state_chi

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state_chi {}

State after chi step.

Definition at line 45 of file keccakf1600_event.hpp.

◆ state_iota_00

uint64_t bb::avm2::simulation::KeccakF1600RoundData::state_iota_00 = 0

state_chi[0][0] XOR round_constant.

Definition at line 46 of file keccakf1600_event.hpp.

◆ state_pi_and

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state_pi_and {}

AND(NOT(pi[(x+1)%5][y]), pi[(x+2)%5][y]).

Definition at line 44 of file keccakf1600_event.hpp.

◆ state_pi_not

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state_pi_not {}

Bitwise NOT of state after pi step.

Definition at line 43 of file keccakf1600_event.hpp.

◆ state_rho

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state_rho {}

State after rho (rotation) step.

Definition at line 42 of file keccakf1600_event.hpp.

◆ state_theta

KeccakF1600State bb::avm2::simulation::KeccakF1600RoundData::state_theta {}

State after theta step.

Definition at line 41 of file keccakf1600_event.hpp.

◆ theta_combined_xor

std::array<uint64_t, 5> bb::avm2::simulation::KeccakF1600RoundData::theta_combined_xor {}

D[x] = C[(x-1)%5] ^ rot(C[(x+1)%5], 1).

Definition at line 40 of file keccakf1600_event.hpp.

◆ theta_xor

std::array<std::array<uint64_t, 4>, 5> bb::avm2::simulation::KeccakF1600RoundData::theta_xor {}

Accumulated column-parity XORs (4 intermediates per row).

Definition at line 38 of file keccakf1600_event.hpp.

◆ theta_xor_row_rotl1

std::array<uint64_t, 5> bb::avm2::simulation::KeccakF1600RoundData::theta_xor_row_rotl1 {}

Column parity rotated left by 1.

Definition at line 39 of file keccakf1600_event.hpp.


The documentation for this struct was generated from the following file: