Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: amaclin on November 28, 2014, 08:00:45 AM



Title: ECDSA math
Post by: amaclin on November 28, 2014, 08:00:45 AM
In few words signing in ECDSA is (some pseudocode)

int256 r, s, digest, privkey, k;
k = rand ( );
[r,s] = sign ( privkey, digest, k );  // signing

The question: is it possible to get 'k' from other values if i know them and do not know 'k' (formula, not bruteforcing)?
Something like

k = get_k_value ( privkey, digest, r, s );







Title: Re: ECDSA math
Post by: gmaxwell on November 28, 2014, 09:03:18 AM
Yes, if you know the private key. What awful thing are you doing?


Title: Re: ECDSA math
Post by: amaclin on November 28, 2014, 09:10:00 AM
Yes, if you know the private key. What awful thing are you doing?
Stealing bitcoins as usual :)
What else can we do on Sunday? {*} (http://www.imdb.com/character/ch0009344/quotes)


Title: Re: ECDSA math
Post by: hhanh00 on November 28, 2014, 11:11:08 AM
K=(digest+r.privkey)/s mod n


Title: Re: ECDSA math
Post by: BitCoinDream on November 29, 2014, 08:46:30 PM
K=(digest+r.privkey)/s mod n

What is n ?


Title: Re: ECDSA math
Post by: amaclin on November 29, 2014, 09:18:00 PM
Quote
What is n ?
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141


Title: Re: ECDSA math
Post by: dabura667 on November 30, 2014, 02:39:01 AM
Quote
What is n ?
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
aka "the order of the curve" of secp256k1 (the curve bitcoin uses)


Title: Re: ECDSA math
Post by: hhanh00 on November 30, 2014, 06:31:31 AM
This also allows you to calculate the public key from the signature.


Title: Re: ECDSA math
Post by: dabura667 on November 30, 2014, 08:45:29 AM
This also allows you to calculate the public key from the signature.
lol. If you know the private key, you don't need the signature to calculate the public key.


Title: Re: ECDSA math
Post by: gmaxwell on November 30, 2014, 09:33:30 AM
This also allows you to calculate the public key from the signature.
The public key is not completely unambiguous from the signature. (nor is R, technically)


Title: Re: ECDSA math
Post by: hhanh00 on November 30, 2014, 10:21:00 AM
lol. If you know the private key, you don't need the signature to calculate the public key.
Obviously without knowing the private key.

The public key is not completely unambiguous from the signature. (nor is R, technically)
Yes but it can be lifted if we know the address.