logo

RSA-Verschlüsselungsalgorithmus

Der RSA-Verschlüsselungsalgorithmus ist eine Art Verschlüsselungsalgorithmus mit öffentlichem Schlüssel. Um RSA besser zu verstehen, verstehen wir zunächst, was ein Verschlüsselungsalgorithmus mit öffentlichem Schlüssel ist.

Verschlüsselungsalgorithmus mit öffentlichem Schlüssel:

Der Verschlüsselungsalgorithmus mit öffentlichem Schlüssel wird auch als asymmetrischer Algorithmus bezeichnet. Unter asymmetrischen Algorithmen versteht man solche Algorithmen, bei denen Sender und Empfänger unterschiedliche Schlüssel zur Ver- und Entschlüsselung verwenden. Jedem Absender wird ein Schlüsselpaar zugewiesen:

    Öffentlicher Schlüssel Privat Schlüssel

Der Öffentlicher Schlüssel zur Verschlüsselung verwendet wird, und die Privat Schlüssel wird zur Entschlüsselung verwendet. Die Entschlüsselung kann nicht mit einem öffentlichen Schlüssel erfolgen. Die beiden Schlüssel sind verknüpft, der private Schlüssel kann jedoch nicht vom öffentlichen Schlüssel abgeleitet werden. Der öffentliche Schlüssel ist bekannt, der private Schlüssel ist jedoch geheim und nur dem Benutzer bekannt, der den Schlüssel besitzt. Das bedeutet, dass jeder mit dem öffentlichen Schlüssel des Benutzers eine Nachricht an den Benutzer senden kann. Aber nur der Benutzer kann die Nachricht mit seinem privaten Schlüssel entschlüsseln.

Der Public-Key-Algorithmus funktioniert auf folgende Weise:

RSA-Verschlüsselungsalgorithmus
  • Die zu versendenden Daten werden vom Absender verschlüsselt A Verwendung des öffentlichen Schlüssels des vorgesehenen Empfängers
  • B entschlüsselt den empfangenen Chiffretext mit seinem privaten Schlüssel, der nur B bekannt ist. B antwortet A, indem er seine Nachricht mit dem öffentlichen Schlüssel von A verschlüsselt.
  • A entschlüsselt den empfangenen Chiffretext mit seinem privaten Schlüssel, der nur ihm bekannt ist.

RSA-Verschlüsselungsalgorithmus:

RSA ist der gebräuchlichste Public-Key-Algorithmus, benannt nach seinen Erfindern Rivest, Shamir und Adelman (RSA).

RSA-Verschlüsselungsalgorithmus

Der RSA-Algorithmus verwendet das folgende Verfahren, um öffentliche und private Schlüssel zu generieren:

  • Wählen Sie zwei große Primzahlen aus, p und Q .
  • Multiplizieren Sie diese Zahlen, um zu finden n = p x q, Wo N wird Modul für Verschlüsselung und Entschlüsselung genannt.
  • Wähle eine Nummer Es ist weniger als N , so dass n relativ teilerfremd ist (p - 1) x (q -1). Das bedeutet es Es ist Und (p - 1) x (q - 1) haben außer 1 keinen gemeinsamen Faktor. Wählen Sie „e“ so, dass 1 gcd (e,d(n)) =1
  • Wenn n = p x q, dann ist der öffentliche Schlüssel . Eine Klartextnachricht M wird mit einem öffentlichen Schlüssel verschlüsselt. Um Chiffretext aus dem Klartext zu finden, wird die folgende Formel verwendet, um Chiffretext C zu erhalten.
    C = mEs istgegen n
    Hier , M muss kleiner sein als N . Eine größere Nachricht (>n) wird als eine Verkettung von Nachrichten behandelt, die jeweils separat verschlüsselt werden.
  • Um den privaten Schlüssel zu bestimmen, verwenden wir die folgende Formel, um d so zu berechnen:
    DEs istmod {(p – 1) x (q – 1)} = 1
    Oder
    DEs istmod φ (n) = 1
  • Der private Schlüssel ist . Eine Geheimtextnachricht C wird mit einem privaten Schlüssel entschlüsselt. Zur Berechnung von Klartext M Aus dem Chiffretext c wird die folgende Formel verwendet, um den Klartext m zu erhalten.
    m = cDgegen n

Nehmen wir ein Beispiel eines RSA-Verschlüsselungsalgorithmus:

Beispiel 1:

Dieses Beispiel zeigt, wie wir Klartext 9 mithilfe des RSA-Verschlüsselungsalgorithmus mit öffentlichem Schlüssel verschlüsseln können. In diesem Beispiel werden die Primzahlen 7 und 11 verwendet, um den öffentlichen und privaten Schlüssel zu generieren.

Erläuterung:

Schritt 1: Wählen Sie zwei große Primzahlen p und aus Q .

p = 7

q = 11

Schritt 2: Multiplizieren Sie diese Zahlen, um zu finden n = p x q, Wo N wird Modul für Verschlüsselung und Entschlüsselung genannt.

Zuerst rechnen wir

n = p x q

n = 7 x 11

n = 77

Schritt 3: Wähle eine Nummer Es ist weniger N , so dass n relativ teilerfremd ist (p - 1) x (q -1). Das bedeutet es Es ist Und (p - 1) x (q - 1) haben außer 1 keinen gemeinsamen Faktor. Wählen Sie „e“ so, dass 1

Zweitens berechnen wir

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

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

Kandidatenschlüssel

φ (n) = 6 x 10

φ(n) = 60

Wählen wir nun die relative Primzahl e von 60 als 7.

Somit ist der öffentliche Schlüssel = (7, 77)

Schritt 4: Eine Klartextnachricht M wird mit einem öffentlichen Schlüssel verschlüsselt. Um Chiffretext aus dem Klartext zu finden, wird die folgende Formel verwendet, um Chiffretext C zu erhalten.

Um Chiffretext aus dem Klartext zu finden, wird die folgende Formel verwendet, um Chiffretext C zu erhalten.

C = mEs istgegen n

C = 97gegen 77

C = 37

Schritt 5: Der private Schlüssel ist . Um den privaten Schlüssel zu bestimmen, verwenden wir die folgende Formel d, so dass:

DEs istmod {(p – 1) x (q – 1)} = 1

7d mod 60 = 1, was d = 43 ergibt

Der private Schlüssel ist = (43, 77)

Schritt 6: Eine Geheimtextnachricht C wird mit einem privaten Schlüssel entschlüsselt. Zur Berechnung von Klartext M Aus dem Chiffretext c wird die folgende Formel verwendet, um den Klartext m zu erhalten.

m = cDgegen n

m = 3743gegen 77

fmoviez

m = 9

In diesem Beispiel ist Klartext = 9 und der Geheimtext = 37

Beispiel 2:

In einem RSA-Kryptosystem verwendet ein bestimmtes A zwei Primzahlen, 13 und 17, um den öffentlichen und den privaten Schlüssel zu generieren. Wenn der öffentliche Schlüssel von A 35 ist. Dann ist der private Schlüssel von A ……………?.

Erläuterung:

Schritt 1: Wählen Sie im ersten Schritt zwei große Primzahlen aus, P Und Q .

p = 13

q = 17

Schritt 2: Multiplizieren Sie diese Zahlen, um zu finden n = p x q, Wo N wird Modul für Verschlüsselung und Entschlüsselung genannt.

Zuerst rechnen wir

n = p x q

n = 13 x 17

n = 221

Schritt 3: Wähle eine Nummer Es ist weniger N , so dass n relativ teilerfremd ist (p - 1) x (q -1). Das bedeutet es Es ist Und (p - 1) x (q - 1) haben außer 1 keinen gemeinsamen Faktor. Wählen Sie „e“ so, dass 1

Zweitens berechnen wir

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

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

φ(n) = 12 x 16

φ(n) = 192

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

Schritt 3: Um den privaten Schlüssel zu bestimmen, verwenden wir die folgende Formel, um d so zu berechnen:

Berechnen Sie d = dEs istmod φ (n) = 1

d = d x 35 mod 192 = 1

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

Setzen Sie k = 0

d = (1 + 0 x 192)/35

d = 1/35

Setzen Sie k = 1

d = (1 + 1 x 192)/35

d = 193/35

Setzen Sie k = 2

d = (1 + 2 x 192)/35

d = 385/35

d = 11

Der private Schlüssel ist = (11, 221)

Daher ist der private Schlüssel d = 11

Beispiel 3:

Ein RSA-Kryptosystem verwendet zwei Primzahlen 3 und 13, um den öffentlichen Schlüssel = 3 und den privaten Schlüssel = 7 zu generieren. Welchen Wert hat der Chiffriertext für einen Klartext?

Erläuterung:

Schritt 1: Wählen Sie im ersten Schritt zwei große Primzahlen aus, P Und Q .

p = 3

q = 13

Schritt 2: Multiplizieren Sie diese Zahlen, um zu finden n = p x q, Wo N wird Modul für Verschlüsselung und Entschlüsselung genannt.

Zuerst rechnen wir

n = p x q

n = 3 x 13

n = 39

partielles abgeleitetes Latex

Schritt 3: Wenn n = p x q, dann ist der öffentliche Schlüssel . Eine Klartextnachricht M wird mit einem öffentlichen Schlüssel verschlüsselt. Somit ist der öffentliche Schlüssel = (3, 39).

Um Chiffretext aus dem Klartext zu finden, wird die folgende Formel verwendet, um Chiffretext C zu erhalten.

C = mEs istgegen n

C = 53gegen 39

C = 125 vs. 39

C = 8

Daher ist der aus Klartext generierte Chiffretext C = 8.

Beispiel 4:

Ein RSA-Kryptosystem verwendet zwei Primzahlen, 3 und 11, um einen privaten Schlüssel = 7 zu generieren. Welchen Wert hat der Chiffretext für einen Klartext 5 unter Verwendung des RSA-Verschlüsselungsalgorithmus mit öffentlichem Schlüssel?

Erläuterung:

Schritt 1: Wählen Sie im ersten Schritt zwei große Primzahlen aus, P Und Q .

p = 3

Java tun, während

q = 11

Schritt 2: Multiplizieren Sie diese Zahlen, um zu finden n = p x q, Wo N wird Modul für Verschlüsselung und Entschlüsselung genannt.

Zuerst rechnen wir

n = p x q

n = 3 x 11

n = 33

Schritt 3: Wähle eine Nummer Es ist weniger N , so dass n relativ teilerfremd ist (p - 1) x (q -1). Das bedeutet es Es ist Und (p - 1) x (q - 1) haben außer 1 keinen gemeinsamen Faktor. Wählen Sie „e“ so, dass 1

Zweitens berechnen wir

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

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

φ (n) = 2 x 10

φ(n) = 20

Schritt 4: Um den öffentlichen Schlüssel zu bestimmen, verwenden wir die folgende Formel, um d zu berechnen, sodass:

Berechnen Sie e x d = 1 mod φ (n)

e x 7 = 1 gegen 20

e x 7 = 1 gegen 20

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

Setzen Sie k = 0

e = (1 + 0 x 20) / 7

e = 1/7

Setzen Sie k = 1

e = (1 + 1 x 20) / 7

e = 21/7

e = 3

Der öffentliche Schlüssel ist = (3, 33)

Daher ist der öffentliche Schlüssel, d. h. e = 3