For example, let's use secp256k1, the curve used by bitcoin, y^2 = x^3 + 7, and x=12. Over the real numbers, that calculation is trivial - I can simply use a calculator. But in a finite field, how does it work? If I say "X is 12", how do I calculate Y? The equation (when using real numbers) almost always results in fractions. And modulo P only works with integers.
Asked
Active
Viewed 304 times
1
-
1This is essentially a duplicate of https://crypto.stackexchange.com/questions/10024/finite-fields-and-ecc?rq=1 Please note that you don't divide but take inverses in the finite field (modulo the prime $p$). – kodlu Feb 12 '20 at 06:16
-
4Does this answer your question? Finite fields and ECC – kodlu Feb 12 '20 at 06:17
-
1I don't think the linked duplicate answers the question which seems fundamentally on how to find square roots over finite fields. – SEJPM Feb 12 '20 at 08:47
-
1This one is probably closer to what're your looking for though it only covers the case of the field prime $p$ being $p\equiv 3\pmod 4$ – SEJPM Feb 12 '20 at 08:57
-
1Alternatively the Handbook of Applied Crypto has the algorithm as Algorithm 3.34 (Chapter PDF) – SEJPM Feb 12 '20 at 09:01
-
SEJPM is correct. The question I should have asked is "how do I find square roots over finite fields". I have an algorithm ready to go if I can find square roots modulo P. If it is impossible to do that, then it bugs me a little bit when I read something that asserts that the same math from elliptic curves on real numbers holds true over finite fields. If the modular math is actually the same, there should be a way to do those calculations. Perhaps our (so far) inability to come up with that math explains why the cryptography works (so far). – Tom V Feb 13 '20 at 03:51