mirror of
https://github.com/arnaucube/gnark-plonky2-verifier.git
synced 2026-01-12 09:01:32 +01:00
finish eddsa draft
This commit is contained in:
@@ -15,7 +15,18 @@ func _right_rotate(n [64]frontend.Variable, bits int) [64]frontend.Variable {
|
||||
return result
|
||||
}
|
||||
|
||||
func Sha512(api frontend.API, in [] frontend.Variable) ([512] frontend.Variable) {
|
||||
func Sha512Bytes(api frontend.API, in []frontend.Variable) ([512]frontend.Variable) {
|
||||
bits := []frontend.Variable{}
|
||||
for _, v := range in {
|
||||
b := api.ToBinary(v, 8)
|
||||
for i := 0; i < 8; i++ {
|
||||
bits = append(bits, b[7-i])
|
||||
}
|
||||
}
|
||||
return Sha512Bits(api, bits)
|
||||
}
|
||||
|
||||
func Sha512Bits(api frontend.API, in []frontend.Variable) ([512]frontend.Variable) {
|
||||
_not := func(x [64]frontend.Variable) [64]frontend.Variable {
|
||||
return not(api, x)
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ type Sha512Circuit struct {
|
||||
}
|
||||
|
||||
func (circuit *Sha512Circuit) Define(api frontend.API) error {
|
||||
res := Sha512(api, circuit.in)
|
||||
res := Sha512Bits(api, circuit.in)
|
||||
if len(res) != 512 { panic("bad length") }
|
||||
for i := 0; i < 512; i++ {
|
||||
api.AssertIsEqual(res[i], circuit.out[i])
|
||||
|
||||
Reference in New Issue
Block a user