Skip to content

Commit 9fe85c7

Browse files
committed
Merge pull request vbuterin#125 from wizardofozzie/patch-7
Fixed ecdsa_verify, add address signature verify
2 parents 953d558 + 0b210d9 commit 9fe85c7

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

bitcoin/main.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,13 +503,21 @@ def ecdsa_raw_verify(msghash, vrs, pub):
503503
u1, u2 = z*w % N, r*w % N
504504
x, y = fast_add(fast_multiply(G, u1), fast_multiply(decode_pubkey(pub), u2))
505505

506-
return r == x and r % N and s % N
506+
if not (r % N) or not (s % N):
507+
return False
508+
return r == x
507509

508510

509511
def ecdsa_verify(msg, sig, pub):
510512
return ecdsa_raw_verify(electrum_sig_hash(msg), decode_sig(sig), pub)
511513

512514

515+
def ecdsa_verify_addr(msg, sig, addr):
516+
Q = ecdsa_recover(msg, sig)
517+
magic = get_version_byte(addr)
518+
return addr == pubtoaddr(Q, int(magic))
519+
520+
513521
def ecdsa_raw_recover(msghash, vrs):
514522
v, r, s = vrs
515523
x = r

0 commit comments

Comments
 (0)