gnark-plonky2-verifier/sha512/rotate.go
sha512/rotate.goRaw
1package sha512
2
3import (
4 "github.com/consensys/gnark/frontend"
5)
6
7func RotR512(api frontend.API, in [] frontend.Variable, r int) ([] frontend.Variable) {
8 n := len(in)
9 out := make([] frontend.Variable, n)
10 for i := 0; i < n; i++ {
11 out[i] = in[ (i+r) % n ]
12 }
13 return out
14}
15
16
17// template RotR512(n, r) {
18// signal input in[n];
19// signal output out[n];
20
21// for (var i=0; i<n; i++) {
22// out[i] <== in[ (i+r)%n ];
23// }
24// }