Expand description
An interpreter for an optimised version of Keccak
Re-exportsยง
Modulesยง
- column
- This module defines the custom columns used in the Keccak witness, which are aliases for the actual Keccak witness columns also defined here.
- constraints
- This module contains the constraints for one Keccak step.
- environment
- 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.
- helpers
- interpreter
- This module defines the Keccak interpreter in charge of triggering the Keccak workflow
- witness
- 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ยง
- Constraint
- All the names for constraints involved in the Keccak circuit
- Error
- Errors that can occur during the check of the witness
Constantsยง
- HASH_
BITLENGTH ๐ - Desired output length of the hash in bits
- HASH_
BYTELENGTH ๐ - Desired output length of the hash in bytes
- WORDS_
IN_ ๐HASH - Number of words that fit in the hash digest
- WORD_
LENGTH_ ๐IN_ BITS - Length of each word in the Keccak state, in bits
- ZKVM_
KECCAK_ ๐COLS_ CURR - Number of columns required in the
currpart of the witness - ZKVM_
KECCAK_ ๐COLS_ NEXT - Number of columns required in the
nextpart of the witness, corresponding to the output length
Functionsยง
- grid_
index ๐ - pad_
blocks - 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.
- standardize
- Standardizes a Keccak step to a common opcode