<p>There is no known relation between the parity of the Y coordinate and any property of the private key (like whether it's in the low or high half).</p>
<p>In BIP340, which defines the Schnorr-based digital signature scheme used in Bitcoin, x-only public keys are used, which just consist of an X coordinate without information about the Y coordinate.</p>
<p>Internally, this scheme treats the Y coordinate as implicitly even (as if there was a 02 in front). This is accomplished by, if the provided signing private key has a corresponding odd Y coordinate, negating the private key (which switches the Y coordinate to even) at signing time.</p>

CC BY-SA 4.0
2023-11-20T00:23:22.443Z
thanks for answering that
I tried taking the even keys as correct, and when I try adding the generator point to it, it sometimes goes in the backward direction, is there any way I can generate the next x coordinate from the previous x coordinate without using y coordinate?
is it okay to ask questions in comments?
Zetock
CC BY-SA 4.0
2023-11-20T01:35:57.613Z
If you're going to do point additions, you really need to know both X and Y coordinates.
Pieter Wuille
CC BY-SA 4.0
2023-11-19T18:39:37.487Z
2023-11-19T20:21:41.413Z
2023-11-19T20:21:41.413Z
Pieter Wuille
<p>If I have a x coordinate without any prefix such as 03 or 02
fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556
will it be possible to compute the correct y coordinate that would be usually generated normally given that private key is smaller that (n - 1) / 2, because public keys after that have same x coordinates but with different y coordinates.
If not, can someone explain me how bitcoin public key generation selects the correct y coordinate normally?
sorry incase answer was too easy, I am not too knowledgeable about all this stuff.</p>

<public-key><secp256k1><x-only-pubkeys><elliptic-curve>
Is it possible to calculate the correct y coordinate from x coordinate given only x coordinate without any prefix
Zetock
# Is it possible to calculate the correct y coordinate from x coordinate given only x coordinate without any prefix

(Asked by: username_0 on 2023-11-17)

If I have a x coordinate without any prefix such as 03 or 02
fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556
will it be possible to compute the correct y coordinate that would be usually generated normally given that private key is smaller that (n - 1) / 2, because public keys after that have same x coordinates but with different y coordinates.
If not, can someone explain me how bitcoin public key generation selects the correct y coordinate normally?
sorry incase answer was too easy, I am not too knowledgeable about all this stuff.

**Tags:** public-key, secp256k1, x-only-pubkeys, elliptic-curve


---

## 1 answers

### Answer by username_1 on 2023-11-19. Score: 2 | Accepted answer

There is no known relation between the parity of the Y coordinate and any property of the private key (like whether it's in the low or high half).

In BIP340, which defines the Schnorr-based digital signature scheme used in Bitcoin, x-only public keys are used, which just consist of an X coordinate without information about the Y coordinate.

Internally, this scheme treats the Y coordinate as implicitly even (as if there was a 02 in front). This is accomplished by, if the provided signing private key has a corresponding odd Y coordinate, negating the private key (which switches the Y coordinate to even) at signing time.

> **Comments:**
> **username_0**: thanks for answering that I tried taking the even keys as correct, and when I try adding the generator point to it, it sometimes goes in the backward direction, is there any way I can generate the next x coordinate from the previous x coordinate without using y coordinate? is it okay to ask questions in comments?  
> **username_1**: If you're going to do point additions, you really need to know both X and Y coordinates.  

---

