Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
keccak.hpp File Reference
#include "./hash_types.hpp"
#include "barretenberg/ecc/curves/bn254/fr.hpp"
#include "barretenberg/numeric/uint256/uint256.hpp"
#include <stddef.h>
#include <vector>

Go to the source code of this file.

Classes

class  bb::crypto::Keccak
 A wrapper class used to construct KeccakTranscript. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::crypto
 

Macros

#define NOEXCEPT
 

Functions

void ethash_keccakf1600 (uint64_t state[25]) NOEXCEPT
 
struct keccak256 ethash_keccak256 (const uint8_t *data, size_t size) NOEXCEPT
 
struct keccak256 hash_field_elements (const uint64_t *limbs, size_t num_elements)
 
struct keccak256 hash_field_element (const uint64_t *limb)
 

Macro Definition Documentation

◆ NOEXCEPT

#define NOEXCEPT

Definition at line 24 of file keccak.hpp.

Function Documentation

◆ ethash_keccak256()

struct keccak256 ethash_keccak256 ( const uint8_t *  data,
size_t  size 
)

Definition at line 107 of file keccak.cpp.

◆ ethash_keccakf1600()

void ethash_keccakf1600 ( uint64_t  state[25])

The Keccak-f[1600] function.

The implementation of the Keccak-f function with 1600-bit width of the permutation (b). The size of the state is also 1600 bit what gives 25 64-bit words.

Parameters
stateThe state of 25 64-bit words on which the permutation is to be performed.

Definition at line 28 of file keccakf1600.cpp.

◆ hash_field_element()

struct keccak256 hash_field_element ( const uint64_t *  limb)

Definition at line 136 of file keccak.cpp.

◆ hash_field_elements()

struct keccak256 hash_field_elements ( const uint64_t *  limbs,
size_t  num_elements 
)

Definition at line 114 of file keccak.cpp.