Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crypto: refactor the tests #74

Merged
merged 4 commits into from Oct 30, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
72 changes: 35 additions & 37 deletions crypto/bls12381_utils_test.go
Expand Up @@ -59,40 +59,34 @@ func TestG1(t *testing.T) {

}

// G1 bench
func BenchmarkG1(b *testing.B) {
// G1 and G2 scalar multiplication
func BenchmarkScalarMult(b *testing.B) {
blsInstance.reInit()
seed := make([]byte, securityBits/8)
rand.Read(seed)
seedRelic(seed)
var expo scalar
randZr(&expo)
var res pointG1

b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG1(&res, &expo)
}
b.StopTimer()
return
}

// G2 bench
func BenchmarkG2(b *testing.B) {
blsInstance.reInit()
seed := make([]byte, securityBits/8)
rand.Read(seed)
seedRelic(seed)
var expo scalar
randZr(&expo)
var res pointG2

b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG2(&res, &expo)
}
b.StopTimer()
return
// G1 bench
b.Run("G1", func(b *testing.B) {
var res pointG1
b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG1(&res, &expo)
}
b.StopTimer()
})

// G2 bench
b.Run("G2", func(b *testing.B) {
var res pointG2
b.ResetTimer()
for i := 0; i < b.N; i++ {
genScalarMultG2(&res, &expo)
}
b.StopTimer()
})
}

// Hashing to G1 bench
Expand Down Expand Up @@ -146,19 +140,23 @@ func TestSubgroupCheckG1(t *testing.T) {
rand.Read(seed)
seedRelic(seed)

simple := 0
bowe := 1
// tests for simple membership check
check := checkG1Test(1, simple) // point in G1
assert.True(t, check)
check = checkG1Test(0, simple) // point in E1\G1
assert.False(t, check)
t.Run("simple check", func(t *testing.T) {
simple := 0
check := checkG1Test(1, simple) // point in G1
assert.True(t, check)
check = checkG1Test(0, simple) // point in E1\G1
assert.False(t, check)
})

// tests for Bowe membership check
check = checkG1Test(1, bowe) // point in G1
assert.True(t, check)
check = checkG1Test(0, bowe) // point in E1\G1
assert.False(t, check)
t.Run("bowe check", func(t *testing.T) {
bowe := 1
check := checkG1Test(1, bowe) // point in G1
assert.True(t, check)
check = checkG1Test(0, bowe) // point in E1\G1
assert.False(t, check)
})
}

// G1 membership check bench
Expand Down