Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme mit ASCII (https://www.delphipraxis.net/79634-probleme-mit-ascii.html)

qb-tim 25. Okt 2006 18:10


Probleme mit ASCII
 
Ich programmiere ein ENIGMA programm, welches anhand eines Passwortes eine Kette von Datenveränderungen in einer Datei macht.

Methode: ASCII-Wert Veränderung.

Ich habe es getestet aber beim anschlißenden Decodieren der Datei war die Datei komplett falsch!

Methode: (NUM = eine Zahl, die durch dem Passwort übermittelt wird)

Codieren:
Delphi-Quellcode:
ASCII := ASCII + NUM;
if ASCII > 255 then ASCII := ASCII - 255;
Decodieren:
Delphi-Quellcode:
ASCII := ASCII - NUM;
if ASCII < 0 then ASCII := ASCII + 255;
Das sind die einzigen Routinen, die Werte anhand von NUM verändert.

Ist an meiner Methode was falsch?

SirThornberry 25. Okt 2006 18:12

Re: Probleme mit ASCII
 
von 0 bis 255 sind es 256 verschieden Zeischen. Somit musst du auch 256 addieren bzw. subtrahieren. Und nicht vergessen das du auch beim letzten zeischen mit decodieren beginnst.

mkinzler 25. Okt 2006 18:12

Re: Probleme mit ASCII
 
Was für ein Typ hat ASCII?
Warum nimmst du kein MOD?

HalloDu 25. Okt 2006 18:24

Re: Probleme mit ASCII
 
[OT] Diese Verschlüsselung ist nicht sehr sicher, mach dich doch mal schlau zu Thema Xor oder wenn es wirklich sicher sein soll beschäftige dich mal mit RSA... Ich kann das Buch des Rowolth Verlages "Verschüsselungen" aus der Reihe RoRoRo sehr empfehlen. Da steht alles zu verschiedenen Verschlüsselungsverfahren drin und wie leicht man sie knacken kann. Das Buch ist gut geschrieben und beleuchtet auch den geschichtlichen Hintergrund der Enigma. [/OT]

Tschuldigung für das OT, dachte es würde ihm helfen sein System zu verbessern. :mrgreen:

Edit: Was du da gemacht hast nennt man Caesar Chiffre (s. Buch)

SirThornberry 25. Okt 2006 18:58

Re: Probleme mit ASCII
 
@hallo du: XOR ist alles andere als sicher!

3_of_8 25. Okt 2006 19:09

Re: Probleme mit ASCII
 
Zitat:

Zitat von HalloDu
[OT] Diese Verschlüsselung ist nicht sehr sicher, mach dich doch mal schlau zu Thema Xor oder wenn es wirklich sicher sein soll beschäftige dich mal mit RSA... Ich kann das Buch des Rowolth Verlages "Verschüsselungen" aus der Reihe RoRoRo sehr empfehlen. Da steht alles zu verschiedenen Verschlüsselungsverfahren drin und wie leicht man sie knacken kann. Das Buch ist gut geschrieben und beleuchtet auch den geschichtlichen Hintergrund der Enigma. [/OT]

Tschuldigung für das OT, dachte es würde ihm helfen sein System zu verbessern. :mrgreen:

Edit: Was du da gemacht hast nennt man Caesar Chiffre (s. Buch)

Wenn es wirklich eine Enigma-Verschlüsselung ist, dann ist sie KEIN Caesar-Chiffre.

Ein Caesar-Chiffre verwendet eine monoalphabetische Substitution, Enigma eine polyalphabetische.

HalloDu 25. Okt 2006 19:23

Re: Probleme mit ASCII
 
Das habe ich auch nicht behauptet... es ist genau wie die Caesar Chiffre Monoalpabetisch und nicht sonderlich sicher da man nach Sprachmerkmalen suchen kann, aber ich wollte ihm nur ein paar Gedankenanstöße geben, was er machen könnte. RSA wäre doch eine gute Lösung, ist allerdings auch rechenaufwendiger...
Sonst würde ich eine Verschlüsselung mit etwas längerem Schlüssel wählen.
Die würde in etwa so funktionieren:
Schlüssel z.B.: HUND
Dann würde ich das 1. Zeichen des Textes mit H verschlüsseln (Xor oder Caeser), das 2. mit U, das 3. mit N, das 4. mit D, das 5. mit H usw.
Das ist wenn es nicht so viel mühe machen soll schon etwas sicherer, ist mit etwas aufwand aber auch zu knacken.

Das EnigmaSystem
Das ist etwas komplexer, kurz gesagt wir gehen jetzt von einer drei Rollen Enigma aus. Die Enigma funktioniert so das in den Rollen feste Verdrahtungen sind. Durch Knopf auf eine Taste wird eine Strom auf einen bestimmten Kontakt vor der ersten Rolle gelegt. Diese hat eine feste Verdrahtung. Das gilt auch für die anderen Rollen. Die Verdrahtungen sind quer durch die Rollen verlegt. Am Ende kommt der Strom an einem Kontakt an der dann ein Zeichen aufleuchten lässt. Dann wird eine Rolle weitergedreht. Somit ändert sich natürlich auch die Verdrathung für jeden Buchstaben. Um zu wissen wie man eine Rolle einsetzen muss wurden die Enigmarollen mit dem Alphabet beschriftet. Und man setzte sie nach einem Buchstabekombination ein um zu verschlüsseln und zu Endschlüsseln.
(An alle Kritiker, das ist nicht ganz korrekt, gibt aber das Grundprinzip an)

Wie du das dann im Code machst musst du dir selber ausdenken. (Entschuldigung, falls du das schon wusstest)

Nach meinem langen Vortrag, hoffe es hilft dir.

qb-tim 25. Okt 2006 20:57

Re: Probleme mit ASCII
 
Die Idee mein Verschlüsselungsprogramm am Beispiel der Enigma Maschine (link: Wikipedia);
Das Prinzip ist das gleiche. Aber das "Passwort" ist der Schlüssel dafür. Der Passwort wird in meinem Programm mit einer Reihe von Prozeduren und Funktionen in einen ASCII-Wert umgewandelt. Sobald ich dieses Programm zum laufen gebracht habe beginne ich mit den komplizierteren Varianten. Ich möchte so die Kodierung in Delphi "erforschen" (eher "Ausprobieren"). Mein Ziel ist es eine Enigma Maschine zu programmieren, nach Angaben aus Wikipedia und etlichen anderen Seiten, die sich mit der Chiffrierung beschäftigen. Ich werde mich am vier-Walzen-System orientieren und vielleich sogar erweitern...

HalloDu 25. Okt 2006 21:01

Re: Probleme mit ASCII
 
Wenn du dich schon so gut informiert hast, dann ist ja gut...
Hoffe du nimmst dir unsere Tipps zu Herzen.

qb-tim 25. Okt 2006 21:04

Re: Probleme mit ASCII
 
@ alle: Mein Programm ist Momentan, vom Prinzip her, ein "Caesar Chiffre"-Programm. Ich "verschiebe" ja ASCII-Werte. Unterschied zum Original: Man hat hier nun 256 Symbole!

Ich glaube es wäre sehr interessant verschiedene Formen von Kodierung auszuprobieren und zu recherschieren. Ich glaube ich werde häufiger mit solchen Themen im Forum auftauchen... (-;

@ SirThornberry: Danke, 256 statt 255 klappt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz