RSA

Aus ProgrammingWiki
< EGE
Archivierte Version vom 2017-11-15T07:31:39+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.

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

Aaron: 6109241775432 # 0445619957989 # 2011493422895 # 1753212313778 # 1560560402734 # 4668526465824

Elise

Aaron


N = 8657171789267

e = 2^16+1

Johannes

Dandy

Josef

Theresa

N=2189329218283721051 e=2^16+1

Heidi

e: 2^16+1

N: 2923723657325689753