Author

Topic: Is it possible to recover uncompressed public key from compressed? (Read 834 times)

sr. member
Activity: 261
Merit: 523
The elliptic curve equation is:
Y2 = X3 + aX + b

In the case of the secp256k1 curve used by bitcoin:
a=0
b=7

Therefore:
Y2 = X3 + 7

So, if you know X, you can use the curve equation to compute Y2.
A square root extraction will result in Y and -Y.  The compressed point format includes the least significant bit of Y in the first byte.  That bit is enough to know whether you got Y or -Y and adjust appropriately.

very beginner question... what's X and Y? the integer form of the key?

X and Y are the coordinates of the elliptic curve, in which bitcoin's elliptic curve cryptography operations take place. A public key is a point on that curve so it's stored as (X, Y), or (X, b) in compressed form.

Read this for an introduction http://www.coindesk.com/math-behind-bitcoin/
sr. member
Activity: 337
Merit: 250
The elliptic curve equation is:
Y2 = X3 + aX + b

In the case of the secp256k1 curve used by bitcoin:
a=0
b=7

Therefore:
Y2 = X3 + 7

So, if you know X, you can use the curve equation to compute Y2.
A square root extraction will result in Y and -Y.  The compressed point format includes the least significant bit of Y in the first byte.  That bit is enough to know whether you got Y or -Y and adjust appropriately.

very beginner question... what's X and Y? the integer form of the key?
legendary
Activity: 924
Merit: 1000
Let us say I have compressed public key
0378D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71

How can I calculate uncompressed public key from it without knowledge of private key in form of

0478D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71
  A1518063243ACD4DFE96B66E3F2EC8013C8E072CD09B3834A19F81F659CC3455



Try this tool: https://en.bitcoin.it/wiki/Bitcoin_Address_Utility
legendary
Activity: 3472
Merit: 4801
The elliptic curve equation is:
Y2 = X3 + aX + b

In the case of the secp256k1 curve used by bitcoin:
a=0
b=7

Therefore:
Y2 = X3 + 7

So, if you know X, you can use the curve equation to compute Y2.
A square root extraction will result in Y and -Y.  The compressed point format includes the least significant bit of Y in the first byte.  That bit is enough to know whether you got Y or -Y and adjust appropriately.
legendary
Activity: 1260
Merit: 1019
Let us say I have compressed public key
0378D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71

How can I calculate uncompressed public key from it without knowledge of private key in form of

0478D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71
  A1518063243ACD4DFE96B66E3F2EC8013C8E072CD09B3834A19F81F659CC3455

Jump to: