solutions/zokrates_prover/.zokrates/stdlib/hashes/sha256/embed/1536bit.zok

15 lines
514 B
Plaintext
Executable File

import "./IVconstants" as IVconstants;
import "./shaRoundNoBoolCheck" as sha256;
// A function that takes 6 bool[256] arrays as inputs
// and applies 3 rounds of sha256 compression.
// It returns an array of 256 bool.
def main(bool[256] a, bool[256] b, bool[256] c, bool[256] d, bool[256] e, bool[256] f) -> bool[256] {
bool[256] IV = IVconstants();
bool[256] digest1 = sha256(a, b, IV);
bool[256] digest2 = sha256(c, d, digest1);
bool[256] digest3 = sha256(e, f, digest2);
return digest3;
}