20 for (
size_t i = 0; i < 16; ++i) {
23 for (
size_t i = 0; i < 8; ++i) {
26 for (
size_t i = 0; i < 8; ++i) {
27 sha256_compression.
result[i] =
static_cast<uint32_t
>(i + 24);
31 std::array<uint32_t, 8> hash_values = { 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
32 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 };
36 for (
size_t idx = 16; idx < 24; idx++) {
37 witness[idx] = hash_values[idx - 16];
39 for (
size_t idx = 0; idx < 8; idx++) {
40 witness[24 + idx] = result[idx];
45 .num_acir_opcodes = 1,
47 .sha256_compression = { sha256_compression },
53 auto builder = create_circuit<UltraCircuitBuilder>(program);