Articles

RSA algoritmen (Rivest-Shamir-Adlema)

RSA-algoritmen er basis for et kryptosystem — en samling af kryptografiske algoritmer, der bruges til særlige sikkerhedsmæssige ydelser, eller til formål, der — som giver mulighed for offentlig nøgle kryptering og er almindeligt anvendt til at sikre følsomme data, især når det er ved at blive sendt over et usikkert netværk, såsom internettet.,

RSA blev først offentligt, der er beskrevet i 1977 af Ron Rivest, Adi Shamir og Leonard Adlema af Massachusetts Institute of Technology, selvom 1973 oprettelsen af en offentlig nøgle algoritme af den Britiske matematiker Clifford Pik blev holdt klassificeret af UK ‘ s GCHQ indtil 1997.

offentlig nøgle kryptografi, også kendt som asymmetrisk kryptografi, bruger to forskellige, men matematisk forbundne nøgler-en offentlig og en privat. Den offentlige nøgle kan deles med alle, mens den private nøgle skal holdes hemmelig.,

i RSA-kryptografi kan både de offentlige og de private nøgler kryptere en meddelelse; den modsatte nøgle fra den, der bruges til at kryptere en meddelelse, bruges til at dekryptere den. Denne egenskab er en af grundene til RSA er blevet den mest udbredte asymmetrisk algoritme: Det giver en metode til at sikre fortrolighed, integritet, autenticitet og uafviselighed af elektronisk kommunikation og datalagring.mange protokoller som secure shell, OpenPGP, S/MIME og SSL/TLS er afhængige af RSA til kryptering og digitale signaturfunktioner., Det bruges også i Soft .areprogrammer-bro .sere er et indlysende eksempel, da de er nødt til at etablere en sikker forbindelse via et usikkert netværk, som internettet, eller validere en digital signatur. RSA signatur verifikation er en af de mest almindeligt udførte operationer i netværkstilsluttede systemer.

hvorfor RSA-algoritmen bruges

RSA henter sin sikkerhed fra vanskeligheden ved at factoring store heltal, der er produktet af to store primtal., Det er let at multiplicere disse to tal, men at bestemme de originale primtal fra det samlede antal-eller factoring-betragtes som umuligt på grund af den tid, det ville tage at bruge selv dagens supercomputere.

den offentlige og private nøglegenereringsalgoritme er den mest komplekse del af RSA-kryptografi. To store primtal, p og q, genereres ved hjælp af Rabin-Miller primality test algoritme. Et modul, n, beregnes ved at multiplicere p og.. dette tal bruges af både de offentlige og private nøgler og giver forbindelsen mellem dem., Dens længde, normalt udtrykt i bits, kaldes nøglelængden.

den offentlige nøgle består af modulet n og en offentlig eksponent, e, som normalt er indstillet til 65537, da det er et primtal, der ikke er for stort. E-tallet behøver ikke at være et hemmeligt valgt primtal, da den offentlige nøgle deles med alle.

den private nøgle består af modulet n og den private eksponent d, som beregnes ved hjælp af den udvidede euklidiske algoritme for at finde den multiplikative inverse med hensyn til totienten af n.,

læs videre eller se videoen nedenfor for en mere detaljeret forklaring af, hvordan RSA-algoritmen fungerer.

Hvordan fungerer RSA-algoritmen?

Alice genererer sine RSA-nøgler ved at vælge to primtal: p=11 og 13=13. Modulet er n=p= = = 143. Den totient er n ((n)=(p−1)=(1−1) = 120. Hun vælger 7 for sin RSA public key e og beregner sin RSA private nøgle ved hjælp af den udvidede euklidiske algoritme, som giver hende 103.

Bob ønsker at sende Alice en krypteret besked, M, så han får hende offentlig RSA-nøgle (n, e), som i dette eksempel, er (143, 7)., Hans alm besked er blot nummer 9 og er krypteret i ciphertext C, som følger:

Me mod n = 97 mod 143 = 48 = C

Når du modtager Alice Bob ‘ s budskab, hun dekrypterer det ved hjælp af hendes RSA private key (d, n) som følger:

Cd mod n = 48103 mod 143 = 9 = M

for At bruge RSA-nøgler til at signere en meddelelse, Alice ville have til at oprette en hash-en message digest af hendes besked til Bob — kryptere hash-værdi med hendes RSA private key, og tilføj nøglen til den besked., Bob kan derefter kontrollere, at meddelelsen er sendt af Alice og ikke er blevet ændret ved at dekryptere hashværdien med hendes offentlige nøgle. Hvis denne værdi matcher hash i den oprindelige meddelelse, kunne kun Alice have sendt den-godkendelse og afvisning – og meddelelsen er nøjagtigt som hun skrev den-integritet.

Alice kunne selvfølgelig kryptere hendes besked med Bobs RSA offentlige nøgle-fortrolighed-før du sender den til Bob. Et digitalt certifikat indeholder oplysninger, der identificerer certifikatets ejer og også indeholder ejerens offentlige nøgle., Certifikater underskrives af certifikatmyndigheden, der udsteder dem, og de kan forenkle processen med at få offentlige nøgler og verificere ejeren.

RSA-sikkerhed

RSA-sikkerhed er afhængig af beregningsmæssige vanskeligheder factoring store heltal. Efterhånden som computerkraften øges, og der opdages mere effektive factoringalgoritmer, øges evnen til at faktor større og større antal også.

krypteringsstyrke er direkte bundet til nøglestørrelse, og fordobling af nøglelængde kan levere en eksponentiel stigning i styrke, selvom det forringer ydeevnen., RSA-nøgler er typisk 1024 – eller 2048-bits lange, men eksperter mener, at 1024-bit nøgler ikke længere er helt sikre mod alle angreb. Dette er grunden til, at regeringen og nogle industrier flytter til en minimumsnøglængde på 2048-bit.med undtagelse af et uforudsete gennembrud inden for kvanteberegning vil det vare mange år, før der kræves længere nøgler, men elliptisk kurvekryptografi (ECC) vinder fordel hos mange sikkerhedseksperter som et alternativ til RSA til implementering af offentlig nøglekryptografi. Det kan skabe hurtigere, mindre og mere effektive kryptografiske nøgler.,

Moderne hardware og software er ECC-klar, og dens popularitet er tilbøjelige til at vokse, så det kan levere den samme sikkerhed med lavere computerkraft og batteri ressourceforbrug, hvilket gør det mere velegnet til mobile apps, end RSA. Endelig har et team af forskere, der inkluderede Adi Shamir, en medopfinder af RSA, med succes oprettet en 4096-bit RSA-nøgle ved hjælp af akustisk kryptoanalyse; enhver krypteringsalgoritme er dog sårbar over for angreb.