diff options
Diffstat (limited to 'nizk/stage1.go')
-rw-r--r-- | nizk/stage1.go | 40 |
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(φ), + }, } } |