aboutsummaryrefslogtreecommitdiffstats
path: root/go
diff options
context:
space:
mode:
Diffstat (limited to 'go')
-rw-r--r--go/blscgo/bls.go8
-rw-r--r--go/main.go2
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) {
diff --git a/go/main.go b/go/main.go
index 7c4cf38..b7caf40 100644
--- a/go/main.go
+++ b/go/main.go
@@ -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