aboutsummaryrefslogtreecommitdiff
path: root/nizk/nizk.go
diff options
context:
space:
mode:
Diffstat (limited to 'nizk/nizk.go')
-rw-r--r--nizk/nizk.go28
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
+}