aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ffi/go/bls/bls_test.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/ffi/go/bls/bls_test.go b/ffi/go/bls/bls_test.go
index bc94703..7626156 100644
--- a/ffi/go/bls/bls_test.go
+++ b/ffi/go/bls/bls_test.go
@@ -356,6 +356,42 @@ func testDHKeyExchange(t *testing.T) {
}
}
+func testPairing(t *testing.T) {
+ var sec SecretKey
+ sec.SetByCSPRNG()
+ pub := sec.GetPublicKey()
+ m := "abc"
+ sig1 := sec.Sign(m)
+ sig2 := HashAndMapToSignature([]byte(m))
+ if !VerifyPairing(sig1, sig2, pub) {
+ t.Errorf("VerifyPairing")
+ }
+}
+
+func testAggregate2(t *testing.T) {
+ var sec SecretKey
+ sec.SetByCSPRNG()
+ pub := sec.GetPublicKey()
+ msgTbl := []string{"abc", "def", "123"}
+ n := len(msgTbl)
+ sigVec := make([]*Sign, n)
+ for i := 0; i < n; i++ {
+ m := msgTbl[i]
+ sigVec[i] = sec.Sign(m)
+ }
+ aggSign := sigVec[0]
+ for i := 1; i < n; i++ {
+ aggSign.Add(sigVec[i])
+ }
+ hashPt := HashAndMapToSignature([]byte(msgTbl[0]))
+ for i := 1; i < n; i++ {
+ hashPt.Add(HashAndMapToSignature([]byte(msgTbl[i])))
+ }
+ if !VerifyPairing(aggSign, hashPt, pub) {
+ t.Errorf("aggregate2")
+ }
+}
+
func test(t *testing.T, c int) {
err := Init(c)
if err != nil {
@@ -373,6 +409,8 @@ func test(t *testing.T, c int) {
testOrder(t, c)
testDHKeyExchange(t)
testSerializeToHexStr(t)
+ testPairing(t)
+ testAggregate2(t)
}
func TestMain(t *testing.T) {