algoritm RSA (Rivest-Shamir-Adleman)
algoritmul RSA este baza unui criptosistem-o suită de algoritmi de criptare care sunt utilizate pentru anumite servicii de securitate sau scopuri, care permite criptare cu cheie publică și este utilizat pe scară largă pentru a proteja datele importante, în special atunci când este trimis pe o rețea nesigură, cum ar fi internetul.,RSA a fost descrisă pentru prima dată în mod public în 1977 de Ron Rivest, Adi Shamir și Leonard Adleman de la Massachusetts Institute of Technology, deși crearea în 1973 a unui algoritm de chei publice de către matematicianul britanic Clifford Cocks a fost păstrată clasificată de GCHQ din Marea Britanie până în 1997.
criptografia cu chei publice, cunoscută și sub denumirea de criptografie asimetrică, folosește două chei diferite, dar legate matematic-una publică și una privată. Cheia publică poate fi împărtășită cu toată lumea, în timp ce cheia privată trebuie păstrată secretă.,
în criptografia RSA, atât cheile publice, cât și cele private pot cripta un mesaj; cheia opusă celei folosite pentru criptarea unui mesaj este folosită pentru a-l decripta. Acest atribut este unul dintre motivele pentru care RSA a devenit cel mai utilizat algoritm asimetric: oferă o metodă de asigurare a confidențialității, integrității, autenticității și nerepudierii comunicațiilor electronice și a stocării datelor.multe protocoale precum secure shell, OpenPGP, S/MIME și SSL/TLS se bazează pe RSA pentru funcțiile de criptare și semnătură digitală., De asemenea, este utilizat în programele software-browserele sunt un exemplu evident, deoarece trebuie să stabilească o conexiune sigură printr-o rețea nesigură, cum ar fi Internetul, sau să valideze o semnătură digitală. Verificarea semnăturii RSA este una dintre cele mai frecvent efectuate operațiuni în sistemele conectate la rețea.
de ce este folosit algoritmul RSA
RSA derivă securitatea sa din dificultatea de a factoriza numere întregi mari care sunt produsul a două numere prime mari., Înmulțirea acestor două numere este ușoară, dar determinarea numerelor prime originale din total – sau factoring-este considerată nefezabilă datorită timpului necesar folosind chiar și supercomputerele de astăzi.algoritmul de generare a cheilor publice și private este cea mai complexă parte a criptografiei RSA. Două numere prime mari, p și q, sunt generate folosind algoritmul de testare a Primalității Rabin-Miller. Un modul, n, se calculează prin înmulțirea p și q. acest număr este utilizat atât de cheile publice, cât și de cele private și oferă legătura dintre ele., Lungimea sa, de obicei exprimată în biți, se numește lungimea cheii.
cheia publică constă din modulul n și un exponent public, e, care este setat în mod normal la 65537, deoarece este un număr prim care nu este prea mare. Cifra e nu trebuie să fie un număr prim selectat în secret, deoarece cheia publică este partajată cu toată lumea.cheia privată constă din modulul n și exponentul privat d, care se calculează folosind algoritmul euclidian extins pentru a găsi inversul multiplicativ în raport cu totientul lui n.,citiți mai departe sau vizionați videoclipul de mai jos pentru o explicație mai detaliată a modului în care funcționează algoritmul RSA.
cum funcționează algoritmul RSA?
Alice generează tastele RSA selectând două numere prime: p = 11 și q=13. Modulul este n = p×q = 143. Totientul este n ϕ(n)=(p−1)x (q−1)=120. Ea alege 7 pentru cheia publică RSA E și calculează cheia privată RSA folosind algoritmul euclidian extins, care îi dă 103.Bob vrea să-i trimită lui Alice un mesaj criptat, M, așa că obține cheia publică RSA (n, E) care, în acest exemplu, este (143, 7)., Lui mesaj text clar este doar numărul 9 și este criptat într-un text cifrat, C, după cum urmează:
Me mod n = 97 mod 143 = 48 = C
Când Alice primește mesajul lui Bob, ea decriptează folosind o cheie privată RSA (d, n), după cum urmează:
Cd mod n = 48103 mod 143 = 9 = M
Pentru a utiliza chei RSA pentru a semna digital un mesaj, Alice ar avea nevoie pentru a crea un hash-un mesaj de digerat de mesajul ei pentru Bob … cripta valoarea hash cu o cheie privată RSA, și se adaugă cheia de la mesaj., Bob poate verifica apoi dacă mesajul a fost trimis de Alice și nu a fost modificat prin decriptarea valorii hash cu cheia ei publică. Dacă această valoare se potrivește cu hash-ul mesajului original, atunci numai Alice ar fi putut să-l trimită — autentificare și non-repudiere — și mesajul este exact așa cum l-a scris ea — integritate.Alice ar putea, desigur, să-și cripteze mesajul cu cheia publică RSA a lui Bob-confidențialitate-înainte de a-l trimite lui Bob. Un certificat digital conține informații care identifică proprietarul certificatului și conține, de asemenea, cheia publică a proprietarului., Certificatele sunt semnate de Autoritatea de certificare care le eliberează și pot simplifica procesul de obținere a cheilor publice și de verificare a proprietarului.
securitate RSA
securitatea RSA se bazează pe dificultatea computațională a factorizării numerelor întregi mari. Pe măsură ce puterea de calcul crește și algoritmii de factoring mai eficienți sunt descoperiți, capacitatea de a factor un număr mai mare și mai mare crește, de asemenea.
puterea de criptare este direct legată de dimensiunea cheii, iar dublarea lungimii cheii poate oferi o creștere exponențială a puterii, deși afectează performanța., Tastele RSA sunt de obicei 1024 – sau 2048-biți lungi, dar experții cred că tastele 1024-biți nu mai sunt pe deplin sigure împotriva tuturor atacurilor. Acesta este motivul pentru care guvernul și unele industrii se deplasează la o lungime minimă a cheii de 2048 biți.cu excepția unui progres neprevăzut în calculul cuantic, vor trece mulți ani înainte de a fi necesare chei mai lungi, dar criptografia curbei eliptice (ECC) câștigă favoare cu mulți experți în securitate ca alternativă la RSA pentru a implementa criptografia cheilor publice. Poate crea chei criptografice mai rapide, mai mici și mai eficiente.,hardware-ul și software-ul Modern sunt pregătite pentru ECC, iar popularitatea sa este probabil să crească, deoarece poate oferi securitate echivalentă cu o putere de calcul mai mică și utilizarea resurselor bateriei, făcându-l mai potrivit pentru aplicațiile mobile decât RSA. În cele din urmă, o echipă de cercetători, care a inclus Adi Shamir, co-inventator al RSA, a creat cu succes o cheie RSA de 4096 biți folosind criptanaliză acustică; cu toate acestea, orice algoritm de criptare este vulnerabil la atac.