RSA

Aus ProgrammingWiki
< EGE
Archivierte Version vom 2019-11-13T08:41:50+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 uns Nachrichten gegenseitig

Ruben

N=2290688290035092561 e=2^16+1

Leonie

N=2240339100055897937 e=2^16+1

Geheimtext: 0654359698520473788 # 0714763344931688486

Jan-Niklas

N= 2403979145974083079 e= 2^16+1

Luis

N=2002475013814716989

e=2^16+1

Clemens

N= 75294756853 e= 2^16+1

Maximilian

N = 3038043574127449361 e = 2^16+1

Janine

N=2852579451223911293 e=2^16+1

Simon

N=2634640713694040663 e=2^16+1

Ben

N = 2634640713694040663 e = 2^16+1 Text: 1034836196066802899 # 2163387804459873831 # 2239945373948065010 # 1716904572690322764 # 2061974359428766560 # 2040847074043526100

Conrad

Philip

N=4125102652534801589 e=2^16+1