Einzelnen Beitrag anzeigen

Nox

Registriert seit: 12. Jul 2018
22 Beiträge
 
#24

AW: Variablentypen bei ord() erzeugen Fehler

  Alt 13. Jul 2018, 00:09
Bei dem 2. versteh ich es jedoch nicht ganz...ist es nicht egal welche Zahlen benutzt werden da die Verschlüsselung ja mit der Multiplikation und erst die Entschlüsselung mit der Division des bereits benutzten Multiplikators abläuft?
Nein, aus zwei Gründen. Die (Ansi-)Zeichen haben 8-Bit, ord also liefert Werte 0..255, wenn Di die multipliziert erhält man im allgemeinen Werte > 255, die damit nicht in ein Zeichen passen. Deshalb könnte der Verschlüsselungsteil sein

c2 := char( faktor*ord(c1) mod 256)

als nur die untersten 8 Bit des Produkts.

Zweitens: Wenn Du zB faktor=16 hast, gibt es ein Problem

16 -> 0
32 -> 0

etc. Das heißt, eine Entschlüsselung ist nicht möglich. Aber zB factor=13 ist, entschlüsselt wird dann mit dem Faktor 197. (Das ist modulare Mathematik, muss man nicht unbedingt wissen).

Das sieht sehr logisch aus jedoch hab ich davon mit 16 Jahren leider keine Ahnung Tut mir leid!
Ich versuche jetzt erstmal mit allen Hilfen das Programm zusammenzubasteln!

LG Noah
  Mit Zitat antworten Zitat