sha scaffold
Jacob Jackson jacob@as-MacBook-Air.local
Mon, 03 Oct 2022 23:24:18 +0000
2 files changed,
29 insertions(+),
0 deletions(-)
A
sha512/ch.go
@@ -0,0 +1,28 @@
+package sha512 + +import ( + "github.com/consensys/gnark/frontend" +) + +func Ch_t512(api frontend.API, a, b, c [] frontend.Variable) ([] frontend.Variable) { + n := len(a) + if len(a) != n { panic("bad length") } + if len(b) != n { panic("bad length") } + if len(c) != n { panic("bad length") } + out := make([] frontend.Variable, n) + for k := 0; k < n; k++ { + out[k] = api.Add(api.Mul(a[k], api.Sub(b[k], c[k])), c[k]); + } + return out +} + +// template Ch_t512(n) { +// signal input a[n]; +// signal input b[n]; +// signal input c[n]; +// signal output out[n]; + +// for (var k=0; k<n; k++) { +// out[k] <== a[k] * (b[k]-c[k]) + c[k]; +// } +// }