2

I've been reading about ECDSA in here.

Step 11 says that

you only need the ‘x‘ value (20 bytes) for the signature, and that value will be called ‘R‘

Does that say that R is the x-coordinate of the public key. But I don't see that happening in a raw transactions.

For the pizza transaction, it's scriptSig looks like that:

48

30450221009908144ca6539e09512b9295c8a27050d478fbb96f8addbc3d075544dc41328702201aa528be2b907d316d2da068dd9eb1e23243d97e444d59290d2fddf25269ee0e01

41

042e930f39ba62c6534ee98ed20ca98959d34aa9e057cda01cfd422c6bab3667b76426529382c23f42b9b08d7832d4fee1d6b437a8526e59667ce9c4e9dcebcabb

The first one is signature,the second one is the public key. I don't see any relationship between the two items.

2 Answers 2

2

Does that say that R is the x-coordinate of the public key.

That is not correct.

The R value in the signature is the x coordinate of a point, but that point is not equal to the public key. Instead, it is the x coordinate of the public nonce used in the signature.

1

And since this is a signature, there is of course also this relation:

G*m+Y*r == R*s

both sides of this equation evaluate to the point: (0x75c79891ca4248d78c84bac2d4a1d787d5a53d77044b1ab46e7de24f23e860dc,0x6b4c968c2bbba0fdec5f119d577b5be812c804a6ca4ea2858335af36685a8994)

where:

  • G is the generator point
  • m is the message hash: 0xc2d48f45d7fbeff644ddb72b0f60df6c275f0943444d7df8cc851b3d55782669
  • Y is x*G, the public key: (0x2e930f39ba62c6534ee98ed20ca98959d34aa9e057cda01cfd422c6bab3667b7,0x6426529382c23f42b9b08d7832d4fee1d6b437a8526e59667ce9c4e9dcebcabb)
  • r is the r-value: 0x9908144ca6539e09512b9295c8a27050d478fbb96f8addbc3d075544dc413287
  • s is the s-value: 0x1aa528be2b907d316d2da068dd9eb1e23243d97e444d59290d2fddf25269ee0e
  • R is k*G : (0x9908144ca6539e09512b9295c8a27050d478fbb96f8addbc3d075544dc413287,0x64c226b542a56976625decfa9717d7b649c4b77fed49fe13b770442467a246fa)
  • x is the private key
  • k is the signing secret ( aka nonce )

You can play with the equations in this calculator

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.