aboutsummaryrefslogtreecommitdiff
path: root/curve
diff options
context:
space:
mode:
authorÖzgür Kesim <oec@kesim.org>2024-03-28 14:08:40 +0100
committerÖzgür Kesim <oec@kesim.org>2024-03-28 14:08:40 +0100
commit82d1938c5a052776eb6c5945c137754bf8076a11 (patch)
treed60ed9046388aa9a0b7825726fbf4cce1563d4aa /curve
parentb331bec4ea79d70c78e378ce5e1c1e88dbb89661 (diff)
nizk/stage1: NIZK proofs for commit phase
Implemented the NIZK for the B.a) Commit on page 4
Diffstat (limited to 'curve')
-rw-r--r--curve/curve.go1
-rw-r--r--curve/ed25519.go9
2 files changed, 10 insertions, 0 deletions
diff --git a/curve/curve.go b/curve/curve.go
index 36c9eed..5b41352 100644
--- a/curve/curve.go
+++ b/curve/curve.go
@@ -24,6 +24,7 @@ type ScalarReader[S any] interface {
RandomScalar() S
ScalarFromReader(io.Reader) (S, error)
ScalarFromBytes([]byte) (S, error)
+ ScalarOne() S
}
type SomeCurve[S SomeScalar[s], s Data, P SomePoint[S, s, p], p Data] interface {
diff --git a/curve/ed25519.go b/curve/ed25519.go
index 3d0ba81..318c149 100644
--- a/curve/ed25519.go
+++ b/curve/ed25519.go
@@ -73,6 +73,15 @@ func (c *c25519) ScalarFromBytes(b []byte) (*scalar, error) {
return (*scalar)(s), e
}
+func (c *c25519) ScalarOne() *scalar {
+ b := [64]byte{1}
+ one, e := c.ScalarFromBytes(b[:])
+ if e != nil {
+ panic(e)
+ }
+ return one
+}
+
func (c *c25519) Exp(s *scalar) *point {
p := new(ed.Point).ScalarBaseMult((*ed.Scalar)(s))
return (*point)(p)