Module o1vm::keccak

source ·
Expand description

Implementation of Keccak used by the zkVM.

Re-exports

Modules

  • This module defines the custom columns used in the Keccak witness, which are aliases for the actual Keccak witness columns also defined here.
  • This module contains the constraints for one Keccak step.
  • This module contains the definition and implementation of the Keccak environment including the common functions between the witness and the constraints environments for arithmetic, boolean, and column operations.
  • This module defines the Keccak interpreter in charge of triggering the Keccak workflow
  • This file contains the witness for the Keccak hash function for the zkVM project. It assigns the witness values to the corresponding columns of KeccakWitness in the environment.

Enums

  • All the names for constraints involved in the Keccak circuit
  • Errors that can occur during the check of the witness

Functions

  • This function returns a vector of field elements that represent the 5 padding suffixes. The first one uses at most 12 bytes, and the rest use at most 31 bytes.
  • Standardizes a Keccak step to a common opcode