arnaucube
arnaucube/circomPublic Self-hosted repository
circom/circuits/sha256/t2.circom
circuits/sha256/t2.circomRaw
 1include "binsum.circom";
 2include "sigma.circom";
 3include "maj.circom"
 4
 5template T2() {
 6    signal input a[32];
 7    signal input b[32];
 8    signal input c[32];
 9    signal output out[32];
10
11    component sum = BinSum(32, 2);
12
13    component bigsigma0 = BigSigma(2, 13, 22);
14    component maj = Maj(32);
15
16    for (var k=0; k<32; k++) {
17
18        bigsigma0.in[k] <== a[k];
19        maj.a[k] <== a[k];
20        maj.b[k] <== b[k];
21        maj.c[k] <== c[k];
22
23        sum.in[0][k] <== bigsigma0.out[k];
24        sum.in[1][k] <== maj.out[k];
25
26        out[k] <== sum.out[k];
27    }
28}