mirror of
				https://github.com/bitcoin/bips.git
				synced 2025-10-27 14:09:10 +00:00 
			
		
		
		
	Accept seckey in the form of bytes and not int in the reference BIP-schnorr code to match the spec.
This commit is contained in:
		
							parent
							
								
									e0e422a5ca
								
							
						
					
					
						commit
						78bb31c3bf
					
				| @ -66,12 +66,16 @@ def is_quad(x): | ||||
|     return jacobi(x) == 1 | ||||
| 
 | ||||
| def pubkey_gen(seckey): | ||||
|     P = point_mul(G, seckey) | ||||
|     x = int_from_bytes(seckey) | ||||
|     if not (1 <= x <= n - 1): | ||||
|         raise ValueError('The secret key must be an integer in the range 1..n-1.') | ||||
|     P = point_mul(G, x) | ||||
|     return bytes_from_point(P) | ||||
| 
 | ||||
| def schnorr_sign(msg, seckey0): | ||||
|     if len(msg) != 32: | ||||
|         raise ValueError('The message must be a 32-byte array.') | ||||
|     seckey0 = int_from_bytes(seckey0) | ||||
|     if not (1 <= seckey0 <= n - 1): | ||||
|         raise ValueError('The secret key must be an integer in the range 1..n-1.') | ||||
|     P = point_mul(G, seckey0) | ||||
| @ -122,7 +126,7 @@ def test_vectors(): | ||||
|             result = result == 'TRUE' | ||||
|             print('\nTest vector #%-3i: ' % int(index)) | ||||
|             if seckey != '': | ||||
|                 seckey = int(seckey, 16) | ||||
|                 seckey = bytes.fromhex(seckey) | ||||
|                 pubkey_actual = pubkey_gen(seckey) | ||||
|                 if pubkey != pubkey_actual: | ||||
|                     print(' * Failed key generation.') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user