RSA-Kryptosystem < Zahlentheorie < Algebra+Zahlentheo. < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:11 Mi 06.05.2015 | Autor: | preissg6 |
Aufgabe | Wir betrachten das RSA- Kryptosystem mit den Parametern N= 2933 und e=13. Wir verschlüsseln nun ein Wort, indem wir jeden Buchstaben einzeln mit den selben Parametern verschlüsseln, wobei wir A=02, B=03, C=04,...;Z= 27 kodieren. Beispielsweise verschlüsseln wir das Wort RUHR nach anfänglicher Kodierung zu [mm] (\overline{19,22,09,19}) [/mm] zu c= [mm] (\overline{19^13,22^13,09^13,19^13})= (\overline{2245,1338,2879,2245}) [/mm] E [mm] (Z/NZ)^4
[/mm]
Nun konnte folgender Chiffretext abgefangen werden, der mit den selben Parametern wie oben verschlüsselt wurde:
[mm] (\overline{1506,2326,1338,2421,2421})
[/mm]
(a) Wie lautet die Nachricht?
(b) Was ist der Nachteil, wenn man jeden Buchstaben einzeln verschlüsselt? Wie könnte man dieses Problem lösen?
(c) Zeige, dass RSA für ALLE Nachrichten aus (Z/NZ) und nicht nur aus [mm] (Z/NZ)^x [/mm] funktioniert. |
Den Aufgabenteil a) habe ich weitestgehend verstanden und das Lösungswort "Gauss" erhalten.
Beim Aufgabenteil b) bin ich mir sehr unsicher. Ich vermute mal, dass es ein Problem darstellt, dass es nur 25 Möglichkeiten zur Verschlüsselung gibt und durch die Dopplung von Buchstaben die Entschlüsselung noch vereinfacht wird. Zudem habe ich gelesen, dass Anhand der Häufigkeit der Buchstaben (e mit 17% ...) in längeren Texten auf die Entschlüsselung geschlossen werden kann.
Meine Idee war, dass man vielleicht die Buchstaben nicht einzeln verschlüsselt, sondern in zweier Tupeln. Dadurch würden sich die Möglichkeiten erhöhen. Macht das Sinn?
Aufgabenteil c) macht mir größere Sorgen. Ich habe versucht mir das Problem anhand von einem Beispiel zu verdeutlichen.
Für [mm] (Z/6Z)^x [/mm] würde das RSA folgendermaßen aussehen:
1. phi(6)= (2-1)(3-1)= 2
2. Berechne N=pq => 6=3*2
3. Wähle e [mm] \varepsilon [/mm] Uphi(N), also U2 => e= 1
4. Berechne d mit [mm] ed\equiv [/mm] 1 mod phi(N) => 1*d+k*2=1
=> ggt(2,1)= 1= 1*2+ 1* (-1)
Aber wäre diese Rechnung überhaupt möglich? Wenn ich mich in [mm] (Z/6Z)^x={1,5} [/mm] befinde?
Vielen Dank schon mal!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:40 Sa 09.05.2015 | Autor: | felixf |
Moin!
> Wir betrachten das RSA- Kryptosystem mit den Parametern N=
> 2933 und e=13. Wir verschlüsseln nun ein Wort, indem wir
> jeden Buchstaben einzeln mit den selben Parametern
> verschlüsseln, wobei wir A=02, B=03, C=04,...;Z= 27
> kodieren. Beispielsweise verschlüsseln wir das Wort RUHR
> nach anfänglicher Kodierung zu [mm](\overline{19,22,09,19})[/mm] zu
> c= [mm](\overline{19^13,22^13,09^13,19^13})= (\overline{2245,1338,2879,2245})[/mm]
> E [mm](Z/NZ)^4[/mm]
>
> Nun konnte folgender Chiffretext abgefangen werden, der mit
> den selben Parametern wie oben verschlüsselt wurde:
>
> [mm](\overline{1506,2326,1338,2421,2421})[/mm]
>
> (a) Wie lautet die Nachricht?
> (b) Was ist der Nachteil, wenn man jeden Buchstaben
> einzeln verschlüsselt? Wie könnte man dieses Problem
> lösen?
> (c) Zeige, dass RSA für ALLE Nachrichten aus (Z/NZ) und
> nicht nur aus [mm](Z/NZ)^x[/mm] funktioniert.
>
> Den Aufgabenteil a) habe ich weitestgehend verstanden und
> das Lösungswort "Gauss" erhalten.
Gut möglich, da die letzten beiden Buchstaben offenbar gleich sein müssen, der Rest aber nicht.
> Beim Aufgabenteil b) bin ich mir sehr unsicher. Ich vermute
> mal, dass es ein Problem darstellt, dass es nur 25
> Möglichkeiten zur Verschlüsselung gibt
> und durch die
> Dopplung von Buchstaben die Entschlüsselung noch
> vereinfacht wird. Zudem habe ich gelesen, dass Anhand der
> Häufigkeit der Buchstaben (e mit 17% ...) in längeren
> Texten auf die Entschlüsselung geschlossen werden kann.
Das mit der Häufigkeit stimmt, ist hier aber recht egal. (Das braucht man nur, wenn man weder den Public- noch den Secret-Key kennt.) Bei Public-Key-Verfahren wie RSA ist es ja normalerweise so, dass der Public Key bekannt ist, der Secret Key aber nicht. Wenn der Raum der Eingabewerte so klein ist (hier: 26 Werte, aber auch wenn es z.B. ein paar hundert Millionen sind), kann man diese einfach alle mit dem Public Key verschlüsseln und mit dem verschlüsseltem Text (bzw. seinen Teilen) vergleichen -- sozusagen ein Brute-Force-Angriff. Deswegen muss man dafür sorgen (etwa durch Padding oder Zusammenfassen von viel mehr Buchstaben), dass die Menge der Dinge die verschlüsselt wird gross genug ist.
> Meine Idee war, dass man vielleicht die Buchstaben nicht
> einzeln verschlüsselt, sondern in zweier Tupeln. Dadurch
> würden sich die Möglichkeiten erhöhen. Macht das Sinn?
Ja. Eigentlich müsste man wesentlich grössere Tupel nehmen, damit es sicher ist, bei dem winzigen $N$ hier gehen aber nicht mehr als zwei.
Zumindest mit einem Taschenrechner wird das System mit Zweiertupeln schon viel mühsamer zu knacken. Für einen Computer ist es aber immer noch in Sekundenbruchteilen möglich. Aber normalerweise verwendet man ja Werte von $N$ mit sehr vielen Bits, und dementsprechend auch viel mehr Buchstaben (oder allgemein Bytes oder Zeichen) auf einmal.
> Aufgabenteil c) macht mir größere Sorgen. Ich habe
> versucht mir das Problem anhand von einem Beispiel zu
> verdeutlichen.
>
> Für [mm](Z/6Z)^x[/mm] würde das RSA folgendermaßen aussehen:
>
> 1. phi(6)= (2-1)(3-1)= 2
> 2. Berechne N=pq => 6=3*2
> 3. Wähle e [mm]\varepsilon[/mm] Uphi(N), also U2 => e= 1
e=1 ist eine ganz schlechte Idee Das sollte man auf keinen Fall nehmen. Dann muss man nämlich gar nichts machen um das System zu knacken, da die Verschlüsselungsfunktion die Identität ist.
> 4. Berechne d mit [mm]ed\equiv[/mm] 1 mod phi(N) => 1*d+k*2=1
> => ggt(2,1)= 1= 1*2+ 1* (-1)
Zu $e = 1$ kannst du immer $d = 1$ nehmen.
> Aber wäre diese Rechnung überhaupt möglich? Wenn ich
> mich in [mm](Z/6Z)^x={1,5}[/mm] befinde?
Welche Rechnung meinst du hier? [mm] $(x^e \mod N)^d \mod [/mm] N = x$ für alle $x$?
Klar, das ist immer möglich.
Ein Tipp für Aufgabenteil c): es gibt da einen zahlentheoretischen Satz, der schon vor über tausend Jahren einem Volk im asiatischen Raum bekannt war. Den brauchst du hier. Damit kannst du das ganze für jedes quadratfreie $N$ beweisen.
LG Felix
|
|
|
|