diff options
Diffstat (limited to 'nizk/nizk.go')
| -rw-r--r-- | nizk/nizk.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/nizk/nizk.go b/nizk/nizk.go new file mode 100644 index 0000000..7ea6d8a --- /dev/null +++ b/nizk/nizk.go @@ -0,0 +1,28 @@ +package nizk + +import ( + "crypto/sha512" + + "kesim.org/seal/curve" +) + +// Common functions for the various proof + +type Scalar = curve.Curve25519Scalar +type Point = curve.Curve25519Point + +var Curve = curve.Curve25519 +var G = Curve.Generator() +var One = Curve.ScalarOne() + +func Challenge(points ...*Point) *Scalar { + h512 := sha512.New() + for _, p := range points { + h512.Write(p.Bytes()) + } + ch, e := Curve.ScalarFromBytes(h512.Sum(nil)) + if e != nil { + panic(e) + } + return ch +} |
