14#ifdef FUZZING_SHOW_INFORMATION
15#define PRINT_STATE(header, bs) \
17 std::cout << header; \
18 for (const uint64_t& x : bs) { \
19 std::cout << "0x" << std::hex << std::uppercase << std::setw(16) << std::setfill('0') << x << " " \
22 std::cout << std::endl; \
25#define PRINT_STATE(header, bs)
45 constexpr size_t KECCAK_STATE_SIZE = 200;
46 if (Size < KECCAK_STATE_SIZE) {
52 std::memcpy(native_state.data(), Data, KECCAK_STATE_SIZE);
65 for (
size_t i = 0; i < 25; i++) {
73 for (
size_t i = 0; i < 25; i++) {
74 circuit_output_u[i] =
static_cast<uint64_t
>(circuit_output[i].get_value());
81 assert(circuit_output_u == expected_state);
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
void ethash_keccakf1600(uint64_t state[25]) NOEXCEPT
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
Fuzzer for Keccak-f1600 permutation (permutation_opcode)
#define PRINT_STATE(header, bs)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept