RSA = monoalphabetische Verschlüsselung

Also da ich gerne mal kleinere Texte monoalphabetisch verschlüssele & mich auch etwas für Kryptographie interessiere, habe ich mir mal das RSA-Verfahren angeschaut. Denn nichts ist unknackbar (außer dem OTP).

Ich machs mal kurz, für alle die nicht lange lesen wollen:
Klartext -> RSA-Verfahren -> Geheimtext

Man findet keinen Zusammenhang als Verschlüsseler, außer:
Klartext -> RSA-Verfahren -> Geheimtext

Das kann ich nämlich so oft machen, wie ich will.
Auch wenn der Klartext und der Geheimtext für den Verschlüsseler zusammenhaltslos sind, so bleiben sie doch immer gleich.
Also kann ich folgendes auch immer machen:
klarer Buchstabe-> RSA-Verfahren -> geheimer Buchstabe

Da ich aber immer den selben Buchstaben am Ende herausbekomme, egal wie oft ich das mache, könnte man doch einfach von einer monoalphabetischen Verschlüsselung ausgehen. Denn da passiert ja auch nichts anderes:
klarer Buchstabe-> was weiß ich was -> geheimer Buchstabe

_________


Habe ich da jetzt irgendwas falsch verstanden bei Wikipedia? Oder habe ich einen Denkfehler?
http://de.wikipedia.org/wiki/RSA-Kryptosystem

Ich mache mal ein Beispiel:
http://de.wikipedia.org/wiki/RSA-Kryptosystem#Verschl.C3.BCsseln_von_Nachrichten

Da nimmt man eine 7 und bekommt eine 2 raus. Da e,N & d immer gleich bleiben in einer Nachricht, ändert sich daran auch nichts.

Aber meine kleine monoalphabetische Verschlüsselung kann das Selbe:
0 -> 1
1 -> 5
2 -> 9
3 -> 3
4 -> 8
5 -> 6
6 -> 0
7 -> 2
8 -> 7
9 -> 4

Bloß bin ich schneller. Hat da jemand eine Erklärung für?
 
Wer hat sich denn diese Gemeinheit einfallen lassen. X(
Selbst bei dem einfachen Wikipediabeispiel sind das dann 19683 Zahlenkombinationen.

Also muss ich mich nochmal dransetzten, wenn ich RSA knacken will.
Vielen Dank CDW.
 
Hallo,
RSA kannst du nicht knacken, außer durch die Faktorisierung von N.

RSA kann man vergleichen mit einer monoaplhabetischen Substitution.

Meiner einer mono. Substitution werden Buchstaben ersetzt:
a in e
b in x
c in a
usw.

Der Schlüssel ist dann hier das Ersetzungsmuster.

Dies kann man aber auch auf mehrere Buchstaben ausweiten:
aa in ej
ab in kl
ac in dg

Hier wäre wieder das Ersetzungsmuster der Key.

Bei RSA ist es genauso, allerdings ersetzt man dort nicht 1 Buchstaben durch einen anderen, sondern man teilt den Text in Blöcke auf, die aber kleiner als N sein müssen.

Da aber N relativ groß ist (z.B. 2048 Bit), ist die Blockgröße auch sehr groß, z.B. 255 Byte.
D.h., du hast eine mono. Substitution mit einer größe von 255 Byte, würde dann so aussehen:
aaaa[...]aaaa in ehxcdfgrt[...]sdf
aaaa[...]aaab in jkhjiuuighf[...]kui


Um eine monoalphabetische Substitution zu knacken, verwendet man ja Methoden der Statistik.
Bei einer einfacher Substitution zählt man die Häufigkeit der Buchstaben und kann dies dann mit der Häufigkeit der Buchstaben in unserer Sprache vergleichen.
Wenn ich 2 Buchstaben in 2 andere Buchstaben überführe, müsste ich die Häufigkeit der Buchstabenenpaare zählen und dies mit den Buchstabenpaaren der deutschen Sprache vergleichen.

Je größer der Block wird, um so näher gleichen sich die relativen Häufigkeiten für bestimmte Blöcke an.
Bei einer Blockgröße von 1, dort tritt der Buchstabe e mit einer Wahrscheinlichkeit von ca. 13% auf.
Wenn im Geheimtext 13% der Buchstaben aber nun ein q ist, dann wird e durch q ersetzt.

Bei einer Blockgröße von z.B. 10 tritt aber fast jeder Block mit der gleichen Wahrscheinlichkeit auf, so dass du nicht mehr sagen kannst, dass der Geheimtextblock abcdefg[...] der Klartextblock abcdef... sein muss.

Jetzt stellt dir das Problem mal bei einer Blockgröße von 255 Byte vor. Du hast insgesamt 2^2040 (10^614) mögliche Blöcke.
Da jeder Block auch in etwa die gleiche Wahrscheinlichkeit hat aufzutauchen, kannst du eben nichts mittels der Wahrscheinlichkeit berechnen.

Das einzige was man sagen kann, ist dass 2 gleiche Geheimtextblöcke zum gleichen Klartext gehören, das wars aber auch schon.

Des Weiteren ist es so, dass eine einfache mono. Substitution (1 Buchstaben) bereits schwer zu knacken ist, dann versuch dich mal an einer Blockgröße von 2 oder 3...


Ein anderes Problem ist, dass mit RSA i.d.R. nur ein (zufälliger!) symmetrischer Key verschlüsselt wird.

Wenn du eine zufällige Zeichenfolge mittes Cäser, monoalphabetischen Substitution etc. verschlüsselst, dann kann diese nicht gebrochen werden!
Bei Cäser könntest du zwar noch die maximal 26 vorhandenen Klartexte erstellen, mit gewissheit welcher nun der richtige ist kannst du nicht sagen.
Bei der mono. Sub. ist es noch schlimmer, da hast du insgesamt 10^26 mögliche Klartexte.

Hier ein zufälliger String, der mittels mono. Sub. verschlüsselt wurde:
anvtzzumaergmvpalertqncvmmdhvrtls

Jetzt kannst du dir vorstellen, wie das bei RSA ist.
Selbst wenn man große Dateien, z.B. Festplattenimages, mittels RSA verschlüsselt (was keiner macht), kann man über Statistik den Code nicht knacken!
Wenn du per Hand mal ne mono. Sub. knackst, wirst du feststellen, dass man e, s, t und n relativ schnell herrausfindet, bei den anderen muss man immer etwas Raten und gucken ob das Ergebnis passt.
Bei 255 Byte Blockgröße bleibt dir nur das das Raten, ist so ähnlich wie ein OTP.
 
Zurück
Oben