mirror of
https://github.com/tendermint/tendermint.git
synced 2026-05-29 10:30:20 +00:00
BLS: simple sign and verify using blst library
This commit is contained in:
@@ -3,6 +3,7 @@ package bls
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/tendermint/tendermint/crypto/bls/blst"
|
||||
"github.com/tendermint/tendermint/crypto/ed25519"
|
||||
)
|
||||
|
||||
@@ -26,6 +27,26 @@ func TestEd25519SignVerify(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestBlstSignVerify(t *testing.T) {
|
||||
m := []byte("a test message to be signed")
|
||||
privKey := blst.GenPrivKey()
|
||||
pubKey := privKey.PubKey()
|
||||
|
||||
sig, err := privKey.Sign(m)
|
||||
if err != nil {
|
||||
t.Error("Unexpected nil signature or error", m, sig, err)
|
||||
}
|
||||
if !pubKey.VerifySignature(m, sig) {
|
||||
t.Error("Failed to verify signature produced by the key", m, sig)
|
||||
}
|
||||
if pubKey.VerifySignature(scrambleBytes(m), sig) {
|
||||
t.Error("Unexpected to verify scrambled message", scrambleBytes(m), sig)
|
||||
}
|
||||
if pubKey.VerifySignature(m, scrambleBytes(sig)) {
|
||||
t.Error("Unexpected to verify scrambled signature", m, scrambleBytes(sig))
|
||||
}
|
||||
}
|
||||
|
||||
// Scrambles a byte array, currently just flipping a bit.
|
||||
// TODO: implement a more complex scrambling method.
|
||||
func scrambleBytes(b []byte) []byte {
|
||||
|
||||
Reference in New Issue
Block a user