How to determine if a public key point y is negative or positive, odd or even?

3

Take a bitcoin public key (x, y) and its additive inverse (x, -y). How do you identify which is the positive point and which is the negative point?

Example

Private key 1 -> (x, y)

x = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798L

y = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L

-y = 0xb7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777L

Private key 2 -> (x, y)

x = 0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5L

y = 0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52aL

-y = 0xe51e970159c23cc65c3a7be6b99315110809cd9acd992f1edc9bce55af301705L

Private key 3 -> (x, y)

x = 0xf9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9L

y = 0x388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672L

-y = 0xc77084f09cd217ebf01cc819d5c80ca99aff5666cb3ddce4934602897b4715bdL


Also, how can you identify which pub key is odd and which is even?

ex: private key 1 x,y is odd , private key 2 x,y is even

Prabu r

Posted 2015-09-15T12:56:39.170

Reputation: 181

I don't understand the question. x and y here are elements of the finite field F_p in which there is not generally an unambiguous meaning of "odd" and "even" - every number is divisible by 2 with respect to the field multiplication. There is a similar issue with "positive" and "negative" since F_p is not an ordered field.Nate Eldredge 2015-09-15T15:09:01.807

@NateEldredge, I think Prabu is looking to know whether or not the point was generated from a private key that is odd/even, not whether the resulting coordinates are odd/even.morsecoder 2015-09-15T16:00:32.373

Answers

5

There is no concrete determination that makes one 'y' value negative or not in an EC point. Feel free to make your own convention, like y-values <= than half of p are negative, and > half of p are positive. That's just a convention, though.

Related:


Also, how can you identify which pub key is odd and which is even?

ex: private key 1 x,y is odd , private key 2 x,y is even

You can't! Not without knowing the private key itself. If you could, you would be part of the way towards solving the discrete log problem.

morsecoder

Posted 2015-09-15T12:56:39.170

Reputation: 12 624

Hi StephenM347, y-values <= than half of p are negative, and > half of p are positive, please can you explain this clear with some examplePrabu r 2015-09-27T04:50:59.143