Skip to content

Commit 35f1ffa

Browse files
committed
Make more clear that signing function in test vectors generation code isn't intended to be used anywhere else
1 parent c0f0c8d commit 35f1ffa

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

bip-schnorr/test-vectors.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ def vector3():
4343
sig = schnorr_sign(msg, seckey)
4444
return (seckey, pubkey_gen(seckey), msg, sig, "TRUE", "test fails if msg is reduced modulo p or n")
4545

46-
# Signs with a given nonce. Results in an invalid signature if y(kG) is not a square
47-
def schnorr_sign_fixed_nonce(msg, seckey0, k):
46+
# Signs with a given nonce. This can be INSECURE and is only INTENDED FOR
47+
# GENERATING TEST VECTORS. Results in an invalid signature if y(kG) is not
48+
# square.
49+
def insecure_schnorr_sign_fixed_nonce(msg, seckey0, k):
4850
if len(msg) != 32:
4951
raise ValueError('The message must be a 32-byte array.')
5052
seckey0 = int_from_bytes(seckey0)
@@ -61,7 +63,7 @@ def vector4():
6163
one_half = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
6264
seckey = bytes_from_int(0x763758E5CBEEDEE4F7D3FC86F531C36578933228998226672F13C4F0EBE855EB)
6365
msg = bytes_from_int(0x4DF3C3F68FCC83B27E9D42C90431A72499F17875C81A599B566C9889B9696703)
64-
sig = schnorr_sign_fixed_nonce(msg, seckey, one_half)
66+
sig = insecure_schnorr_sign_fixed_nonce(msg, seckey, one_half)
6567
return (None, pubkey_gen(seckey), msg, sig, "TRUE", None)
6668

6769
default_seckey = bytes_from_int(0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF)
@@ -82,7 +84,7 @@ def vector6():
8284
seckey = default_seckey
8385
msg = default_msg
8486
k = 3
85-
sig = schnorr_sign_fixed_nonce(msg, seckey, k)
87+
sig = insecure_schnorr_sign_fixed_nonce(msg, seckey, k)
8688

8789
# Y coordinate of R is not a square
8890
R = point_mul(G, k)
@@ -118,7 +120,7 @@ def vector9():
118120
k = 0
119121
bytes_from_point_tmp = bytes_from_point.__code__
120122
bytes_from_point.__code__ = bytes_from_point_inf0.__code__
121-
sig = schnorr_sign_fixed_nonce(msg, seckey, k)
123+
sig = insecure_schnorr_sign_fixed_nonce(msg, seckey, k)
122124
bytes_from_point.__code__ = bytes_from_point_tmp
123125

124126
return (None, pubkey_gen(seckey), msg, sig, "FALSE", "sG - eP is infinite. Test fails in single verification if has_square_y(inf) is defined as true and x(inf) as 0")
@@ -137,7 +139,7 @@ def vector10():
137139
k = 0
138140
bytes_from_point_tmp = bytes_from_point.__code__
139141
bytes_from_point.__code__ = bytes_from_point_inf1.__code__
140-
sig = schnorr_sign_fixed_nonce(msg, seckey, k)
142+
sig = insecure_schnorr_sign_fixed_nonce(msg, seckey, k)
141143
bytes_from_point.__code__ = bytes_from_point_tmp
142144

143145
return (None, pubkey_gen(seckey), msg, sig, "FALSE", "sG - eP is infinite. Test fails in single verification if has_square_y(inf) is defined as true and x(inf) as 1")

0 commit comments

Comments
 (0)