Der RSA-Algorithmus ist ein asymmetrischer Kryptografiealgorithmus. Asymmetrisch bedeutet eigentlich, dass es auf zwei verschiedenen Schlüsseln funktioniert, dh öffentlicher Schlüssel und privater Schlüssel. Wie der Name beschreibt, wird der öffentliche Schlüssel jedem gegeben und der private Schlüssel wird privat gehalten.

Ein Beispiel für asymmetrische Kryptographie:

  1. Ein Client (z. B. Browser) sendet seinen öffentlichen Schlüssel an den Server und fordert einige Daten an.
  2. Der Server verschlüsselt die Daten mit dem öffentlichen Schlüssel des Clients und sendet die verschlüsselten Daten.
  3. Client empfängt diese Daten und entschlüsselt es.,

Da dies asymmetrisch ist, kann niemand außer Browser die Daten entschlüsseln, selbst wenn ein Dritter über einen öffentlichen Schlüssel des Browsers verfügt.

Die Idee! Die Idee von RSA basiert auf der Tatsache, dass es schwierig ist, eine große Ganzzahl zu faktorisieren. Der öffentliche Schlüssel besteht aus zwei Zahlen, wobei eine Zahl die Multiplikation von zwei großen Primzahlen ist. Und der private Schlüssel wird auch von denselben zwei Primzahlen abgeleitet. Wenn also jemand die große Zahl faktorisieren kann, wird der private Schlüssel kompromittiert., Daher liegt die Verschlüsselungsstärke völlig auf der Schlüsselgröße und wenn wir die Schlüsselgröße verdoppeln oder verdreifachen, erhöht sich die Stärke der Verschlüsselung exponentiell. RSA-Schlüssel können in der Regel 1024 oder 2048 Bit lang sein, aber Experten glauben, dass 1024-Bit-Schlüssel in naher Zukunft gebrochen werden könnten. Aber bis jetzt scheint es eine undurchführbare Aufgabe zu sein.

Lassen Sie uns den Mechanismus hinter RSA-Algorithmus lernen:

    >> Erzeugen öffentlichen Schlüssels:

  • Wählen Sie zwei Primzahlen no ‚ s. Angenommen, P = 53 und Q = 59. ,Nun erster Teil des öffentlichen Schlüssels: n = P*Q = 3127.
  • Unser öffentlicher Schlüssel besteht aus n und e
  • >> Erzeugen eines privaten Schlüssels :

    
    
  • Wir müssen Φ(n) berechnen :So dass Φ(n) = (P-1)(Q-1) so, Φ(n) = 3016
  • Berechnen Sie nun den privaten Schlüssel, d : d = (k*Φ(n) + 1) / e für eine ganze Zahl kFor k = 2 ist der Wert von d 2011.,
  • Jetzt sind wir bereit mit unserem – Öffentlichen Schlüssel ( n = 3127 und e = 3) und privaten Schlüssel(d = 2011)

    Jetzt werden wir „HI“ verschlüsseln :

    
    
  • Buchstaben in Zahlen umwandeln : H = 8 und I = 9
  • So verschlüsselte Daten c = 89e mod n. Somit sind unsere verschlüsselten Daten 1394
  • Jetzt werden wir 1394 entschlüsseln :

  • Entschlüsselte Daten = cd mod n. Somit ergeben sich unsere verschlüsselten Daten 89
  • 8 = H und I = 9 d.h. „HI“.,

    Unten ist die Implementierung des RSA-Algorithmus für kleine Werte aufgeführt:

    
    

    
    

    Ausgabe :

    Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000

    Dieser Artikel wird von Mohit Gupta_OMG 🙂beigesteuert. Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel mit schreiben contribute.geeksforgeeks.org oder mailen Sie Ihren Artikel an [email protected]. Sehen Sie Ihren Artikel auf der Hauptseite von GeeksforGeeks und helfen Sie anderen Geeks.