Skip to content
This repository was archived by the owner on Nov 18, 2024. It is now read-only.

Commit 318c505

Browse files
committed
remove pvss delta
1 parent c118d74 commit 318c505

File tree

5 files changed

+12
-35
lines changed

5 files changed

+12
-35
lines changed

dkg.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func (p *Participant) GenerateSecret(threshold int) {
189189
}
190190

191191
func (p *Participant) RenovateSecret() {
192-
p.secret.BiasDelta()
192+
p.secret.Renovate()
193193
}
194194

195195
func (p *Participant) GenerateShares(size int) []*bls.Fr {

encryption.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,16 @@ func AESDecrypt(pg1 *bls.PointG1, cipherText []byte) ([]byte, error) {
5555
return result, nil
5656
}
5757

58-
func RandPG1() *bls.PointG1 {
58+
func RandScalar() *bls.Fr {
5959
s1 := rand.NewSource(time.Now().UnixNano())
6060
r1 := rand.New(s1)
6161
r, _ := bls.NewFr().Rand(r1)
62+
63+
return r
64+
}
65+
66+
func RandPG1() *bls.PointG1 {
6267
g1 := bls.NewG1()
6368
pg1 := g1.New()
64-
return g1.MulScalar(pg1, &bls.G1One, r)
69+
return g1.MulScalar(pg1, &bls.G1One, RandScalar())
6570
}

public_key.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package tpke
22

33
import (
44
"math/big"
5-
"math/rand"
6-
"time"
75

86
bls "github.com/kilic/bls12-381"
97
)
@@ -26,9 +24,7 @@ func NewGlobalPublicKey(cs []*Commitment, scaler int) *PublicKey {
2624
}
2725

2826
func (pk *PublicKey) Encrypt(msg *bls.PointG1) *CipherText {
29-
s1 := rand.NewSource(time.Now().UnixNano())
30-
r1 := rand.New(s1)
31-
r, _ := bls.NewFr().Rand(r1)
27+
r := RandScalar()
3228

3329
// C=M+rpk, R1=rG1, R2=rG2
3430
g1 := bls.NewG1()

pvss.go

+1-16
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,15 @@ type PVSS struct {
1111
r1 *bls.PointG1
1212
r2 *bls.PointG2
1313
bigf []*bls.PointG1
14-
delta *bls.PointG1
1514
}
1615

1716
func GenerateSharedSecrets(r *bls.Fr, size int, secret *Secret) (*PVSS, []*bls.Fr) {
1817
g1 := bls.NewG1()
1918
g2 := bls.NewG2()
2019
r1 := g1.New()
2120
r2 := g2.New()
22-
delta := g1.New()
2321
g1.MulScalar(r1, &bls.G1One, r)
2422
g2.MulScalar(r2, &bls.G2One, r)
25-
g1.MulScalar(delta, &bls.G1One, secret.delta)
2623
f := make([]*bls.Fr, size)
2724
bigf := make([]*bls.PointG1, size)
2825
for i := 0; i < size; i++ {
@@ -38,7 +35,6 @@ func GenerateSharedSecrets(r *bls.Fr, size int, secret *Secret) (*PVSS, []*bls.F
3835
r1: r1,
3936
r2: r2,
4037
bigf: bigf,
41-
delta: delta,
4238
}, f
4339
}
4440

@@ -70,16 +66,5 @@ func (pvss *PVSS) VerifyRenovate(op *PVSS) bool {
7066
return false
7167
}
7268
g1 := bls.NewG1()
73-
for i := range pvss.commitment.coeff {
74-
if i == 0 {
75-
if !g1.Equal(pvss.commitment.coeff[i], op.commitment.coeff[i]) {
76-
return false
77-
}
78-
} else {
79-
if !g1.Equal(pvss.commitment.coeff[i], g1.Add(g1.Zero(), op.commitment.coeff[i], pvss.delta)) {
80-
return false
81-
}
82-
}
83-
}
84-
return true
69+
return g1.Equal(pvss.commitment.coeff[0], op.commitment.coeff[0])
8570
}

secrect.go

+2-11
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package tpke
22

33
import (
4-
"math/rand"
5-
"time"
6-
74
bls "github.com/kilic/bls12-381"
85
)
96

@@ -19,20 +16,14 @@ func RandomSecret(threshold int) *Secret {
1916
}
2017
}
2118

22-
func (s *Secret) BiasDelta() {
23-
// generate a random bias
24-
source := rand.NewSource(time.Now().UnixNano())
25-
random := rand.New(source)
26-
delta, _ := bls.NewFr().Rand(random)
27-
19+
func (s *Secret) Renovate() {
2820
// add bias to a1..an-1 expect a0
2921
for i := range s.poly.coeff {
3022
if i == 0 {
3123
continue
3224
}
33-
s.poly.coeff[i].Add(s.poly.coeff[i], delta)
25+
s.poly.coeff[i].Set(RandScalar())
3426
}
35-
s.delta = delta
3627
}
3728

3829
func (s *Secret) Commitment() *Commitment {

0 commit comments

Comments
 (0)