diff options
Diffstat (limited to 'go')
-rw-r--r-- | go/blscgo/bls.go | 8 | ||||
-rw-r--r-- | go/main.go | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/go/blscgo/bls.go b/go/blscgo/bls.go index 10968b8..35cf253 100644 --- a/go/blscgo/bls.go +++ b/go/blscgo/bls.go @@ -259,6 +259,14 @@ func (sec *SecretKey) Sign(m string) (sign *Sign) { C.blsSecretKeySign(sec.getPointer(), sign.getPointer(), (*C.char)(unsafe.Pointer(&buf[0])), C.size_t(len(buf))) return sign } +// Constant Time Sign -- +func (sec *SecretKey) SignCT(m string) (sign *Sign) { + sign = new(Sign) + buf := []byte(m) + // #nosec + C.blsSecretKeySignCT(sec.getPointer(), sign.getPointer(), (*C.char)(unsafe.Pointer(&buf[0])), C.size_t(len(buf))) + return sign +} // Add -- func (sign *Sign) Add(rhs *Sign) { @@ -70,6 +70,8 @@ func testSign() { verifyTrue(pubVec[i].String() == secVec[i].GetPublicKey().String()) signVec[i] = *secVec[i].Sign(m) + s := *secVec[i].SignCT(m) + verifyTrue(signVec[i] == s); verifyTrue(signVec[i].Verify(&pubVec[i], m)) } var sec1 blscgo.SecretKey |