logo

RSA-krypteringsalgoritm

RSA-krypteringsalgoritm är en typ av krypteringsalgoritm med offentlig nyckel. För att bättre förstå RSA, låt oss först förstå vad som är en krypteringsalgoritm för offentliga nyckel.

Allmän nyckelkrypteringsalgoritm:

Public Key-krypteringsalgoritmen kallas också den asymmetriska algoritmen. Asymmetriska algoritmer är de algoritmer där avsändare och mottagare använder olika nycklar för kryptering och dekryptering. Varje avsändare tilldelas ett par nycklar:

    Offentlig nyckel Privat nyckel

De Offentlig nyckel används för kryptering, och Privat nyckel används för dekryptering. Dekryptering kan inte göras med en offentlig nyckel. De två nycklarna är länkade, men den privata nyckeln kan inte härledas från den publika nyckeln. Den publika nyckeln är välkänd, men den privata nyckeln är hemlig och den är känd endast för användaren som äger nyckeln. Det betyder att alla kan skicka ett meddelande till användaren med hjälp av användarens publika nyckel. Men bara användaren kan dekryptera meddelandet med sin privata nyckel.

Algoritmen för den offentliga nyckeln fungerar på följande sätt:

RSA-krypteringsalgoritm
  • Data som ska skickas krypteras av avsändaren A använda den avsedda mottagarens publika nyckel
  • B dekrypterar den mottagna chiffertexten med hjälp av dess privata nyckel, som endast är känd för B. B svarar till A som krypterar sitt meddelande med A:s publika nyckel.
  • A dekrypterar den mottagna chiffertexten med sin privata nyckel, som bara är känd för honom.

RSA-krypteringsalgoritm:

RSA är den vanligaste algoritmen för offentliga nyckel, uppkallad efter dess uppfinnare Rivest, Shamir och Adelman (RSA).

RSA-krypteringsalgoritm

RSA-algoritmen använder följande procedur för att generera offentliga och privata nycklar:

  • Välj två stora primtal, p och q .
  • Multiplicera dessa siffror för att hitta n = p x q, var n kallas modulen för kryptering och dekryptering.
  • Välj ett nummer Det är mindre än n , så att n är relativt primtal till (p-1) x (q-1). Det betyder att Det är och (p - 1) x (q - 1) har ingen gemensam faktor förutom 1. Välj 'e' så att 1 gcd (e,d(n)) =1
  • Om n = p x q, då är den publika nyckeln . Ett meddelande i klartext m är krypterad med offentlig nyckel. För att hitta chiffertext från vanlig text används följande formel för att få chiffertext C.
    C = mDet ärmot n
    Här , m måste vara mindre än n . Ett större meddelande (>n) behandlas som en sammanlänkning av meddelanden, som vart och ett är krypterat separat.
  • För att bestämma den privata nyckeln använder vi följande formel för att beräkna d så att:
    DDet ärmod {(p - 1) x (q - 1)} = 1
    Eller
    DDet ärmod φ (n) = 1
  • Den privata nyckeln är . Ett chiffertextmeddelande c dekrypteras med privat nyckel. För att beräkna vanlig text m från chiffertexten c används följande formel för att få vanlig text m.
    m = cdmot n

Låt oss ta några exempel på RSA-krypteringsalgoritm:

Exempel 1:

Det här exemplet visar hur vi kan kryptera klartext 9 med RSA-krypteringsalgoritmen med offentlig nyckel. Det här exemplet använder primtal 7 och 11 för att generera de offentliga och privata nycklarna.

Förklaring:

Steg 1: Välj två stora primtal, p och q .

p = 7

q = 11

Steg 2: Multiplicera dessa siffror för att hitta n = p x q, var n kallas modulen för kryptering och dekryptering.

Först räknar vi

n = p x q

n = 7 x 11

n = 77

sonu nigam

Steg 3: Välj ett nummer Det är mindre det n , så att n är relativt primtal till (p-1) x (q-1). Det betyder att Det är och (p - 1) x (q - 1) har ingen gemensam faktor förutom 1. Välj 'e' så att 1

För det andra, vi räknar

φ (n) = (p - 1) x (q-1)

φ (n) = (7 - 1) x (11 - 1)

φ (n) = 6 x 10

φ (n) = 60

Låt oss nu välja relativ primtal e av 60 som 7.

Den publika nyckeln är alltså = (7, 77)

Steg 4: Ett meddelande i klartext m är krypterad med offentlig nyckel. För att hitta chiffertext från vanlig text används följande formel för att få chiffertext C.

För att hitta chiffertext från vanlig text används följande formel för att få chiffertext C.

C = mDet ärmot n

C = 97mot 77

C = 37

Steg 5: Den privata nyckeln är . För att bestämma den privata nyckeln använder vi följande formel d så att:

DDet ärmod {(p - 1) x (q - 1)} = 1

7d mod 60 = 1, vilket ger d = 43

Den privata nyckeln är = (43, 77)

Steg 6: Ett chiffertextmeddelande c dekrypteras med privat nyckel. För att beräkna vanlig text m från chiffertexten c används följande formel för att få vanlig text m.

m = cdmot n

m = 3743mot 77

m = 9

I det här exemplet är vanlig text = 9 och chiffertexten = 37

Exempel 2:

I ett RSA-kryptosystem använder ett visst A två primtal, 13 och 17, för att generera de offentliga och privata nycklarna. Om publiken för A är 35. Då är den privata nyckeln för A …………?.

Förklaring:

Steg 1: i det första steget, välj två stora primtal, sid och q .

p = 13

q = 17

formatera datum till sträng

Steg 2: Multiplicera dessa siffror för att hitta n = p x q, var n kallas modulen för kryptering och dekryptering.

Först räknar vi

n = p x q

n = 13 x 17

n = 221

Steg 3: Välj ett nummer Det är mindre det n , så att n är relativt primtal till (p-1) x (q-1). Det betyder att Det är och (p - 1) x (q - 1) har ingen gemensam faktor förutom 1. Välj 'e' så att 1

För det andra, vi räknar

φ (n) = (p - 1) x (q-1)

φ (n) = (13 - 1) x (17 - 1)

φ (n) = 12 x 16

φ (n) = 192

g.c.d (35, 192) = 1

Steg 3: För att bestämma den privata nyckeln använder vi följande formel för att beräkna d så att:

Beräkna d = dDet ärmod φ (n) = 1

d = d x 35 mod 192 = 1

d = (1 + k.φ (n))/e [låt k =0, 1, 2, 3………………]

Sätt k = 0

d = (1 + 0 x 192)/35

d = 1/35

Sätt k = 1

d = (1 + 1 x 192)/35

d = 193/35

Sätt k = 2

d = (1 + 2 x 192)/35

d = 385/35

jlist

d = 11

Den privata nyckeln är = (11, 221)

Därför är privat nyckel, dvs d = 11

Exempel 3:

Ett RSA-kryptosystem använder två primtal 3 och 13 för att generera den publika nyckeln = 3 och den privata nyckeln = 7. Vad är värdet av chiffertext för en vanlig text?

Förklaring:

Steg 1: I det första steget väljer du två stora primtal, sid och q .

p = 3

q = 13

Steg 2: Multiplicera dessa siffror för att hitta n = p x q, var n kallas modulen för kryptering och dekryptering.

Först räknar vi

n = p x q

n = 3 x 13

n = 39

Steg 3: Om n = p x q, då är den publika nyckeln . Ett meddelande i klartext m är krypterad med offentlig nyckel. Den publika nyckeln är alltså = (3, 39).

För att hitta chiffertext från vanlig text används följande formel för att få chiffertext C.

C = mDet ärmot n

C = 53mot 39

C = 125 mot 39

C = 8

Därför är chiffertexten genererad från vanlig text, C = 8.

Exempel 4:

Ett RSA-kryptosystem använder två primtal, 3 och 11, för att generera privat nyckel = 7. Vad är värdet av chiffertext för en vanlig text 5 som använder RSA-krypteringsalgoritmen med offentlig nyckel?

Förklaring:

Steg 1: i det första steget, välj två stora primtal, sid och q .

p = 3

q = 11

Steg 2: Multiplicera dessa siffror för att hitta n = p x q, var n kallas modulen för kryptering och dekryptering.

Först räknar vi

mysql-antal

n = p x q

n = 3 x 11

n = 33

Steg 3: Välj ett nummer Det är mindre det n , så att n är relativt primtal till (p-1) x (q-1). Det betyder att Det är och (p - 1) x (q - 1) har ingen gemensam faktor förutom 1. Välj 'e' så att 1

För det andra, vi räknar

φ (n) = (p - 1) x (q-1)

φ (n) = (3 - 1) x (11 - 1)

java list nod

φ (n) = 2 x 10

φ (n) = 20

Steg 4: För att bestämma den publika nyckeln använder vi följande formel för att beräkna d så att:

Beräkna e x d = 1 mod φ (n)

e x 7 = 1 mot 20

e x 7 = 1 mot 20

e = (1 + k. φ (n))/d [låt k =0, 1, 2, 3………………]

Sätt k = 0

e = (1 + 0 x 20) / 7

e = 1/7

Sätt k = 1

e = (1 + 1 x 20) / 7

e = 21/7

e = 3

Den offentliga nyckeln är = (3, 33)

Därför är den offentliga nyckeln, dvs e = 3