Skip to content

Commit

Permalink
TBR
Browse files Browse the repository at this point in the history
  • Loading branch information
autholykos committed Aug 20, 2019
1 parent e50d2ac commit 6e83fc9
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 20 deletions.
77 changes: 58 additions & 19 deletions bls/bls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -291,73 +291,112 @@ func TestAmbiguousCompress(t *testing.T) {

func BenchmarkSign(b *testing.B) {
msg := randomMessage()
pk, sk, _ := GenKeyPair(rand.Reader)
b.StopTimer()
b.ResetTimer()

for i := 0; i < b.N; i++ {
pk, sk, _ := GenKeyPair(rand.Reader)

b.StartTimer()
_, _ = Sign(sk, pk, msg)
b.StopTimer()
//if err := Verify(NewApk(pk), msg, sigma); err != nil {
// panic(err)
//}
}
}

func aggregateXSignatures(b *testing.B, nr int) {
var sigmas = make([]*Signature, nr)
reader := rand.Reader
msg := []byte("Get Funky Tonight")

for i := 0; i < nr; i++ {
pk, sk, _ := GenKeyPair(reader)
sigmas[i], _ = Sign(sk, pk, msg)
}

s, sigmas := sigmas[0], sigmas[1:]
b.ResetTimer()
for i := 0; i < b.N; i++ {
for _, sig := range sigmas {
s = s.Aggregate(sig)
}
}
}

func BenchmarkAggregate10Signatures(b *testing.B) {
aggregateXSignatures(b, 10)
}

func BenchmarkAggregate100Signatures(b *testing.B) {
aggregateXSignatures(b, 100)
}

func BenchmarkVerify(b *testing.B) {
func BenchmarkAggregate1000Signatures(b *testing.B) {
aggregateXSignatures(b, 1000)
}

func BenchmarkVerifySingleSignature(b *testing.B) {
msg := randomMessage()
b.StopTimer()
b.ResetTimer()

for i := 0; i < b.N; i++ {
b.StopTimer()
pk, sk, _ := GenKeyPair(rand.Reader)
signature, _ := Sign(sk, pk, msg)

b.StartTimer()
if err := Verify(NewApk(pk), msg, signature); err != nil {
panic(err)
}
_ = Verify(NewApk(pk), msg, signature)
b.StopTimer()
}
}

func BenchmarkVerifyUnsafe(b *testing.B) {
func BenchmarkVerifyUnsafeSingleSignature(b *testing.B) {
msg := randomMessage()
b.StopTimer()
b.ResetTimer()

for i := 0; i < b.N; i++ {
b.StopTimer()
pk, sk, _ := GenKeyPair(rand.Reader)
signature, _ := UnsafeSign(sk, msg)

b.StartTimer()
if err := VerifyUnsafe(pk, msg, signature); err != nil {
panic(err)
}
_ = VerifyUnsafe(pk, msg, signature)
b.StopTimer()
}
}

func BenchmarkVerifyCompressedSignature(b *testing.B) {
func BenchmarkVerifySingleCompressedSignature(b *testing.B) {
msg := randomMessage()
b.StopTimer()
b.ResetTimer()

for i := 0; i < b.N; i++ {
b.StopTimer()
pk, sk, _ := GenKeyPair(rand.Reader)
signature, _ := Sign(sk, pk, msg)
sigb := signature.Compress()
apk := NewApk(pk)
b.StartTimer()

b.StartTimer()
signature = &Signature{}
_ = signature.Decompress(sigb)
_ = Verify(apk, msg, signature)
b.StopTimer()
}
}

func BenchmarkCompressedUnsafeSignature(b *testing.B) {
func BenchmarkVerifySingleCompressedUnsafeSignature(b *testing.B) {
msg := randomMessage()
b.StopTimer()
b.ResetTimer()

for i := 0; i < b.N; i++ {
b.StopTimer()
pk, sk, _ := GenKeyPair(rand.Reader)
signature, _ := UnsafeSign(sk, msg)
sigb := signature.Compress()

b.StartTimer()
signature = &UnsafeSignature{}
_ = signature.Decompress(sigb)
_ = VerifyUnsafe(pk, msg, signature)
b.StopTimer()
}
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/OneOfOne/xxhash v1.2.5
github.com/bwesterb/go-ristretto v1.1.0
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dusk-network/bn256 v0.0.0-20190123110933-f166bf1226b0
github.com/dusk-network/bn256 v0.0.0-20190820081542-693bb91dcae6
github.com/kr/pretty v0.1.0 // indirect
github.com/pkg/errors v0.8.1
github.com/stretchr/testify v1.4.0
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dusk-network/bn256 v0.0.0-20190123110933-f166bf1226b0 h1:gbJaLVN42ahIwwmnVoVLlg2Z81LLgn9LmpFtkM5X9RU=
github.com/dusk-network/bn256 v0.0.0-20190123110933-f166bf1226b0/go.mod h1:KGkfDyf8GXeworEpuKRRfPGQa/CzezrYUGaaABueUhg=
github.com/dusk-network/bn256 v0.0.0-20190820081542-693bb91dcae6 h1:VhKqqmSbiwPAdbR5guXVSB0KhPVzIuGDUNYASeZacSg=
github.com/dusk-network/bn256 v0.0.0-20190820081542-693bb91dcae6/go.mod h1:KGkfDyf8GXeworEpuKRRfPGQa/CzezrYUGaaABueUhg=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
Expand Down

0 comments on commit 6e83fc9

Please sign in to comment.