Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
sha256_constraint.hpp
Go to the documentation of this file.
1
// === AUDIT STATUS ===
2
// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3
// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4
// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5
// =====================
6
7
#pragma once
8
#include "
barretenberg/dsl/acir_format/witness_constant.hpp
"
9
#include "
barretenberg/serialize/msgpack.hpp
"
10
#include <array>
11
#include <cstdint>
12
#include <vector>
13
14
namespace
acir_format
{
15
16
struct
Sha256Input
{
17
uint32_t
witness
;
18
uint32_t
num_bits
;
19
20
friend
bool
operator==
(
Sha256Input
const
& lhs,
Sha256Input
const
& rhs) =
default
;
21
// for serialization, update with any new fields
22
MSGPACK_FIELDS
(
witness
,
num_bits
);
23
};
24
25
struct
Sha256Compression
{
26
std::array<WitnessOrConstant<bb::fr>
, 16>
inputs
;
27
std::array<WitnessOrConstant<bb::fr>
, 8>
hash_values
;
28
std::array<uint32_t, 8>
result
;
29
30
friend
bool
operator==
(
Sha256Compression
const
& lhs,
Sha256Compression
const
& rhs) =
default
;
31
// for serialization, update with any new fields
32
MSGPACK_FIELDS
(
inputs
,
hash_values
,
result
);
33
};
34
35
template
<
typename
Builder>
36
void
create_sha256_compression_constraints
(
Builder
&
builder
,
const
Sha256Compression
& constraint);
37
38
}
// namespace acir_format
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:42
builder
AluTraceBuilder builder
Definition
alu.test.cpp:123
msgpack.hpp
acir_format
Definition
acir_format.cpp:34
acir_format::create_sha256_compression_constraints
void create_sha256_compression_constraints(Builder &builder, const Sha256Compression &constraint)
Definition
sha256_constraint.cpp:15
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
acir_format::Sha256Compression
Definition
sha256_constraint.hpp:25
acir_format::Sha256Compression::hash_values
std::array< WitnessOrConstant< bb::fr >, 8 > hash_values
Definition
sha256_constraint.hpp:27
acir_format::Sha256Compression::result
std::array< uint32_t, 8 > result
Definition
sha256_constraint.hpp:28
acir_format::Sha256Compression::MSGPACK_FIELDS
MSGPACK_FIELDS(inputs, hash_values, result)
acir_format::Sha256Compression::inputs
std::array< WitnessOrConstant< bb::fr >, 16 > inputs
Definition
sha256_constraint.hpp:26
acir_format::Sha256Compression::operator==
friend bool operator==(Sha256Compression const &lhs, Sha256Compression const &rhs)=default
acir_format::Sha256Input
Definition
sha256_constraint.hpp:16
acir_format::Sha256Input::operator==
friend bool operator==(Sha256Input const &lhs, Sha256Input const &rhs)=default
acir_format::Sha256Input::witness
uint32_t witness
Definition
sha256_constraint.hpp:17
acir_format::Sha256Input::MSGPACK_FIELDS
MSGPACK_FIELDS(witness, num_bits)
acir_format::Sha256Input::num_bits
uint32_t num_bits
Definition
sha256_constraint.hpp:18
witness_constant.hpp
src
barretenberg
dsl
acir_format
sha256_constraint.hpp
Generated by
1.9.8