diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2017-05-13 09:28:53 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2017-05-13 09:28:53 +0800 |
commit | 63d5c61fcbfa5eda869728c3fdd0eab1915f66ea (patch) | |
tree | f4b6029fad11995b659aa068a1786a701b81cdc9 /go/bls/bls_test.go | |
parent | 4b1aec0ca18a68e2b4b0d27349d4177ff4c78ab7 (diff) | |
download | dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar.gz dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar.bz2 dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar.lz dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar.xz dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.tar.zst dexon-bls-63d5c61fcbfa5eda869728c3fdd0eab1915f66ea.zip |
check error
Diffstat (limited to 'go/bls/bls_test.go')
-rw-r--r-- | go/bls/bls_test.go | 135 |
1 files changed, 98 insertions, 37 deletions
diff --git a/go/bls/bls_test.go b/go/bls/bls_test.go index 4e79f08..361b662 100644 --- a/go/bls/bls_test.go +++ b/go/bls/bls_test.go @@ -20,14 +20,14 @@ func testPre(t *testing.T) { t.Fatal(err) } if !id.IsSame(&id2) { - t.Errorf("not same id", id.GetHexString(), id2.GetHexString()) + t.Errorf("not same id\n%s\n%s", id.GetHexString(), id2.GetHexString()) } err = id2.SetDecString(id.GetDecString()) if err != nil { t.Fatal(err) } if !id.IsSame(&id2) { - t.Errorf("not same id", id.GetDecString(), id2.GetDecString()) + t.Errorf("not same id\n%s\n%s", id.GetDecString(), id2.GetDecString()) } } { @@ -101,32 +101,23 @@ func testRecoverSecretKey(t *testing.T) { idVec := make([]ID, n) for i := 0; i < n; i++ { idVec[i].Set([]uint64{uint64(i), 1, 2, 3, 4, 5}[0:unitN]) - secVec[i].Set(msk, &idVec[i]) + err := secVec[i].Set(msk, &idVec[i]) + if err != nil { + t.Errorf("%s\n", err) + } } // recover sec2 from secVec and idVec var sec2 SecretKey - sec2.Recover(secVec, idVec) + err := sec2.Recover(secVec, idVec) + if err != nil { + t.Errorf("err%s\n", err) + } if !sec.IsSame(&sec2) { t.Errorf("Mismatch in recovered secret key:\n %s\n %s.", sec.GetHexString(), sec2.GetHexString()) } } -func testSign(t *testing.T) { - m := "testSign" - t.Log(m) - - var sec0 SecretKey - sec0.Init() - pub0 := sec0.GetPublicKey() - s0 := sec0.Sign(m) - if !s0.Verify(pub0, m) { - t.Error("Signature does not verify") - } - - k := 3 - msk := sec0.GetMasterSecretKey(k) - mpk := GetMasterPublicKey(msk) - +func testEachSign(t *testing.T, m string, msk []SecretKey, mpk []PublicKey) ([]ID, []SecretKey, []PublicKey, []Sign) { idTbl := []uint64{3, 5, 193, 22, 15} n := len(idTbl) @@ -139,9 +130,15 @@ func testSign(t *testing.T) { idVec[i].Set([]uint64{idTbl[i], 0, 0, 0, 0, 0}[0:unitN]) t.Logf("idVec[%d]=%s\n", i, idVec[i].GetHexString()) - secVec[i].Set(msk, &idVec[i]) + err := secVec[i].Set(msk, &idVec[i]) + if err != nil { + t.Error(err) + } - pubVec[i].Set(mpk, &idVec[i]) + err = pubVec[i].Set(mpk, &idVec[i]) + if err != nil { + t.Error(err) + } t.Logf("pubVec[%d]=%s\n", i, pubVec[i].GetHexString()) if !pubVec[i].IsSame(secVec[i].GetPublicKey()) { @@ -153,18 +150,46 @@ func testSign(t *testing.T) { t.Error("Pubkey derivation does not match") } } + return idVec, secVec, pubVec, signVec +} +func testSign(t *testing.T) { + m := "testSign" + t.Log(m) + + var sec0 SecretKey + sec0.Init() + pub0 := sec0.GetPublicKey() + s0 := sec0.Sign(m) + if !s0.Verify(pub0, m) { + t.Error("Signature does not verify") + } + + k := 3 + msk := sec0.GetMasterSecretKey(k) + mpk := GetMasterPublicKey(msk) + idVec, secVec, pubVec, signVec := testEachSign(t, m, msk, mpk) + var sec1 SecretKey - sec1.Recover(secVec, idVec) + err := sec1.Recover(secVec, idVec) + if err != nil { + t.Error(err) + } if !sec0.IsSame(&sec1) { t.Error("Mismatch in recovered seckey.") } var pub1 PublicKey - pub1.Recover(pubVec, idVec) + err = pub1.Recover(pubVec, idVec) + if err != nil { + t.Error(err) + } if !pub0.IsSame(&pub1) { t.Error("Mismatch in recovered pubkey.") } var s1 Sign - s1.Recover(signVec, idVec) + err = s1.Recover(signVec, idVec) + if err != nil { + t.Error(err) + } if !s0.IsSame(&s1) { t.Error("Mismatch in recovered signature.") } @@ -268,7 +293,10 @@ func testOrder(t *testing.T, c int) { } func test(t *testing.T, c int) { - Init(c) + err := Init(c) + if err != nil { + t.Fatal(err) + } unitN = GetOpUnitSize() t.Logf("unitN=%d\n", unitN) testPre(t) @@ -301,7 +329,10 @@ var curve = CurveFp382_1 func BenchmarkPubkeyFromSeckey(b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey for n := 0; n < b.N; n++ { sec.Init() @@ -313,7 +344,10 @@ func BenchmarkPubkeyFromSeckey(b *testing.B) { func BenchmarkSigning(b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey for n := 0; n < b.N; n++ { sec.Init() @@ -325,7 +359,10 @@ func BenchmarkSigning(b *testing.B) { func BenchmarkValidation(b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey for n := 0; n < b.N; n++ { sec.Init() @@ -340,7 +377,10 @@ func BenchmarkValidation(b *testing.B) { func benchmarkDeriveSeckeyShare(k int, b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey sec.Init() msk := sec.GetMasterSecretKey(k) @@ -348,8 +388,11 @@ func benchmarkDeriveSeckeyShare(k int, b *testing.B) { for n := 0; n < b.N; n++ { id.Set([]uint64{1, 2, 3, 4, 5, uint64(n)}) b.StartTimer() - sec.Set(msk, &id) + err := sec.Set(msk, &id) b.StopTimer() + if err != nil { + b.Errorf("%s\n", err) + } } } @@ -361,7 +404,10 @@ func BenchmarkDeriveSeckeyShare500(b *testing.B) { benchmarkDeriveSeckeyShare(50 func benchmarkRecoverSeckey(k int, b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey sec.Init() msk := sec.GetMasterSecretKey(k) @@ -372,14 +418,20 @@ func benchmarkRecoverSeckey(k int, b *testing.B) { idVec := make([]ID, n) for i := 0; i < n; i++ { idVec[i].Set([]uint64{1, 2, 3, 4, 5, uint64(i)}) - secVec[i].Set(msk, &idVec[i]) + err := secVec[i].Set(msk, &idVec[i]) + if err != nil { + b.Errorf("%s\n", err) + } } // recover from secVec and idVec var sec2 SecretKey b.StartTimer() for n := 0; n < b.N; n++ { - sec2.Recover(secVec, idVec) + err := sec2.Recover(secVec, idVec) + if err != nil { + b.Errorf("%s\n", err) + } } } @@ -390,7 +442,10 @@ func BenchmarkRecoverSeckey1000(b *testing.B) { benchmarkRecoverSeckey(1000, b) func benchmarkRecoverSignature(k int, b *testing.B) { b.StopTimer() - Init(curve) + err := Init(curve) + if err != nil { + b.Fatal(err) + } var sec SecretKey sec.Init() msk := sec.GetMasterSecretKey(k) @@ -402,7 +457,10 @@ func benchmarkRecoverSignature(k int, b *testing.B) { signVec := make([]Sign, n) for i := 0; i < n; i++ { idVec[i].Set([]uint64{1, 2, 3, 4, 5, uint64(i)}) - secVec[i].Set(msk, &idVec[i]) + err := secVec[i].Set(msk, &idVec[i]) + if err != nil { + b.Errorf("%s\n", err) + } signVec[i] = *secVec[i].Sign("test message") } @@ -410,7 +468,10 @@ func benchmarkRecoverSignature(k int, b *testing.B) { var sig Sign b.StartTimer() for n := 0; n < b.N; n++ { - sig.Recover(signVec, idVec) + err := sig.Recover(signVec, idVec) + if err != nil { + b.Errorf("%s\n", err) + } } } |