Asymmetrische Verschlüsselung = monoalphabetisch?

Ich habe folgendes Problem ich habe das Wort hallo asymmetrische verschlüsselt. Dafür habe ich die entsprechenden ASCII-Codes der Buchstaben genommen. Also 104 97 108 108 111. Der öffentliche Schlüssel ist e=5. Gemäß k^e, also 104^5; 97^5; 108^5; 108^5; 111^5, und modulo n=35 müsste nun 59 47 58 58 161 der chiffrierte Text in Zahlen sein. In den ASCII zurückübersetzt heißt das: ;/::í
Egal, ob ASCII oder nicht, aber das l (oder 108) haben dieselbe Zahle, bzw. denselben ASCII.
Woran liegt das? Habe ich da etwas grundsötzlich falsch verstanden. Denn wenn ich das Verfahren auf ein und dieselbe Zahl anwende ist ja klar, dass dasselbe Ergebnis rauskommt.

Hallo.

Erstmal eine ASCII-Tabelle: http://cips02.physik.uni-bonn.de/pool/infos/ascii/ta…
Ausserdem kann der Quellcode helfen den Fehler zu finden :wink:
Zudem kann sowas passieren, wenn man modulo Rechnung betreibt. Immerhin soll das Original nicht zurückverfolgt werden können.

HTH
mfg M.L.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Egal, ob ASCII oder nicht, aber das l (oder 108) haben
dieselbe Zahle, bzw. denselben ASCII.
Woran liegt das? Habe ich da etwas grundsötzlich falsch
verstanden. Denn wenn ich das Verfahren auf ein und dieselbe
Zahl anwende ist ja klar, dass dasselbe Ergebnis rauskommt.

Verstehe ich das richtig, dass dein Problem ist, dass ein Buchstabe immer in den selben Buchstabe transformiert wird?
Deswegen nimmt man bei solchen Algorithmen immer Blöck von Bytes. Wenn du z.B. 128-Byteblöcke verwendest (1024 bit), hast du schon 2^1024 Möglichkeiten pro Block.

Grüße,
Moritz

Hallo frolic,

klar: du hast deinen Text zeichenweise verschluesselt, im Fachjargon: dein asymmetrischer "Block"algorithmus hat eine Blockgröße von 1 Byte gehabt. Das entspricht in der Tat einer monoalphabetischen Substitution, ist also völlig unbrauchbar.

Was gemacht werden muß, eine Blockgröße von sagen wir mal 16 oder 32 Byte zu haben. Dein Text „hallo“ muß also bis zur Blockgröße aufgefüllt werden, der entstandene Block wird als 128 oder 256-Bit große Binärzahl interpretiert und DANN wird exponenziert! (Du hast vermutlich RSA im Kopf, oder?)

Viele Grüße

Oli

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke!
Das war der Anstoß den ich brauchte. Jetzt ist alles klar!