summaryrefslogtreecommitdiff
path: root/bip-schnorr/reference.py
diff options
context:
space:
mode:
authorJonas Nick <jonasd.nick@gmail.com>2019-11-04 12:53:37 +0000
committerPieter Wuille <pieter.wuille@gmail.com>2020-01-19 14:47:33 -0800
commitc8281deec64dcd06b49efd278c322f13f7b13de7 (patch)
tree2bdfcd620932b0a8037db7b1f5bbdb02522db826 /bip-schnorr/reference.py
parent9b5ba158c1ee8fc87b6c21de8af58754a7ea3069 (diff)
downloadbips-c8281deec64dcd06b49efd278c322f13f7b13de7.tar.xz
Fix point_from_bytes accepting out-of-range pubkeys and add test vector
Diffstat (limited to 'bip-schnorr/reference.py')
-rw-r--r--bip-schnorr/reference.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/bip-schnorr/reference.py b/bip-schnorr/reference.py
index 79be690..f2a944f 100644
--- a/bip-schnorr/reference.py
+++ b/bip-schnorr/reference.py
@@ -53,6 +53,8 @@ def bytes_from_point(P):
def point_from_bytes(b):
x = int_from_bytes(b)
+ if x >= p:
+ return None
y_sq = (pow(x, 3, p) + 7) % p
y = pow(y_sq, (p + 1) // 4, p)
if pow(y, 2, p) != y_sq: