-2

Good day.

How I can modify elliptic curve point, like number modulo ?

number example, with unknown privkey 5555555555 :

5555555555 % 2500 = 555

how to get pubkey with privkey 555, from pubkey with privkey 5555555555 using any math operation or code incude change modulo of curve, calculatex and y coordinates modulo 555 etc ? ? ?

Q(5555555555) % 2500 = Q(55) how to do this ?

Any comments please ?

Have a good day

  • [moderator note] Welcome to crypto-SE! I suggest you edit the question to remove salutations and the line asking for comments: We prefer bare questions. Notice that we prefer mathematical notation to code, and prefer LaTex. So instead of 5555555555 % 2500 = 555, we prefer $5555555555\bmod2500=555$, which you can write as $5555555555 \bmod 2500 = 555$. – fgrieu Sep 11 '22 at 13:54

2 Answers2

1

In standard Elliptic Curve cryptography, the private key can be reduced modulo the order of the generator point, without changing the matching public key. That order is often noted $n$. In the question's numerical example, that would be $n=2500$. However, customarily, the generator point is chosen such that $n$ is prime.

In practical use, $n$ is part of the curve parameters. Here in sec2-v2 is an example for a common curve; the notation and a brief summary of the math is in sec1-v2.

Mathematically, $n$ is the length of the cycle of the points on the Elliptic Curve reached by adding (in the sense that has for these points) the generator point (starting from the generator point, or from the identity point also known at the point at infinity). That method is usable only for artificially small groups. For larger ones, see e.g. this question.


How to get the public key for private key $555$, from the public key with private key $5555555555$ using any math operation…

If $n$ is $2500$, or more generally if $n$ is a divisor of $5555555555-555$, then $555\equiv5555555555\pmod n$ and the two private keys are the same.

Otherwise, it remains possible to compute the public key for private key $555$ using that private key, the curve and generator parameters, and a standard algorithm for point multiplication, such as the one in the aforementioned summary of the math.

fgrieu
  • 140,762
  • 12
  • 307
  • 587
  • @fgrieu, 2500 is order !!! How to change point ? I thant get pubkey with big order, and convert them to small order ??? – Caraco Mongos Sep 11 '22 at 06:51
  • @Caraco Mongos : I don't see a meaningful sense (or way) to converting a public key from big order to small order. – fgrieu Sep 11 '22 at 14:21
1

Q(5555555555) % 2500 = Q(55) how to do this ?

We hope you can't do this (on a large elliptic curve, and without knowing the private key 5555555555 - if you can, then ECC is broken.

After all, if you are given a public value Q(x), and if you could do this, you could pick a smallish value $a$ and compute $Q(x \bmod a)$; you could find the discrete log of that point, namely $x \bmod a$. You could do this for several relatively prime values of $a$, giving you $x \bmod a, x \bmod b, ..., x \bmod z$. From those values, it is straightforward to recover $x$, thus recovering the private value from the public one.

If addition, even if your mod operation was restricted to 2500, it could still be used to solve discrete log problems; first you compute $Q(X \bmod 2500)$; you can easily solve that discrete log problem. Then, you compute $2500^{-1} \times (Q(X) - Q(X \bmod 2500))$ (where $\times$ is point multiplication, and $2500^{-1}$ is computed modulo $n$ (the order of the curve). Because $X - (X \bmod 2500)$ is a multiple of 2500, this is $Q(\lfloor X/2500 \rfloor)$; we can repeat this process and read out the value of $X$ in base 2500.

poncho
  • 147,019
  • 11
  • 229
  • 360