aboutsummaryrefslogtreecommitdiff
path: root/nizk/stage1.go
diff options
context:
space:
mode:
Diffstat (limited to 'nizk/stage1.go')
-rw-r--r--nizk/stage1.go40
1 files changed, 19 insertions, 21 deletions
diff --git a/nizk/stage1.go b/nizk/stage1.go
index 3d07224..ff42e7f 100644
--- a/nizk/stage1.go
+++ b/nizk/stage1.go
@@ -8,21 +8,18 @@ import . "kesim.org/seal/common"
// for given Z, X, Y, R, C, A and B
type Stage1 struct {
+ // Original Bit
+ *Bit
+
+ // New stage 1 private data
x *Scalar
y *Scalar
r *Scalar
-
- // Original Bid
- α *Scalar
- β *Scalar
- bitSet bool
}
type Stage1Commitment struct {
// Original Commitment
- A *Point
- B *Point
- C *Point
+ *Commitment
// New
R *Point
@@ -31,22 +28,20 @@ type Stage1Commitment struct {
Z *Point
}
-func NewStage1(bitSet bool) *Stage1 {
- var x [5]*Scalar
+func (b *Bit) Stage1() *Stage1 {
+ var x [3]*Scalar
for i := range x {
x[i] = Curve.RandomScalar()
}
- return NewStage1FromScalars(bitSet, x[0], x[1], x[2], x[3], x[4])
+ return b.Stage1FromScalars(x[0], x[1], x[2])
}
-func NewStage1FromScalars(bitSet bool, x, y, r, α, β *Scalar) *Stage1 {
+func (b *Bit) Stage1FromScalars(x, y, r *Scalar) *Stage1 {
return &Stage1{
- x: x,
- y: y,
- r: r,
- α: α,
- β: β,
- bitSet: bitSet,
+ x: x,
+ y: y,
+ r: r,
+ Bit: b,
}
}
@@ -65,9 +60,12 @@ func (s *Stage1) commit() *Stage1Commitment {
X: G.Exp(s.x),
Y: G.Exp(s.y),
R: G.Exp(s.r),
- A: G.Exp(s.α),
- B: G.Exp(s.β),
- C: G.Exp(φ),
+
+ Commitment: &Commitment{
+ A: G.Exp(s.α),
+ B: G.Exp(s.β),
+ C: G.Exp(φ),
+ },
}
}