summaryrefslogtreecommitdiff
path: root/bip-0340/reference.py
diff options
context:
space:
mode:
Diffstat (limited to 'bip-0340/reference.py')
-rw-r--r--bip-0340/reference.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/bip-0340/reference.py b/bip-0340/reference.py
index da1e689..6b1645c 100644
--- a/bip-0340/reference.py
+++ b/bip-0340/reference.py
@@ -122,7 +122,7 @@ def schnorr_sign(msg, seckey, aux_rand):
sig = bytes_from_point(R) + bytes_from_int((k + e * d) % n)
debug_print_vars()
if not schnorr_verify(msg, bytes_from_point(P), sig):
- raise RuntimeError('The signature does not pass verification.')
+ raise RuntimeError('The created signature does not pass verification.')
return sig
def schnorr_verify(msg, pubkey, sig):
@@ -173,13 +173,17 @@ def test_vectors():
print(' Expected key:', pubkey.hex().upper())
print(' Actual key:', pubkey_actual.hex().upper())
aux_rand = bytes.fromhex(aux_rand)
- sig_actual = schnorr_sign(msg, seckey, aux_rand)
- if sig == sig_actual:
- print(' * Passed signing test.')
- else:
- print(' * Failed signing test.')
- print(' Expected signature:', sig.hex().upper())
- print(' Actual signature:', sig_actual.hex().upper())
+ try:
+ sig_actual = schnorr_sign(msg, seckey, aux_rand)
+ if sig == sig_actual:
+ print(' * Passed signing test.')
+ else:
+ print(' * Failed signing test.')
+ print(' Expected signature:', sig.hex().upper())
+ print(' Actual signature:', sig_actual.hex().upper())
+ all_passed = False
+ except RuntimeError as e:
+ print(' * Signing test raised exception:', e)
all_passed = False
result_actual = schnorr_verify(msg, pubkey, sig)
if result == result_actual: