diff --git a/bip-taproot.mediawiki b/bip-taproot.mediawiki index 8abf6e16..ba546897 100644 --- a/bip-taproot.mediawiki +++ b/bip-taproot.mediawiki @@ -187,7 +187,8 @@ For any byte string h it holds that taproot_tweak_pubkey(pubk def taproot_tweak_pubkey(pubkey, h): t = int_from_bytes(tagged_hash("TapTweak", pubkey + h)) - assert t < SECP256K1_ORDER + if t >= SECP256K1_ORDER: + raise ValueError Q = point_mul(point(pubkey), t) return bytes_from_int(x(Q)), is_quad(y(Q)) @@ -195,6 +196,8 @@ def taproot_tweak_seckey(seckey0, h): P = point_mul(G, int_from_bytes(seckey0)) seckey = SECP256K1_ORDER - seckey0 if not is_quad(y(R)) else seckey t = int_from_bytes(tagged_hash("TapTweak", bytes_from_int(x(P)) + h)) + if t >= SECP256K1_ORDER: + raise ValueError return (seckey + t) % SECP256K1_ORDER