RSA

Aus ProgrammingWiki
Archivierte Version vom 2012-03-20T12:46:58+00:00. Aktuelle Version

Inhaltsverzeichnis

schema_rsa.png

Entwurf öffentlicher Schlüssel (e, N)

Lege zwei (große) Primzahlen p und q fest mit p \neq q.

Bilde das Produkt N = p \cdot q.

Suche eine weitere Zahl e, für die gilt:

  • e ist Primzahl und größer als p und q oder
  • e ist teilerfremd zu (p-1) \cdot (q-1).

Die Zahlen e und N bilden den öffentlichen Schlüssel.

Entwurf privater Schlüssel (d)

  • d \le (p-1) \cdot (q-1) und
  • (d \cdot e) \bmod [(p-1) \cdot (q-1)] = 1

Bob verschlüsselt die Nachricht M

Voraussetzung: öffentlicher Schlüssel (e, N) Ein Klartext-Zeichen mit dem Code M wird mit

M^e \bmod N = C

zu C verschlüsselt.

Alice entschlüsselt die Nachricht C

Voraussetzung: privater Schlüssel d, öffentlicher Schlüssel N, Code C Der verschlüsselte Code C wird mit

C^d \bmod N = M

zum Code M des Klartext-Zeichens entschlüsselt.

Wir verschlüsseln Nachrichten gegenseitig

Beispiel

öffentlicher Schlüssel: N=2212356658925775797 e=2^16+1

verschlüsselte Nachricht=0154053610309353007 # 0414178728190804750 # 1697057945399357863 # 2070423477403309778 # 1073508525444459212 # 0381990340997203895 # 1748647492571070100 # 0323355113406576190 # 0471324455178646453 # 1739775672006346255 # 0855733748764982545 # 1461509390385958697

Francie

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Richard

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Philipp H.

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Philipp S.

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Tobias

öffentlicher Schlüssel: N=2923723657325689753 e=2^16+1

verschlüsselte Nachricht=

Jessie

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Felix

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=

Henri

öffentlicher Schlüssel: N= e=

verschlüsselte Nachricht=