RSA

Aus ProgrammingWiki
< EGE
Archivierte Version vom 2015-11-23T07:52:25+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?

RSA mit dem Android-Handy ansehen und versuchen, umzusetzen.

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

Janis

e: 2^16+1

N: 3665439546487061440

1842313926348178432 # 2792151817157424385 # 3528961273352578221 # 2930238185180721216 # 2761957194522262336 # 3493491432291593701 # 0026056796205141427 # 1694251208532680033 # 2211927068170531751 # 2092810116549692288 # 3232912713356286719 # 0069295229873900096 # 3586033872724439881 # 2830426920846224039 # 0096310557989816448 # 0155091583290175875 # 0888291098052164288

Serena

Pauline

e=2^16 +1 N=4452601854469770817 verschlüsselte Nachricht= 1573470199159879196 # 4110547422669658479 # 4194336050484187897

Martin

N= 181978153409718707132699 e=2^16+1

Fabian

N= 3688524632749527271 e=2^16+1

Ruben

Stefan

N= 2313333094337945657 e= 2^16+1

Robine

N= 2186129232435676273 e= 2^16+1 Nachricht: 1603377087122248620 # 1962403192502823082 # 0052178576996812159 # 0453129501104852780 # 2033770051849744253 # 2044870858148458891

Theresa

N = 66521346470667295308205965299 e = 2^16+1

Ludwig

N= 2407738743807459809 e= 2^16+1

Kevin

SC

SCHREIBT DA ETWAS REIN!!!!!

3708632922753294001 2^16+1

Milena

N=283397273111 e=2^16+1

2350150604919450809 # 1024076565518255175 # 0017846724738756785 # 2578589070032697009 # 1459392690800006295 # 3917609674949441944 # 3313260226623685754 # 1810605320052021261

Oliver

Öffentlicher schlüssel: N:233555458668544594979400202582823969778199979323 e:2^16+1

22356805537854580 # 28464588481644146 # 31363987528818720


076170867572919621791920632751285031309136635109 # 165121222462072426907216822362214630264085617903 # 222015713824133356901935574394793577314293231648

Josephine

Felix

Deborah

N=3454354140502097533 e=2^16+1

Nico

Josua

Saskia

N= 1837625933157484369 e= 2^16+1

Johanna

Tobias

N:8534815750927117319 2^16+1

7186244736488455815 # 4051774561632283300 # 5369269101717014617 # 7022745143947782012 # 3398135143735631489 # 7835823176011848904 # 0281148186603857921

Ella

N=3921338813725917869 e=2^16+1