Pages:
Author

Topic: Half of any bitcoin (crypto) public key - (public key half) - page 3. (Read 2449 times)

newbie
Activity: 7
Merit: 0
Hi,
How to Calculate x ,y in Addresses,can you explain more.. if any code in git-hub
can you explain step by  guide please..
I am New to bitcoin ....
please inbox me to learn something...
newbie
Activity: 22
Merit: 3
2^-1 (mod n) = 57896044618658097711785492504343953926418782139537452191302581570759080747169


2 * 57896044618658097711785492504343953926418782139537452191302581570759080747169 = 1 (mod n)

Multiplying a point by this number will "half" the point.
newbie
Activity: 4
Merit: 0
The goal is to "half" the point. You want to find the point Q where 2Q = P, your original point.

So you compute 2^-1 (mod n) where n is the order of the group (see the secp256k1 parameters: https://en.bitcoin.it/wiki/Secp256k1)

2^1 is the multiplicative inverse of 2 (mod n). 2 x 2^1 = 1 (mod n). When you do the scalar multiplication it cancels out a factor of 2.

2Q = P

(2^-1)2Q = (2^-1)P

Q = (2^-1)P

Hope that makes sense.

here the another answer

https://crypto.stackexchange.com/questions/59972/half-of-any-bitcoin-crypto-public-key-public-key-half-is-possible



ECC is cryptography over an elliptic curve group.

Firstly you have an elliptic curve, e.g. Bitcoin uses a Koblitz curve secp256k1 y2=x3+7.

The group is defined over curve points over a finite field Fp (integer modular p). The group elements are points on the curve. A point in the affine form consists of two coordinates P=(x,y) where x,y∈Fp.

For group elements, you can do point addition P+Q, as well as scalar multiplication sP, where s is an integer in Zn where n is the order of the group (how many elements in the group).

A public key in bitcoin is a point P. To do P2, you multiply 12 to P where 12 is the multiplicative inverse of 2 in Zn. It is an integer that can be found using the extended Euclidean algorithm and is 57896044618658097711785492504343953926418782139537452191302581570759080747169 in the case of secp256k1.



but in crypt o ,

private key 3

x =  f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9
y =  388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672

half of the above public key is 1 given below

x =  79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
y =  483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8

but the output is

x = c62c910e502cb615a27c58512b6cc2c94f5742f76cb3d12ec993400a3695d413
y = 17f3dadd767275ddd3b23f46723631778bf01dadaebb9a953cf068712457c010

what wrong in this how to correct this

3/2 = 1


  
newbie
Activity: 22
Merit: 3
The goal is to "half" the point. You want to find the point Q where 2Q = P, your original point.

So you compute 2^-1 (mod n) where n is the order of the group (see the secp256k1 parameters: https://en.bitcoin.it/wiki/Secp256k1)

2^1 is the multiplicative inverse of 2 (mod n). 2 x 2^1 = 1 (mod n). When you do the scalar multiplication it cancels out a factor of 2.

2Q = P

(2^-1)2Q = (2^-1)P

Q = (2^-1)P

Hope that makes sense.




newbie
Activity: 4
Merit: 0
Sure, just multiply the point by 2^-1 (mod n).

How its possible there is scalar addition, subtraction and multiplication only , can you explain more (multiply the point by 2^-1 (mod n))
newbie
Activity: 22
Merit: 3
Sure, just multiply the point by 2^-1 (mod n).
newbie
Activity: 1
Merit: 0
To get half of any given bitcoin (crypt o) public key is possible, Technically it's possible, we made that.  The public key that's in the bitcoin network.

Public key x and y == Double(Half of the Public key x and y)

Example's:

Address

Code:
1HQ3Go3ggs8pFnXuHVHRytPCq5fGG8Hbhx

Public key in network

Code:
02545d2c25b98ec8827f2d9bee22b7a9fb98091b2008bc45b3b806d44624dc038c

Public key x and y

Code:
x = 545d2c25b98ec8827f2d9bee22b7a9fb98091b2008bc45b3b806d44624dc038c
y = f1e18224b09ed00841c5407e571829e41876d44522f97e05e405a91ef38d4f00

Half of the above public key

Code:
x = 8f870b1693cb408f96a3da9e3623b6d0315a403395d79f412f26044210bcddd2
y = 8a0a3e2399787a1f084d53500bc577ba1cc4e19ab7b2d9a2bd327e5e56e8afa0



Address

Code:
1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy

Public key in network

Code:
037f73b63c10ce53c1b73800751d859915badcf5423da1fd7fabfc8556a833f0bd

Public key x and y

Code:
x = 7f73b63c10ce53c1b73800751d859915badcf5423da1fd7fabfc8556a833f0bd
y = bb2402fa216c2eeafc8e5667c8290c8e28199cb7e48bef2fffbdee5dff0ad277

Half of the above public key

Code:
x = acbe1e6677d64cbbb501f3e1e43604bc478e57fcc473e78dd06a6cb3de223c6d
y = d3bf86be940c6a60352da18297d3c3c23a6db42e586fa74294c32a0d7c1b4a88

Half of the above public key

Code:
x = ae05a1d169edb67fe94fef428b6594ba218ce157bb04c8dac2889b805f6e8965
y = 18897d88bb3c44476d8c204bf29650f159c47f6138913ab04ba37fc7bf3081cb



Address

Code:
12ib7dApVFvg82TXKycWBNpN8kFyiAN1dr

Public key in network

Code:
04d6597d465408e6e11264c116dd98b539740e802dc756d7eb88741696e20dfe7d3588695d2e7ad23cbf0aa056d42afada63036d66a1d9b97070dd6bc0c87ceb0d

Public key x and y

Code:
x = d6597d465408e6e11264c116dd98b539740e802dc756d7eb88741696e20dfe7d
y = 3588695d2e7ad23cbf0aa056d42afada63036d66a1d9b97070dd6bc0c87ceb0d

half of the above public key

Code:
x = dc0f6e4ff971e22fffa77df43d24128046599f9b2299bc7a6fbc4e7e9fc4a0ff
y = 615f1884faa5197a00560ecb69f2b18ef223a3dfaee2407d4ea5a2286de2a41b
Pages:
Jump to: