Score:2

How to recover generator G of edwards curve

bd flag

If we know the value of G*n, the value of n, and the value of p in Zp, is there a way to find out G?

I tried the code below on sage but the value was different from the original G.

# we know nG = (x, y)
Gx = inverse_mod(n, p)*nG[0] % p
Gy = inverse_mod(n, p)*nG[1] % p
G = (Gx, Gy)
Score:2
my flag

If we know the value of G*n, the value of n, and the value of p in Zp, is there a way to find out G?

Sure is, assuming that you also know what the neutral element is (for example, it's $(0,1)$)

First step is recovering the curve equation. Fortunately, with Edwards curves, it's easy to do with from a single point (assuming $x, y \ne 0$), by just solving this equation for $d$:

$$x^2 + y^2 = 1 + dx^2y^2 \pmod p$$

Second step is to determine $q$ the order of the curve; this can be done by 'point counting'; I believe Sage includes such a facility.

Third step is to compute $G = [n^{-1} \bmod q](nG)$ (note: this is inverse modulo $q$, not modulo $p$); Sage also has the facilities to do that; you'll need the neutral element to compute this step, as the addition law depends on it.

There; you're done

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.