How you can manually check an ECDSA signature in Python?

on

|

views

and

comments


Perhaps I were given the formulation improper however I heard that x = (z*s^-1)*G+(r*s^-1)*Okay is the equation for verifying an ECDSA signature however my code says signature is invalid however the values are from a sound bitcoin transaction.

def gensig(d,ok,h):
    x = bitcoin.fast_multiply(bitcoin.G, ok)
    r = x[0] % n
    k_inv = mod_inverse(ok, n)
    s = (k_inv * (h+(r*d))) % n
    go back r,s

def verfy(r,s,pk,h):
    # Check the signature
    w = mod_inverse(s, n) # Calculate the modular multiplicative inverse of s
    u = (h * w) % n
    v = (r * w) % n
    y = bitcoin.fast_multiply(bitcoin.G, u)
    b= bitcoin.fast_multiply(pk, v)
    a = y+b
    x =a[0] % n
    # Test if the calculated level fits the R element of the signature
    if x == r:
        print("Signature is legitimate")
    else:
        print("Signature is invalid")

def solve_k(h, r, x, s, n):
    # Calculate the modular multiplicative inverse of s modulo n
    s_inverse = mod_inverse(s, n)

    if s_inverse is None:
        go back None  # No modular inverse exists

    # Calculate ok the usage of the formulation
    ok = (h + r *x ) * s_inverse % n
    go back ok

def solve_d(s, ok, h, r, n):
    rinv = mod_inverse(r, n)
    d = (((s * ok) - h) * rinv) % n
    go back d

Given those:

R=0x0089848a1c90ee587b1d8b71c9bafccbc072613e41b3fd38cc2b1cf3041e3792bc
S=0x45305be296870b32cca5dac0f0972cac820090214158652581f406fc70ef30f3
Z= 0x3d4a58fa8e5f94e9b8ed1d79a2d584ce45803153b75d43d7bcdbf49171d90992
priv1 = 1

Once I do that:

pk = bitcoin.fast_multiply(bitcoin.G, priv1)
verfy(R,S,pk,Z)

I am getting signature is invalid however why?
What am I doing improper?

Share this
Tags

Must-read

Tesla Govt Says Repair For Vampire Drain In Sentry Mode Coming In Q2: ‘Energy Intake Wishes Development’ – Tesla (NASDAQ:TSLA)

Tesla Inc TSLA govt, Drew Baglino, on Thursday printed that the corporate is operating on liberating a device replace for decreasing energy intake...

Dividend Kings In Focal point: Phone & Information Techniques

Printed on February twenty second, 2024 through Bob Ciura The Dividend Kings consist of businesses that experience raised their dividends for a minimum of...

Tyler Perry Calls On Leisure Trade, Executive To Corral AI Prior to Everybody Is Out Of Trade

Tyler Perry has observed demonstrations of what AI can do. Whilst he's astonished, he’s additionally sounding an alarm. Perry is already balloting together...

Recent articles

More like this

LEAVE A REPLY

Please enter your comment!
Please enter your name here