Articles

RSA-algoritmen (Rivest-Shamir-Adleman)

RSA-algoritmen er basert på en nøkkel-en suite av kryptografiske algoritmer som brukes for bestemte security services-eller-hensikt-noe som gjør at offentlig nøkkel kryptering og er mye brukt for å sikre sensitive data, spesielt når det sendes over et usikkert nettverk, for eksempel internett.,

RSA ble først offentlig beskrevet i 1977 av Ron Rivest, Adi Shamir og Leonard Adleman av Massachusetts Institute of Technology, selv om det 1973 etablering av en offentlig nøkkel algoritme av Britiske matematikeren Clifford Kuker ble holdt klassifisert av storbritannias GCHQ frem til 1997.

Offentlig nøkkel kryptografi, også kjent som asymmetrisk kryptografi, bruker to forskjellige, men matematisk knyttet nøkler-en offentlig og en privat. Den offentlige nøkkelen kan deles med alle, mens den private nøkkelen holdes hemmelig.,

I RSA-kryptering, både offentlige og private nøkler kan kryptere en melding; det motsatte nøkkelen fra den ene brukes til å kryptere en melding brukes til å dekryptere det. Denne egenskapen er en grunn til at RSA har blitt den mest brukte asymmetrisk algoritme: Det gir en metode for å sikre konfidensialitet, integritet, autentisitet og ikke-avvisning av elektronisk kommunikasjon og lagring av data.

Mange protokoller som secure shell, OpenPGP, S/MIME, og SSL/TLS stole på RSA-kryptering og digital signatur funksjoner., Det er også brukt i programmer — nettlesere er et åpenbart eksempel, som de trenger for å etablere en sikker tilkobling over et usikkert nettverk, som internett, eller validere en digital signatur. RSA signaturer er en av de mest utførte operasjoner i nettverk, koblet systemer.

Hvorfor RSA-algoritmen som er brukt

RSA får sin sikkerhet fra vanskeligheten av factoring store heltall som er et produkt av to store primtall., Multiplisere disse to tallene er lett, men å fastslå den opprinnelige primtall den totale — eller factoring-er ansett som umulig på grunn av den tid det ville ta å bruke selv dagens superdatamaskiner.

offentlig og privat nøkkel generasjon algoritmen er den mest kompliserte del av RSA-kryptering. To store primtall p og q, er generert ved hjelp Rabin-Miller primality test algoritme. En modulus, n, er beregnet ved å multiplisere p og q. Dette nummeret brukes av både offentlige og private nøkler og gir koblingen mellom dem., Dens lengde, vanligvis uttrykt i biter, kalles lengde for wepkrypteringsnøkkelen.

Den offentlige nøkkelen består av modulus n og en offentlig eksponent, e, som er vanligvis sett på 65537, så det er et primtall som ikke er for store. E figur trenger ikke å være en hemmelighet valgt primtall, som den offentlige nøkkelen som er delt med alle.

Den private nøkkelen består av modulus n og private eksponent d, som er beregnet ved hjelp av den Utvidede Euclidean algoritme for å finne multiplicative inverse med hensyn til totient n.,

Lese om eller se videoen nedenfor for en mer detaljert forklaring på hvordan RSA-algoritmen fungerer.

Hvordan gjør RSA-algoritmen fungerer?

Alice genererer henne RSA-nøkler ved å velge to primtall: p=11 og q=13. Den modulus er n=p×q=143. Den totient er n ϕ(n)=(p−1)x(q−1)=120. Hun velger 7 for henne RSA offentlig nøkkel e og beregner sin RSA private nøkkelen, og bruke den Utvidede Euclidean algoritmen, som gir henne 103.

Bob ønsker å sende Alice en kryptert melding, M, så han får henne RSA offentlig nøkkel (n, e), som i dette eksemplet, er (143, 7)., Hans ren tekst meldingen er bare nummer 9, og er kryptert i ciphertext, P, som følger:

Meg mod n = 97 mod 143 = 48 = C

Når Alice mottar Bob ‘ s budskap, hun dekrypterer den ved hjelp av sitt RSA private nøkkelen (d, n) som følger:

Cd-mod n = 48103 mod 143 = 9 = M

for Å bruke RSA-nøkler for å digitalt signere en melding, Alice ville trenge for å lage en hash-en melding fordøye av hennes budskap til Bob — kryptere hash-verdi med henne RSA private nøkkelen, og legge nøkkelen til meldingen., Bob kan bekrefte at meldingen er sendt fra Alice og ikke har blitt endret ved å dekryptere hash-verdien med sin offentlige nøkkel. Hvis denne verdien stemmer overens med hash av den opprinnelige meldingen, så er det bare Alice kunne ha sendt det-autentisering og ikke-avvisning — og meldingen er akkurat som hun skrev det — integritet.

Alice kan, selvfølgelig, kryptere henne melding med Bob ‘ s RSA offentlig nøkkel — konfidensialitet — før du sender den til Bob. Et digitalt sertifikat inneholder informasjon som identifiserer sertifikatet er eier og inneholder også eier ‘ s offentlige nøkkel., Sertifikater som er signert av sertifikatutsteder som utsteder dem, og de kan forenkle prosessen med å skaffe offentlige nøkler og kontrollere eier.

RSA security

RSA-sikkerhet er basert på beregningsorientert vanskeligheten av factoring store heltall. Som datakraft øker og mer effektiv factoring algoritmer er oppdaget, evnen til å tenke større og større tall, øker også.

Kryptering styrke er direkte knyttet til viktige størrelse, og dobling nøkkellengde kan levere en eksponentiell økning i styrke, selv om det ikke forringe ytelsen., RSA-nøkler er typisk oppløsning på 1024 eller 2048-bits lang, men eksperter mener at 1024-biters nøkler er ikke lenger helt sikker mot alle angrep. Dette er grunnen til at regjeringen og enkelte bransjer er det å flytte til et minimum-tasten lengde på 2048-bits.

Anropssperring en uforutsett gjennombrudd i quantum computing, vil det ta mange år før lenger tastene er nødvendig, men elliptic curve kryptografi (ECC) er å få favør med mange sikkerhetseksperter som et alternativ til RSA å gjennomføre offentlig nøkkel kryptografi. Det kan skape raskere, mindre og mer effektiv kryptografiske nøkler.,

Moderne maskinvare og programvare er ECC-klar, og dens popularitet er sannsynlig å vokse, så det kan levere tilsvarende sikkerhet med lavere computing strøm og batteri ressursbruk, noe som gjør den mer egnet for mobile apps enn RSA. Til slutt, et team av forskere, som inkluderte Adi Shamir, en co-oppfinneren av RSA, har opprettet en 4096-bit RSA-nøkkel ved hjelp av akustiske cryptanalysis; imidlertid, noen krypteringsalgoritmen er sårbar for angrep.