add travis
arnaucube arnaucube@gmail.com
Mon, 03 Jun 2019 20:37:03 +0200
4 files changed,
35 insertions(+),
14 deletions(-)
M
README.md
→
README.md
@@ -1,4 +1,5 @@
-# cryptofun [](https://goreportcard.com/report/github.com/arnaucube/cryptofun) +# cryptofun [](https://goreportcard.com/report/github.com/arnaucube/cryptofun) [](https://travis-ci.org/arnaucube/cryptofun) + Crypto algorithms from scratch. Academic purposes only.
M
bls/bls.go
→
bls/bls.go
@@ -92,26 +92,24 @@ }
// VerifyAggregatedSignatures // ê(G,S) == ê(P, H(m)) -// ê(G, s0+s1+s2...) == ê(p0, H(m)) x ê(p1, H(m)) x ê(p2, H(m)) ... +// ê(G, s0+s1+s2...) == ê(p0+p1+p2..., H(m)) func (bls BLS) VerifyAggregatedSignatures(aggrsig [3][2]*big.Int, pubKArray [][3]*big.Int, m []byte) bool { - pairingGS, err := bls.Bn.Pairing(bls.Bn.G1.G, aggrsig) + aggrPubKs := pubKArray[0] + for i := 1; i < len(pubKArray); i++ { + aggrPubKs = bls.Bn.G1.Add(aggrPubKs, pubKArray[i]) + } + + left, err := bls.Bn.Pairing(bls.Bn.G1.G, aggrsig) if err != nil { return false } - pairingsMul, err := bls.Bn.Pairing(pubKArray[0], bls.Hash(m)) + right, err := bls.Bn.Pairing(aggrPubKs, bls.Hash(m)) if err != nil { return false } - for i := 1; i < len(pubKArray); i++ { - e, err := bls.Bn.Pairing(pubKArray[i], bls.Hash(m)) - if err != nil { - return false - } - pairingsMul = bls.Bn.Fq12.Mul(pairingsMul, e) - } - if !bls.Bn.Fq12.Equal(pairingGS, pairingsMul) { + if !bls.Bn.Fq12.Equal(left, right) { return false } return true
M
paillier/paillier_test.go
→
paillier/paillier_test.go
@@ -24,8 +24,22 @@ }
} func TestHomomorphicAddition(t *testing.T) { - key, err := GenerateKeyPair() - assert.Nil(t, err) + // key, err := GenerateKeyPair() + // assert.Nil(t, err) + + // key harcoded for tests + pubK := PublicKey{ + N: big.NewInt(204223), + G: big.NewInt(24929195694), + } + privK := PrivateKey{ + Lambda: big.NewInt(101660), + Mu: big.NewInt(117648), + } + key := Key{ + PubK: pubK, + PrivK: privK, + } n1 := big.NewInt(int64(110)) n2 := big.NewInt(int64(150))