Criptosistemul lui Rabin
Criptosistemul Rabin este un sistem de criptare cu cheie publică dezvoltat în 1979 de Michael Oser Rabin care, la fel ca sistemul RSA , își bazează securitatea pe faptul că problema factorizării întregi este dificilă din punct de vedere al calculului.
Criptare
Generarea cheie
Fiecare utilizator trebuie
- Generați două numere prime p și q astfel încât Și
- A calcula
In acest punct
- este cheia privată
- este cheia publică
Funcția de criptare
Funcția de criptare este:
Decriptare
Procedura de decriptare a unui mesaj dat criptat necesită cunoașterea cheii private și efectuarea următorilor pași:
- Sunt calculate
Atunci Și sunt rădăcinile pătrate ale în Și respectiv.
- Cu algoritmul lui Euclid se calculează două numere întregi astfel încât
- Cu teorema chineză sunt calculați
- Unul dintre , , , Și
Detalii și cazuri speciale
Pentru a distinge m care codifică mesajul celorlalte rădăcini (celălalt m), va fi necesar să se includă informații suplimentare.
Interesant, în cazul în care numărul prim P este congruent cu 1 modul 4, nu se cunoaște niciun algoritm polinom determinist care să găsească rădăcinile pătrate ale reziduurilor pătratice ale lui P.
Prin urmare, faptul că P = 3 mod 4, eq = 3 mod 4 este fundamental pentru funcționarea corectă a algoritmului descris, deoarece este câmpul de existență al ecuațiilor anterioare.
Un atacator nu ar ști care dintre cele patru rădăcini este corect, dar nu destinatarul. Acest lucru este rezolvat prin acordul asupra unor reguli de redundanță, cunoscute între expeditor și destinatar, care să fie incluse în mesaj pentru a putea distinge care dintre cele patru rădăcini corespunde cu cea a mesajului original.