Puncte:0

RSA nu criptează corect când e=d?

drapel jp

Încerc să implementez algoritmul RSA cu niște valori generate aleatoriu (valide din câte știu eu), dar pentru această combinație, criptarea/decriptarea nu funcționează.

mesaj = 324
p = 3
q = 29
n = 87
e = 15
d = 15

Care oferă ambele răspunsuri criptate și decriptate 63

Bănuiesc că am făcut o eroare în timp ce am generat valorile, dar nu știu exact unde.

Știu că e și d nu ar trebui să fie egale din motive de securitate, dar din înțelegerea mea criptarea ar trebui să funcționeze în continuare.

Daniel S avatar
drapel ru
Funcționează în sensul că 324 mod 78 este 63. RSA nu poate face față mesajelor mai mari decât modulul și, în cel mai bun caz, restul mesajului cu privire la modul este returnat.
kelalaka avatar
drapel in
Nu am reușit să găsesc un dup (sper că cineva poate găsi unul sau cineva vrea să scrie un răspuns). Amintiți-vă $c = m^e \bmod N$ deci RSA este efectuat sub modul...
Puncte:4
drapel cm

Cred că problema este legată de dimensiunea mesajului, mai degrabă decât de alegerile $e$ și $d$.

Când descifrăm un mesaj, nu obținem rezultatul mesajului m ci mai degrabă m mod N. Cu $N$ fiind 87.

Dacă dimensiunea mesajului este mai mică decât N atunci știm că $m = m \bmod N$, însă acest lucru nu se întâmplă altfel.

Observând acest exemplu în special, avem că 63 $ = 324 \bmod 87 $, și astfel procesul de descifrare a acționat în consecință cu cele așteptate.

Cât despre motivul pentru care este și valoarea criptată 63 Cred că a fost o pură nenorocire. Cheile și N sunt destul de mici, astfel încât șansa pentru combinații suspecte este mai mare decât în ​​cazul parametrizărilor reale.

S-ar putea să-mi lipsească vreun model interzis în alegerea mesajului, având în vedere că calculele se aplică doar la $m < N$, dar dacă programul funcționează pentru mesaje mai mici de 87, atunci nu ar trebui să fie nicio problemă în a avea $d = e$.

Don Freecs avatar
drapel sz
ce zici de un atacator care folosește întotdeauna d=e ca prim atac de probă? chiar este o problema?
drapel jp
@DonFreecs de ce d=e totuși? aceeași șansă de succes ca și cum ați încerca d=1 sau d=3 sau d=12345 sau d="bună ziua, sunt o cheie nesigură"
Don Freecs avatar
drapel sz
@user253751 într-adevăr, deci este o problemă să-l folosești ^^
Pedro Campones avatar
drapel cm
Pentru majoritatea valorilor lui p și q, nu este posibil pentru d=e. Pentru ca RSA să funcționeze, este necesar ca *de = 1 mod (p - 1)(q - 1)*. Cu cât valoarea lui N este mai mare, cu atât este mai mică probabilitatea ca acest lucru să se întâmple.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.