circom/circuits/sha256/sigmaplus.circom
circuits/sha256/sigmaplus.circomRaw
1include "sum.jaz"
2include "sigma.jaz"
3
4template SigmaPlus() {
5 signal input in2[32];
6 signal input in7[32];
7 signal input in15[32];
8 signal input in16[32];
9 signal output out[32];
10
11 component sum = Sum(32, 4);
12 component sigma1 = Sigma(17,19,10);
13 component sigma0 = Sigma(7, 18, 3);
14
15 for (var k=0; k<32; k++) {
16 sigma1.in[k] <== in2[k];
17 sigma0.in[k] <== in15[k];
18
19 sum.in[0][k] <== sigma1.out[k];
20 sum.in[1][k] <== in7[k];
21 sum.in[2][k] <== sigma0.out[k];
22 sum.in[3][k] <== in16[k];
23
24 out[k] <== sum.out[k];
25 }
26}