Ce este Rivest Shamir Adleman (RSA)?
Rivest Shamir Adleman (RSA) este un criptosistem cu cheie publică folosit pentru a securiza și desecuriza datele cu ajutorul a două chei diferite. Una poate fi distribuită, cealaltă păstrează secretele. Gândește-te la el ca la un lacăt pe care îl poți oferi oricui, dar cheia care îl deschide o ai doar tu.
„Bitcoin folosește RSA.” Nu chiar. Multe blockchainuri folosesc scheme bazate pe curbe eliptice, care sunt mai rapide și au chei mai mici. Totuși, Rivest Shamir Adleman (RSA) este încă folosit în multe componente ale infrastructurii internetului, de exemplu când browserele comunică cu serverele.
Cum funcționează Rivest Shamir Adleman (RSA)
Iată pe scurt cum funcționează. Publici o cheie, astfel încât oamenii să poată cripta mesaje pentru tine, iar tu păstrezi cheia secretă corespunzătoare pentru a le decripta. Oricine își poate distribui cheia publică, dar numai proprietarul poate deschide mesajele primite.
- Început: Generezi două numere prime mari, aleatorii, le combini într-un modul și alegi doi exponenți corelați.
- Trimitere: Cineva folosește datele tale publice și ridică mesajul la o putere modulo modulul tău, obținând astfel un text cifrat.
- Decriptare: Ridici textul cifrat la puterea secretă, iar mesajul original apare.
- Semnare: Pentru a dovedi că ai scris ceva, calculezi matematic digestul mesajului cu cheia secretă, creând o semnătură.
- Verificare: Oricine poate verifica semnătura folosind informațiile tale publice, fără să fie nevoie de o conversație privată. Da, asta e ideea.
Este asimetric în mod intenționat, ca un bouncer cu o listă de invitați și o cheie principală.
De ce contează Rivest Shamir Adleman (RSA)
De ce ar trebui să-ți pese de Rivest Shamir Adleman (RSA)? Datorită lui, browserul tău poate comunica cu exchange-urile fără să divulge secrete, iar actualizările și mesajele pot fi verificate fără ca ceilalți să te cunoască personal.
- Avantaj: Distribui o cheie în mod public și o păstrezi pe cealaltă ascunsă, ceea ce simplifică accesul și oferă o securitate puternică.
- Perspectivă: Blockchainurile aleg adesea curbele eliptice pentru viteză, dar RSA stă încă la baza unei mari părți din traficul web securizat și din semnarea codului, pe care se bazează aplicațiile crypto.
- Relevanță: Îl vei întâlni în TLS, VPN-uri, actualizări de firmware și sisteme backend de custodie. Și da, nu-ți distribui niciodată cheia privată.
Pentru criptare, folosește RSA cu padding OAEP. Pentru semnare, folosește RSA cu PSS. Sunt setările moderne implicite pentru care îți vei mulțumi mai târziu.
Caracteristicile-cheie ale Rivest Shamir Adleman (RSA)
Iată ce îl face special:
- Asimetrie: O cheie blochează, cealaltă deblochează, ceea ce permite un schimb securizat cu persoane necunoscute.
- Factorizare: Securitatea se bazează pe dificultatea factorizării unui produs mare de două numere prime.
- Utilizare: Poate fi folosit pentru criptare și pentru semnături digitale, deși blockchainurile moderne preferă adesea curbele eliptice.
- Dimensiune: Cheile sunt mari, de obicei de 2048 de biți sau mai mult, ceea ce afectează viteza și lățimea de bandă.
- Compatibilitate: Este acceptat pe scară largă în browsere, HSM-uri și protocoale mai vechi, așa că este folosit peste tot.
Variante
Principalele variante pe care le-ai putea întâlni:
- OAEP: Padding pentru criptare, care protejează împotriva atacurilor bazate pe structura mesajului.
- PSS: O schemă probabilistică de semnare, care oferă o securitate mai bună decât formatele mai vechi.
- PKCS1: Reguli de formatare vechi, pe care încă le găsești în certificate și biblioteci mai vechi.
- KEM: O metodă de încapsulare a cheilor, care folosește RSA pentru a înveli o cheie simetrică.
Dimensiunea cheii și paddingul contează. Un algoritm puternic cu parametri slabi e ca un lacăt de lux montat pe o ușă de carton.
Exemplu
Pagina de autentificare a exchange-ului tău se încarcă prin TLS, unde serverul prezintă un certificat RSA, browserul verifică semnătura și abia apoi introduci o parolă.
Curiozitate
Rivest, Shamir și Adleman au publicat RSA în 1977, apoi au lansat o provocare de factorizare a unui număr. Una dintre provocările clasice a necesitat ani și multă putere de calcul pentru a fi rezolvată. Cineva chiar a imprimat codul-sursă pe un tricou, în semn de ironie față de regulile privind exportul.
În concluzie
Gândește-te la Rivest Shamir Adleman (RSA) ca la un lacăt cu două chei, care le permite străinilor să-ți trimită secrete și îți permite să dovedești că ești cine pretinzi că ești, fără să vă întâlniți. Simplu, clar și eficient.