arnaucube
arnaucube/cryptofunPublic Self-hosted repository
add travis
arnaucube arnaucube@gmail.com
Mon, 03 Jun 2019 20:37:03 +0200
commit

df33a4bbd574770b0028c978f8cfba30082fc592

parent

b14d5447a88156c8fefa46a421ffb078d0698265

4 files changed, 35 insertions(+), 14 deletions(-)

jump to
A .travis.yml

@@ -0,0 +1,8 @@

+language: go + +go: + - "1.12" + +env: + - GO111MODULE=on +
M README.md → README.md

@@ -1,4 +1,5 @@

-# cryptofun [![Go Report Card](https://goreportcard.com/badge/github.com/arnaucube/cryptofun)](https://goreportcard.com/report/github.com/arnaucube/cryptofun) +# cryptofun [![Go Report Card](https://goreportcard.com/badge/github.com/arnaucube/cryptofun)](https://goreportcard.com/report/github.com/arnaucube/cryptofun) [![Build Status](https://travis-ci.org/arnaucube/cryptofun.svg?branch=master)](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))