Bitcoin Forum
December 31, 2025, 08:53:17 PM *
News: Latest Bitcoin Core release: 30.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin Public Key: Can you find X with only Y? Is that possible?  (Read 105 times)
JackMazzoni (OP)
Jr. Member
*
Offline Offline

Activity: 172
Merit: 6


View Profile
Today at 12:59:00 AM
 #1

I know we can easily find coordinate y if we know the x coordinate. Is there a way to know the x if we only have y coordinate?

Need Wallet Recovery? PM ME. 100% SAFE
Floczy
Jr. Member
*
Offline Offline

Activity: 57
Merit: 18

Chamby Token to the World


View Profile
Today at 01:02:51 AM
 #2

NO

Dedust.io ✔ ✨ ║ Chamby is a token create ║ ✨   C H A M B Y   ✨║ by the community of Bitcointalk.org ║ ✨ ✔ chamby/usdt
JackMazzoni (OP)
Jr. Member
*
Offline Offline

Activity: 172
Merit: 6


View Profile
Today at 01:20:19 AM
 #3

NO
why? is there no formula?

Need Wallet Recovery? PM ME. 100% SAFE
gmaxwell
Moderator
Legendary
*
expert
Online Online

Activity: 4620
Merit: 10284



View Profile WWW
Today at 03:04:01 AM
 #4

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.
JackMazzoni (OP)
Jr. Member
*
Offline Offline

Activity: 172
Merit: 6


View Profile
Today at 03:11:09 AM
 #5

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.


Can you give me the formula how?

Need Wallet Recovery? PM ME. 100% SAFE
hmbdofficial
Jr. Member
*
Offline Offline

Activity: 56
Merit: 8


View Profile
Today at 05:27:54 AM
 #6

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.

In general solving cubic modulo of a large prime is believed to be computationally hard as there is no polynomial time algorithm is known for an arbitrary large large prime fields in the case of secp256k1.  Therefore I’ll say finding x from y could be really difficult even though it can be possible.
rdenkye
Newbie
*
Offline Offline

Activity: 15
Merit: 1


View Profile
Today at 05:34:00 AM
 #7

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.


Can you give me the formula how?


Code:
yyy = 32670510020758816978083085130507043184471273380659243275938904335757337482424

p   = 115792089237316195423570985008687907853269984665640564039457584007908834671663
E = (p + 2) // 9
B = (p - 1) // 3

def _zeta():
    for u in range(2, 64):
        z = pow(u, B, p)
        if z != 1:
            return z
    raise ValueError("Not Found")

ZETA = _zeta()
Z2   = (ZETA * ZETA) % p

def cube_roots(a):
    a %= p
    if a == 0: return (0,)
    if pow(a, B, p) != 1: return ()
    r = pow(a, E, p)
    return tuple(sorted({r, (r * ZETA) % p, (r * Z2) % p}))

def x_from_y(y):
    return cube_roots((y*y - 7) % p)

roots = x_from_y(yyy)

print("y =", yyy % p)
print("X Root Count:", len(roots))
for i, x in enumerate(roots, 1):
    print(f"x{i} =", x)


Code:
y = 32670510020758816978083085130507043184471273380659243275938904335757337482424
X Root Count: 3
x1 = 55066263022277343669578718895168534326250603453777594175500187360389116729240
x2 = 85340279321737800624759429340272274763154997815782306132637707972559913914315
x3 = 91177636130617246552803821781935006617134368061721227770777272682868638699771
JackMazzoni (OP)
Jr. Member
*
Offline Offline

Activity: 172
Merit: 6


View Profile
Today at 06:06:05 AM
 #8

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.


Can you give me the formula how?


Code:
yyy = 32670510020758816978083085130507043184471273380659243275938904335757337482424

p   = 115792089237316195423570985008687907853269984665640564039457584007908834671663
E = (p + 2) // 9
B = (p - 1) // 3

def _zeta():
    for u in range(2, 64):
        z = pow(u, B, p)
        if z != 1:
            return z
    raise ValueError("Not Found")

ZETA = _zeta()
Z2   = (ZETA * ZETA) % p

def cube_roots(a):
    a %= p
    if a == 0: return (0,)
    if pow(a, B, p) != 1: return ()
    r = pow(a, E, p)
    return tuple(sorted({r, (r * ZETA) % p, (r * Z2) % p}))

def x_from_y(y):
    return cube_roots((y*y - 7) % p)

roots = x_from_y(yyy)

print("y =", yyy % p)
print("X Root Count:", len(roots))
for i, x in enumerate(roots, 1):
    print(f"x{i} =", x)


Code:
y = 32670510020758816978083085130507043184471273380659243275938904335757337482424
X Root Count: 3
x1 = 55066263022277343669578718895168534326250603453777594175500187360389116729240
x2 = 85340279321737800624759429340272274763154997815782306132637707972559913914315
x3 = 91177636130617246552803821781935006617134368061721227770777272682868638699771

Thank you very much. Chatgpt said it is not possible to get x with y.

Need Wallet Recovery? PM ME. 100% SAFE
rdenkye
Newbie
*
Offline Offline

Activity: 15
Merit: 1


View Profile
Today at 06:18:17 AM
 #9

Thank you very much. Chatgpt said it is not possible to get x with y.

Code:
p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F

def ys(x):
    x %= p
    r = (pow(x, 3, p) + 7) % p
    if r == 0: return ((x, 0),)
    if pow(r, (p - 1) // 2, p) != 1: return ()
    y = pow(r, (p + 1) // 4, p)
    return ((x, y), (x, (p - y) % p))

x = 55066263022277343669578718895168534326250603453777594175500187360389116729240
for i, pt in enumerate(ys(x), 1):
    print(f"P{i}: {pt}")

Code:
P1: (55066263022277343669578718895168534326250603453777594175500187360389116729240, 32670510020758816978083085130507043184471273380659243275938904335757337482424)
P2: (55066263022277343669578718895168534326250603453777594175500187360389116729240, 83121579216557378445487899878180864668798711284981320763518679672151497189239)
gmaxwell
Moderator
Legendary
*
expert
Online Online

Activity: 4620
Merit: 10284



View Profile WWW
Today at 06:40:36 AM
 #10

Sure but there are three possibilities for the three cube roots, analogous to the two for y given x for the two square roots. it's just highschool algebra.

In general solving cubic modulo of a large prime is believed to be computationally hard as there is no polynomial time algorithm is known for an arbitrary large large prime fields in the case of secp256k1.  Therefore I’ll say finding x from y could be really difficult even though it can be possible.

It's difficult at all, as two people just beat me to showing.

Don't respond to forum questions using AI-- if someone wants Automated Ignorance the can get it themselves directly without it being laundered through you.
JackMazzoni (OP)
Jr. Member
*
Offline Offline

Activity: 172
Merit: 6


View Profile
Today at 06:48:58 AM
Last edit: Today at 07:09:28 AM by JackMazzoni
 #11

Does anyone know the private key on this one? It is possible to compute the private key on this public keys?

04146d3b65add9f54ccca28533c88e2cbc63f7443e1658783ab41f8ef97c2a10b50000000000000 000000000000000000000000000000000000000000000000001

x1 = 9239253246023934947662416411507919214268280226895293549906036206298523635893

Two y values:.
y1 = 1
y2 = 115792089237316195423570985008687907853269984665640564039457584007908834671662

Bitcoin (BTC):
 Compressed: 1PiiawxF6H1GysDYZyPLsPnyGinMWtrg1Q
 Uncompressed: 1vzUAMhmjryjSud2ojJ5XtS9YwiwqsdZM

and this.

Public compressed: 030000000000000000000000000000000000000000000000000000000000000002
Result Public uncompressed: 040000000000000000000000000000000000000000000000000000000000000002990418d84d45f 61f60a56728f5a10317bdb3a05bda4425e3aee079f8a847a8d1

x1 = 2
y1= 69211104694897500952317515077652022726490027694212560352756646854116994689233

Bitcoin (BTC):
 Compressed: 1No6KkoyLWUxbyZDApmTWhPn9mezV4cZa4
 Uncompressed: 1Po5CisZWp5yc6jkDHXT2cSfFSqgym9yHs

Need Wallet Recovery? PM ME. 100% SAFE
rdenkye
Newbie
*
Offline Offline

Activity: 15
Merit: 1


View Profile
Today at 05:32:17 PM
 #12

Does anyone know the private key on this one? It is possible to compute the private key on this public keys?

04146d3b65add9f54ccca28533c88e2cbc63f7443e1658783ab41f8ef97c2a10b50000000000000 000000000000000000000000000000000000000000000000001

x1 = 9239253246023934947662416411507919214268280226895293549906036206298523635893

Two y values:.
y1 = 1
y2 = 115792089237316195423570985008687907853269984665640564039457584007908834671662

Bitcoin (BTC):
 Compressed: 1PiiawxF6H1GysDYZyPLsPnyGinMWtrg1Q
 Uncompressed: 1vzUAMhmjryjSud2ojJ5XtS9YwiwqsdZM

and this.

Public compressed: 030000000000000000000000000000000000000000000000000000000000000002
Result Public uncompressed: 040000000000000000000000000000000000000000000000000000000000000002990418d84d45f 61f60a56728f5a10317bdb3a05bda4425e3aee079f8a847a8d1

x1 = 2
y1= 69211104694897500952317515077652022726490027694212560352756646854116994689233

Bitcoin (BTC):
 Compressed: 1No6KkoyLWUxbyZDApmTWhPn9mezV4cZa4
 Uncompressed: 1Po5CisZWp5yc6jkDHXT2cSfFSqgym9yHs


I also searched for the point x1 = 1 in time. My conclusion: The points you mentioned are unknown to anyone. They are also very difficult to find.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!