Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
sha256.fuzzer.cpp
Go to the documentation of this file.
1
#include "
sha256.hpp
"
2
#include "
barretenberg/circuit_checker/circuit_checker.hpp
"
3
#include "
barretenberg/crypto/sha256/sha256.hpp
"
4
#include "
barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp
"
5
#include <cstdint>
6
#include <vector>
7
8
using namespace
bb
;
9
using namespace
bb::stdlib
;
10
11
extern
"C"
int
LLVMFuzzerTestOneInput
(
const
uint8_t* Data,
size_t
Size)
12
{
13
if
(Size == 0)
14
return
0;
15
UltraCircuitBuilder
builder
;
16
std::vector<uint8_t> input_vec(Data, Data + Size);
17
18
byte_array<UltraCircuitBuilder>
input(&
builder
, input_vec);
19
auto
output_bits =
SHA256<UltraCircuitBuilder>::hash
(input);
20
auto
output_str = output_bits.get_value();
21
auto
circuit_output = std::vector<uint8_t>(output_str.begin(), output_str.end());
22
23
auto
expected =
crypto::sha256
(input_vec);
24
25
assert(circuit_output == expected);
26
assert(
bb::CircuitChecker::check
(
builder
));
27
return
0;
28
}
circuit_checker.hpp
bb::TranslatorCircuitChecker::check
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
Definition
translator_circuit_checker.cpp:20
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:42
bb::stdlib::SHA256::hash
static byte_array< Builder > hash(const byte_array_ct &input)
Definition
sha256.cpp:308
bb::stdlib::byte_array
Represents a dynamic array of bytes in-circuit.
Definition
byte_array.hpp:28
builder
AluTraceBuilder builder
Definition
alu.test.cpp:123
sha256.hpp
bb::crypto::sha256
Sha256Hash sha256(const ByteContainer &input)
Definition
sha256.cpp:142
bb::stdlib
Definition
graph_description_goblin.test.cpp:13
bb
Entry point for Barretenberg command-line interface.
Definition
acir_format_getters.cpp:6
LLVMFuzzerTestOneInput
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
Definition
sha256.fuzzer.cpp:11
ultra_circuit_builder.hpp
sha256.hpp
src
barretenberg
stdlib
hash
sha256
sha256.fuzzer.cpp
Generated by
1.9.8