2
2
from reference import *
3
3
4
4
def vector0 ():
5
- seckey = 1
5
+ seckey = bytes_from_int ( 1 )
6
6
msg = bytes_from_int (0 )
7
7
sig = schnorr_sign (msg , seckey )
8
8
pubkey = pubkey_gen (seckey )
@@ -11,10 +11,10 @@ def vector0():
11
11
pubkey_point = point_from_bytes (pubkey )
12
12
assert (pubkey_point [1 ] & 1 == 0 )
13
13
14
- return (bytes_from_int ( seckey ) , pubkey , msg , sig , "TRUE" , None )
14
+ return (seckey , pubkey , msg , sig , "TRUE" , None )
15
15
16
16
def vector1 ():
17
- seckey = 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
17
+ seckey = bytes_from_int ( 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF )
18
18
msg = bytes_from_int (0x243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89 )
19
19
sig = schnorr_sign (msg , seckey )
20
20
pubkey = pubkey_gen (seckey )
@@ -23,10 +23,10 @@ def vector1():
23
23
pubkey_point = point_from_bytes (pubkey )
24
24
assert (pubkey_point [1 ] & 1 == 1 )
25
25
26
- return (bytes_from_int ( seckey ) , pubkey , msg , sig , "TRUE" , None )
26
+ return (seckey , pubkey , msg , sig , "TRUE" , None )
27
27
28
28
def vector2 ():
29
- seckey = 0xC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B14E5C9
29
+ seckey = bytes_from_int ( 0xC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B14E5C9 )
30
30
msg = bytes_from_int (0x5E2D58D8B3BCDF1ABADEC7829054F90DDA9805AAB56C77333024B9D0A508B75C )
31
31
sig = schnorr_sign (msg , seckey )
32
32
@@ -35,18 +35,19 @@ def vector2():
35
35
R = point_from_bytes (sig [0 :32 ])
36
36
assert (not is_square (R [0 ]))
37
37
38
- return (bytes_from_int ( seckey ) , pubkey_gen (seckey ), msg , sig , "TRUE" , None )
38
+ return (seckey , pubkey_gen (seckey ), msg , sig , "TRUE" , None )
39
39
40
40
def vector3 ():
41
- seckey = 0x0B432B2677937381AEF05BB02A66ECD012773062CF3FA2549E44F58ED2401710
41
+ seckey = bytes_from_int ( 0x0B432B2677937381AEF05BB02A66ECD012773062CF3FA2549E44F58ED2401710 )
42
42
msg = bytes_from_int (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF )
43
43
sig = schnorr_sign (msg , seckey )
44
- return (bytes_from_int ( seckey ) , pubkey_gen (seckey ), msg , sig , "TRUE" , "test fails if msg is reduced modulo p or n" )
44
+ return (seckey , pubkey_gen (seckey ), msg , sig , "TRUE" , "test fails if msg is reduced modulo p or n" )
45
45
46
46
# Signs with a given nonce. Results in an invalid signature if y(kG) is not a square
47
47
def schnorr_sign_fixed_nonce (msg , seckey0 , k ):
48
48
if len (msg ) != 32 :
49
49
raise ValueError ('The message must be a 32-byte array.' )
50
+ seckey0 = int_from_bytes (seckey0 )
50
51
if not (1 <= seckey0 <= n - 1 ):
51
52
raise ValueError ('The secret key must be an integer in the range 1..n-1.' )
52
53
P = point_mul (G , seckey0 )
@@ -58,12 +59,12 @@ def schnorr_sign_fixed_nonce(msg, seckey0, k):
58
59
# Creates a singature with a small x(R) by using k = 1/2
59
60
def vector4 ():
60
61
one_half = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
61
- seckey = 0x763758E5CBEEDEE4F7D3FC86F531C36578933228998226672F13C4F0EBE855EB
62
+ seckey = bytes_from_int ( 0x763758E5CBEEDEE4F7D3FC86F531C36578933228998226672F13C4F0EBE855EB )
62
63
msg = bytes_from_int (0x4DF3C3F68FCC83B27E9D42C90431A72499F17875C81A599B566C9889B9696703 )
63
64
sig = schnorr_sign_fixed_nonce (msg , seckey , one_half )
64
65
return (None , pubkey_gen (seckey ), msg , sig , "TRUE" , None )
65
66
66
- default_seckey = 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF
67
+ default_seckey = bytes_from_int ( 0xB7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF )
67
68
default_msg = bytes_from_int (0x243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89 )
68
69
69
70
def vector5 ():
0 commit comments