RSA-krypteringsalgoritme er en type krypteringsalgoritme med offentlig nøkkel. For bedre å forstå RSA, la oss først forstå hva som er krypteringsalgoritmen med offentlig nøkkel.
Offentlig nøkkel krypteringsalgoritme:
Offentlig nøkkelkrypteringsalgoritme kalles også den asymmetriske algoritmen. Asymmetriske algoritmer er de algoritmene der sender og mottaker bruker forskjellige nøkler for kryptering og dekryptering. Hver avsender er tildelt et par nøkler:
De Offentlig nøkkel brukes til kryptering, og Privat nøkkel brukes til dekryptering. Dekryptering kan ikke gjøres med en offentlig nøkkel. De to nøklene er koblet sammen, men den private nøkkelen kan ikke utledes fra den offentlige nøkkelen. Den offentlige nøkkelen er velkjent, men den private nøkkelen er hemmelig og den er kun kjent for brukeren som eier nøkkelen. Det betyr at alle kan sende en melding til brukeren ved å bruke brukerens offentlige nøkkel. Men bare brukeren kan dekryptere meldingen ved hjelp av sin private nøkkel.
Den offentlige nøkkelalgoritmen fungerer på følgende måte:
- Dataene som skal sendes krypteres av avsender EN ved å bruke den offentlige nøkkelen til den tiltenkte mottakeren
- B dekrypterer den mottatte chifferteksten ved å bruke dens private nøkkel, som bare er kjent for B. B svarer på A som krypterer meldingen ved hjelp av As offentlige nøkkel.
- A dekrypterer den mottatte chifferteksten ved å bruke dens private nøkkel, som bare er kjent for ham.
RSA-krypteringsalgoritme:
RSA er den vanligste offentlige nøkkelalgoritmen, oppkalt etter oppfinnerne Rivest, Shamir og Adelman (RSA).
RSA-algoritmen bruker følgende prosedyre for å generere offentlige og private nøkler:
- Velg to store primtall, p og q .
- Multipliser disse tallene for å finne n = p x q, hvor n kalles modulen for kryptering og dekryptering.
- Velg et tall Det er mindre enn n , slik at n er relativt primtall til (p - 1) x (q -1). Det betyr at Det er og (p - 1) x (q - 1) har ingen felles faktor bortsett fra 1. Velg 'e' slik at 1
gcd (e,d(n)) =1 - Hvis n = p x q, da er den offentlige nøkkelen . En klartekstmelding m er kryptert med offentlig nøkkel. For å finne chiffertekst fra ren tekst brukes følgende formel for å få chiffertekst C.
C = mDet ermot n
Her , m må være mindre enn n . En større melding (>n) behandles som en sammenkobling av meldinger, som hver er kryptert separat. - For å bestemme den private nøkkelen bruker vi følgende formel for å beregne d slik at:
DDet ermod {(p - 1) x (q - 1)} = 1
Eller
DDet ermod φ (n) = 1 - Den private nøkkelen er . En chiffertekstmelding c er dekryptert med privat nøkkel. For å beregne ren tekst m fra chifferteksten c brukes følgende formel for å få ren tekst m.
m = cdmot n
La oss ta et eksempel på RSA-krypteringsalgoritme:
Eksempel 1:
Dette eksemplet viser hvordan vi kan kryptere klartekst 9 ved å bruke RSA public-key krypteringsalgoritmen. Dette eksemplet bruker primtall 7 og 11 for å generere de offentlige og private nøklene.
Forklaring:
Trinn 1: Velg to store primtall, p og q .
p = 7
q = 11
mus og typer mus
Steg 2: Multipliser disse tallene for å finne n = p x q, hvor n kalles modulen for kryptering og dekryptering.
Først beregner vi
n = p x q
n = 7 x 11
n = 77
Trinn 3: Velg et tall Det er mindre det n , slik at n er relativt primtall til (p - 1) x (q -1). Det betyr at Det er og (p - 1) x (q - 1) har ingen felles faktor bortsett fra 1. Velg 'e' slik at 1 For det andre, vi beregner φ (n) = (p - 1) x (q-1) φ (n) = (7 - 1) x (11 - 1) φ (n) = 6 x 10 φ (n) = 60 La oss nå velge relativ primtall e av 60 som 7. Dermed er den offentlige nøkkelen = (7, 77) Trinn 4: En klartekstmelding m er kryptert med offentlig nøkkel. For å finne chiffertekst fra ren tekst brukes følgende formel for å få chiffertekst C. For å finne chiffertekst fra ren tekst brukes følgende formel for å få chiffertekst C. C = mDet ermot n C = 97mot 77 C = 37 Trinn 5: Den private nøkkelen er . For å bestemme den private nøkkelen bruker vi følgende formel d slik at: DDet ermod {(p - 1) x (q - 1)} = 1 7d mod 60 = 1, som gir d = 43 Den private nøkkelen er = (43, 77) Trinn 6: En chiffertekstmelding c er dekryptert med privat nøkkel. For å beregne ren tekst m fra chifferteksten c brukes følgende formel for å få ren tekst m. m = cdmot n m = 3743mot 77 m = 9 I dette eksemplet er ren tekst = 9 og chifferteksten = 37 I et RSA-kryptosystem bruker en bestemt A to primtall, 13 og 17, for å generere de offentlige og private nøklene. Hvis offentligheten til A er 35. Da er den private nøkkelen til A …………?. Forklaring: Trinn 1: i det første trinnet velger du to store primtall, s og q . p = 13 q = 17 Steg 2: Multipliser disse tallene for å finne n = p x q, hvor n kalles modulen for kryptering og dekryptering. Først beregner vi n = p x q n = 13 x 17 n = 221 Trinn 3: Velg et tall Det er mindre det n , slik at n er relativt primtall til (p - 1) x (q -1). Det betyr at Det er og (p - 1) x (q - 1) har ingen felles faktor bortsett fra 1. Velg 'e' slik at 1 For det andre, vi beregner φ (n) = (p - 1) x (q-1) φ (n) = (13 - 1) x (17 - 1) φ (n) = 12 x 16 φ (n) = 192 g.c.d (35, 192) = 1 Trinn 3: For å bestemme den private nøkkelen bruker vi følgende formel for å beregne d slik at: Regn ut d = dDet ermod φ (n) = 1 d = d x 35 mod 192 = 1 d = (1 + k.φ (n))/e [la k =0, 1, 2, 3………………] Sett k = 0 d = (1 + 0 x 192)/35 d = 1/35 Sett k = 1 d = (1 + 1 x 192)/35 d = 193/35 Sett k = 2 d = (1 + 2 x 192)/35 d = 385/35 d = 11 Den private nøkkelen er = (11, 221) Derfor er privat nøkkel, dvs. d = 11 Et RSA-kryptosystem bruker to primtall 3 og 13 for å generere den offentlige nøkkelen= 3 og den private nøkkelen = 7. Hva er verdien av chiffertekst for en ren tekst? Forklaring: Trinn 1: I det første trinnet velger du to store primtall, s og q . p = 3 q = 13 Steg 2: Multipliser disse tallene for å finne n = p x q, hvor n kalles modulen for kryptering og dekryptering. Først beregner vi n = p x q n = 3 x 13 n = 39 Trinn 3: Hvis n = p x q, da er den offentlige nøkkelen . En klartekstmelding m er kryptert med offentlig nøkkel. Dermed er den offentlige nøkkelen = (3, 39). For å finne chiffertekst fra ren tekst brukes følgende formel for å få chiffertekst C. C = mDet ermot n C = 53mot 39 C = 125 vs. 39 C = 8 Derfor er chifferteksten generert fra ren tekst, C = 8. Et RSA-kryptosystem bruker to primtall, 3 og 11, for å generere privat nøkkel = 7. Hva er verdien av chiffertekst for en ren tekst 5 som bruker RSA-krypteringsalgoritmen med offentlig nøkkel? Forklaring: Trinn 1: i det første trinnet velger du to store primtall, s og q . p = 3 q = 11 Steg 2: Multipliser disse tallene for å finne n = p x q, hvor n kalles modulen for kryptering og dekryptering. Først beregner vi n = p x q n = 3 x 11 n = 33 Trinn 3: Velg et tall Det er mindre det n , slik at n er relativt primtall til (p - 1) x (q -1). Det betyr at Det er og (p - 1) x (q - 1) har ingen felles faktor bortsett fra 1. Velg 'e' slik at 1 For det andre, vi beregner φ (n) = (p - 1) x (q-1) φ (n) = (3 - 1) x (11 - 1) φ (n) = 2 x 10 φ (n) = 20 Trinn 4: For å bestemme den offentlige nøkkelen bruker vi følgende formel for å beregne d slik at: Regn ut e x d = 1 mod φ (n) e x 7 = 1 mot 20 e x 7 = 1 mot 20 e = (1 + k. φ (n))/d [la k =0, 1, 2, 3………………] Sett k = 0 e = (1 + 0 x 20) / 7 e = 1/7 Sett k = 1 e = (1 + 1 x 20) / 7 e = 21/7 e = 3 Den offentlige nøkkelen er = (3, 33) Derfor offentlig nøkkel, dvs. e = 3 Eksempel 2:
streng erstatte all java
Eksempel 3:
Eksempel 4:
string.format java