Bitcoin Forum
August 20, 2018, 07:36:05 AM
 News: Latest stable version of Bitcoin Core: 0.16.2  [Torrent].
 Home Help Search Donate Login Register
 Pages: [1]
 Author Topic: Relationship between public key and private key  (Read 1062 times)
sss555
Newbie

Offline

Activity: 16
Merit: 0

 November 17, 2015, 09:05:18 AM

p = fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f

n = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140

cryptography point multiplication

private key 14

base point 1

x = 79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798

Note : point multiplication
private key is even only point doubling operation,
If private key is odd point addition with before doubled point or initial point
then double the point ( before doubled point )
when the privatekey is less then 1 operation ended

step 1 : private key is even (14) so point addition is none
and just double base point x,y , 1 * 2 = 2
x=c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
y=1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
and private key divided by 2 get 7 , 14 / 2 = 7

step 2 : now private key is odd (7) so process addition function. step 1 addition value plus doubled point so the addition point is 0(none) + 2 = 2
x = c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
y = 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
Now double the doubled point to get point 2 * 2 = 4
x = e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
y = 51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922
and private key divided by 2 get 3 , 7 / 2 = 3

step 3 : now private key is odd (3) so process addition function. step 2 addition value plus doubled point so the addition point is 2 + 4 = 6
x = fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556
y = ae12777aacfbb620f3be96017f45c560de80f0f6518fe4a03c870c36b075f297
Now double the doubled point to get point 4 * 2 = 8
x = 2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01
y = 5c4da8a741539949293d082a132d13b4c2e213d6ba5b7617b5da2cb76cbde904
and privatekey divided by 2 get 3 , 3 / 2 = 1

step 4 : now private key is odd (1) so process addition function. step 3 addition value plus doubled point so the addition point is 6 + 8 = 14
x = 499fdf9e895e719cfd64e67f07d38e3226aa7b63678949e6e49b241a60e823e4
y = cac2f6c4b54e855190f044e4a7b3d464464279c27a3f95bcc65f40d403a13f5b
Now double the doubled point to get point 8 * 2 = 16
x = e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a
y = f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821
and privatekey divided by 2 get 1 , 1 / 2 = 0.5
operation ended

at last the output x , y

private key 14 public keys are

x = 499fdf9e895e719cfd64e67f07d38e3226aa7b63678949e6e49b241a60e823e4
y = cac2f6c4b54e855190f044e4a7b3d464464279c27a3f95bcc65f40d403a13f5b

==================================================================
Even
same point multiplication, public key to private key here some operation

points are 8 public key ( half of all public key are even )

x = 2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01
y = 5c4da8a741539949293d082a132d13b4c2e213d6ba5b7617b5da2cb76cbde904

step 1 : half of 8 public keys to get 4 public keys
x = e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
y = 51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922
and public keys is even ( 8 ) so just double, 1 * 2 = 2

step 2 : half of 4 public keys to get 2 public keys
x = c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
y = 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
and public keys is even (4) so just double, 2 * 2 = 4

step 3 : half of 2 public keys to get 1 public keys
x = 79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
and public keys is even (2) so just double, 4 * 2 = 8

step 3 : public key is 1 so end the operation

at last the output 8

so the private key 8

--------------------------------------------------------------------------------------------------------------
Odd
points are 14 public key ( half of all public key even and odd public key entered ),
here we need to identify which public-key is odd and which is even

x = 499fdf9e895e719cfd64e67f07d38e3226aa7b63678949e6e49b241a60e823e4
y = cac2f6c4b54e855190f044e4a7b3d464464279c27a3f95bcc65f40d403a13f5b

step 1 : half of 14 public keys to get 7 public keys
x =  5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc
y =  6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da
and public keys is even (14) so just double, 1 * 2 = 2

step 2 : half of 7 public key to get 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a4 public key
y =  72dd2e1d26c233337760c49122a1df67d0aa792b453f97bd29765c83b47ba01d
you can double above public key to get 7 public key x,y But we expect public key of 3 then only we     get private key back,
so identify which public key is odd and which is even

---------------------------------------------------------------------------------------------------------------

here some analyse 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a4 + 1 public key are

x =  66954eca0543426304036fc70fc0fe3381f5195e88433bc32c5a8a60341e2859
y =  f274e4ebbf160edc0c6379a70629b18201bf8e0f52578615bd114528b2c80733

double the above public key to get 9 public key

---------------------------------------------------------------------------------------------------------------

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a4 - 1 public keys are

x =  5699b93fc6e1bd29e09a328d657a607b4155b61a6b5fcbedd7c12df7c67df8f5
y =  3eb81178ebcdab6894d1acb3196fd8b7d5a3cc237988cd5af7cc70f98cc978a7

double the above public key to get 5 public key

x =  2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4
y =  d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6

---------------------------------------------------------------------------------------------------------------

Note: n = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140

n / 2 = 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 5 == public key == half of 9 public key

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 4 == public key == half of 7 public key

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 3 == public key == half of 5 public key

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 2 == public key == half of 3 public key

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 1 == public key == - half of n public key

---------------------------------------------------------------------------------------------------------------

Note:

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 --> <= this private key public keys are (+ half public key)

y =  3f3979bf72ae8202983dc989aec7f2ff2ed91bdd69ce02fc0700ca100e59ddf3

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1  --> >= this private key public keys are (- half public key)

y =  c0c686408d517dfd67c2367651380d00d126e4229631fd03f8ff35eef1a61e3c

---------------------------------------------------------------------------------------------------------------

my analyse half of even public key point goes down, but odd public key half goes higher >=  - half

Example:

8 public key half is 4 public key, but 7 public key half is 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 4

even public key half example

x = 2f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01   ----->  8 public key
y = 5c4da8a741539949293d082a132d13b4c2e213d6ba5b7617b5da2cb76cbde904

8 public key half below get 4 public key

x = e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
y = 51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922

odd public key half example

x =  5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc  ----->  7 public key
y =  6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da

7 public key half below get 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 4 public key

y =  72dd2e1d26c233337760c49122a1df67d0aa792b453f97bd29765c83b47ba01d

-------------------------------------------------------------------------------------------------------------------

another analyse 7th half and 9th half public key make them further half to get different answer

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 5 == public key == half of 9 public key

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 4 == public key == half of 7 public key

now divide n into 4 half n/4 get 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9050L

3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9050 --> below this, public keys are 1st half public keys

3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9050 --> above this, and 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 --> below this public keys are 2nd half public keys

7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 --> above this, and bfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f1 --> below this public keys are 3rds half public keys

bfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f1 --> above this, public keys are 4th half public keys

-----------------------------------------------------------------------------------------------------------------

7 public key half below get 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 4 public key

y =  72dd2e1d26c233337760c49122a1df67d0aa792b453f97bd29765c83b47ba01d

half of above 7 publickey half to get 3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9052 public key it goes 2 nd half

x =  13780453c56d0cc911a106e74dbf49e743e46396dc09e42dba4aeaff970bacef
y =  8888029b003fb198c81ecabd9f7992df7a73d33734c0a71ca4ba0f4a7f607be6

-----------------------------------------------------------------------------------------------------------------

9 public key half below get 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 + 5 public key

x =  66954eca0543426304036fc70fc0fe3381f5195e88433bc32c5a8a60341e2859
y =  f274e4ebbf160edc0c6379a70629b18201bf8e0f52578615bd114528b2c80733

half of above 9 public key half to get bfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f3 public key it goes 4 th half

------------------------------------------------------------------------------------------------------------------
Below picture to understand clear

Even public key

http://virtacoin.do.am/images/1.png

Odd public key 7

http://virtacoin.do.am/images/2.png

Odd public key 9

http://virtacoin.do.am/images/3.png
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1534750565
Hero Member

Offline

Posts: 1534750565

Ignore
 1534750565

1534750565
 Report to moderator
1534750565
Hero Member

Offline

Posts: 1534750565

Ignore
 1534750565

1534750565
 Report to moderator
DannyHamilton
Legendary

Offline

Activity: 2198
Merit: 1371

 November 17, 2015, 02:42:44 PM

Was there a question in there somewhere?

Or some new piece of information you are sharing that we didn't previously know?

I'm not sure what the reason is for your post.

sss555
Newbie

Offline

Activity: 16
Merit: 0

 November 18, 2015, 04:09:13 AM

Was there a question in there somewhere?

Or some new piece of information you are sharing that we didn't previously know?

I'm not sure what the reason is for your post.

Its just information education purpose, math behind crypto
 Pages: [1]