Algoritmul pentru crearea cheilor publice și private (RSA)
Obiectivul nostru este formarea de numere de 3 cifre (denumite în continuare denumirile comune):
- modul $ \ Large n $
- exponent deschis $ \ Large e $
- și un exponat închis de $ \ Large d $
Dintre cele trei numere, o cheie deschisă de la o cheie privată este formată folosind:
- perechi $ \ Large \ left \
$ ca cheie publică - perechi $ \ left \
$ ca cheie privată
Prieteni, concentrați-vă și citiți cu atenție următoarele puncte:
- pentru început, primim două numere primare aleatoare ($ \ Large p $ și $ \ Large q $) de mărime standard (de exemplu, 1024 biți - adică destul de mari)
- apoi calculați funcția Euler de la numărul n, astfel:
$ \ Mare \ varphi (n) = (p-1) (q-1) $
(partea dreaptă este calculată instantaneu și prin urmare din această ecuație putem obține valoarea foarte mare $ \ Large n $) - Apoi, selectați $ \ Large e $ - un exponent deschis. astfel încât:
- valoarea lui a fost relativ prime la valoarea funcției $ \ Large \ varphi (n) $
- satisface inegalitatea: $ \ Large 1
- Și acum calculați exponentul închis d, a cărui valoare trebuie să corespundă condiției:
$ \ Large d \ cdot e \ equiv 1 \ mod $ - Asta e tot)
notițe
După cum ați citit, am căutat foarte mult valoarea n (modulului):
$ \ Mare \ varphi (n) = (p-1) (q-1) $
în cazul în care partea din dreapta pentru a calcula rapid - în timp ce căutare inversă - $ \ mare p $ și $ \ q mare $ pe set $ \ mare n $ zaomot o mulțime de timp - în acest sens și protecția RSA pe bază, pentru că inamicul nu va ști sursa $ \ mare p $ și $ \ mare q $, și el va trebui să le ridice