Sunt nou în criptografia cu curbe eliptice și lucrez la o provocare CTF care folosește curbe eliptice. În prezent, încerc să găsesc generatorul, $G$și mi se dau cheile publice și private, $P$ și $k$, s.t. $P = [k]G$, precum și un alt punct aleatoriu pe curbă. Cunosc ordinea, $n$, al grupului și cunosc cele două numere prime, $p$ și $q$, care sunt singurii factori ai $n$.
eu citit că, dacă aveți cheile private și publice, puteți calcula generatorul ca...
$$G = [k^{-1}]P\pmod n$$
... Unde $k^{-1} = n - k$.
Totul este grozav, dar, din păcate, nu cunosc parametrii, $a$ și $b$, a curbei eliptice, $y^2 = x^3 + ax + b$, și așa că am probleme cu înmulțirea punctelor EC cu $k^{-1}$.
Mă gândeam, deoarece cunosc valorile a două puncte de pe curbă, am în esență următorul sistem de ecuații liniare:
\begin{align}
y_1^2 &= x_1^3 + ax_1 + b\
y_2^2 &= x_2^3 + ax_2 + b\
\end{align}
Am încercat să rezolv acest lucru folosind soluția de teoremă z3, dar mi s-a dat un răspuns, afirmând că sistemul este nesatisfăcător. Apoi am încercat să-mi modific sistemul de ecuații, astfel încât ambele părți ale ecuației să fie calculate modulo $n$, dar acest lucru a dus la z3 să dureze o veșnicie pentru a găsi soluția, probabil pentru că $a$ și $b$ sunt numere de 128 de biți și $n$ este un număr de 512 biți. Acest lucru m-a făcut să mă gândesc la orele mele de licență de informatică, unde îmi amintesc că am aflat despre diverse probleme din informatică, iar acest lucru pare similar cu Programare cu numere întregi, care este NP-complet.
Prin urmare, este posibil să se calculeze eficient parametrii, $a$ și $b$, a unei curbe eliptice dacă cunosc ordinea $n$ si doua puncte $P$ și $Q$ pe curba?