RSA
Aus ProgrammingWiki
Archivierte Version vom 2017-11-15T07:28:03+00:00. Aktuelle Version
Inhaltsverzeichnis |
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.
Hausaufgabe
RSA-Faktoring-Chalenge (Wikipedia) lesen
- Warum ist das RSA-Verfahren mit kleinen Primzahlen immer noch unsicher? (Wozu benötigt man möglichst große Primzahlen?)
- Was bedeutet 205 Bit?
- Wie groß sollten zwei sichere Primzahlen sein?
Wir verschlüsseln uns Nachrichten gegenseitig
Tim
N = 2923723657325689753
e = 2^16+1
