Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Verschlüsselungs Tool (https://www.delphipraxis.net/96995-verschluesselungs-tool.html)

01001 2. Aug 2007 22:15


Verschlüsselungs Tool
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nabend zusammen,
habe die letzte Zeit an meinem ersten 'richtigen' Programm gearbeitet und wollte es hier mal vorstellen. Es ist noch nicht ganz fertig (vor allem in sachen Rechtschreibung und eventuellen Bugs) aber es funktioniert ganz gut. Das Programm dient dazu Texte verschlüsselt auf der Festplatte abzuspeichern und wieder lesbar zu machen. Sinn und Zweck des ganzen ist mir zwar nicht ganz klar, aber vielleicht kann ja jemand was damit anfangen und selbst wenn nicht habe ich wenigstens was dazugelernt :-D. Die Bedienung sollte eigentlich relativ selbsterklärend sein. Verschlüsselt werden die Texte mittels der XOR Methode.

Sreenshot:
http://img399.imageshack.us/img399/9285/screensn3.png

Ich benutze übrigens keinen Mac sondern einen Mac skin für Windows (Sollte sich jemand wundern).
Sollte jemand verbesserungs vorschläge haben oder Bugs finden darf sie hier gerne reinschreiben.

Edit: Bitte nicht über die miserablen Icons wundern. Mehr krieg ich unter Paint nicht hin.

mfG
01001

Sergej 2. Aug 2007 22:21

Re: Verschlüsselungs Tool
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich einen neuen Benutzer anlegen möchte:

http://www.delphipraxis.net/download.php?id=28205

Was schreibt dein Programm überhaupt in mein Windowsverzeichnis? :shock:

edit: was ist denn mit dem img-tag los?

edit2: Ach ja, mein Windows ist auf E:\... ;-)

Luckie 2. Aug 2007 22:25

Re: Verschlüsselungs Tool
 
Vorallen Dingen ein virtuellen Systemtreiber, der Dateiendung nach. :shock: :gruebel:

Zu dem ist eine XOR Verschlüsselung nur sicher, wenn das Passwort mindestens genauso lang ist wieder die zu verschlüsselnden Daten. ;)

01001 2. Aug 2007 22:25

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von Sergej
Was schreibt dein Programm überhaupt in mein Windowsverzeichnis? :shock:

Nix schlimmes. Bevor ich die sachen mit XOR verschlüsselt habe, habe ich die Daten so tief im system wie möglich versteckt. Als ich dann auf XOR umgestiegen bin habe ich das Speicherverzeichnis nicht gewechselt. die usb2moveaway.sys ist eine .ini datei (den Namen habe ich ausgewählt weil er im drivers Ordner nicht so sehr auffällt wie 'TOP Secret.xxx' :mrgreen:. Den Fehler hatte ich übrigens nicht. Ich mach mich mal auf die suche...

Damit ich nicht gelyncht werde habe ich hier mal den Inhalt der Datei:
[Account]
Name=Test
Passwort=*)(
[Themen]

Zur verschlüsselung kann ich nur sagen das die daten nicht sonderlich gut gesichert sind. Ein Anfänger tut sich daran wohl schwer aber ein Profi hat damit kein Problem.

Sergej 2. Aug 2007 22:28

Re: Verschlüsselungs Tool
 
Dann solltest du den Pfad nicht hart in dein Programm schreiben. Wie oben gesagt hab ich mein Windows auf E:\. Das dürfte auch die Lösung für das Problem sein...

Luckie 2. Aug 2007 22:29

Re: Verschlüsselungs Tool
 
Den Fehler hattest du nicht, weil du standardmäßig als Administrator an deinem Rechner angemeldet bist. Aber Gott sei dank scheint sich das jetzt langsam zu ändern.


Zitat:

Zitat von Sergej
Dann solltest du den Pfad nicht hart in dein Programm schreiben. Wie oben gesagt hab ich mein Windows auf E:\. Das dürfte auch die Lösung für das Problem sein...

Ok, das ist natürlich auch eine Möglichkeit. :mrgreen:

01001 2. Aug 2007 22:30

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von Sergej
Dann solltest du den Pfad nicht hart in dein Programm schreiben. Wie oben gesagt hab ich mein Windows auf E:\. Das dürfte auch die Lösung für das Problem sein...

Werde dann wohl auf Dynamische Pfade umsteigen die sich im Programm ordner befinden. So wie ich Code schreibe wird das aber wohl ein bisschen dauern :oops:

Luckie 2. Aug 2007 22:31

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von 01001
Zitat:

Zitat von Sergej
Dann solltest du den Pfad nicht hart in dein Programm schreiben. Wie oben gesagt hab ich mein Windows auf E:\. Das dürfte auch die Lösung für das Problem sein...

Werde dann wohl auf Dynamische Pfade umsteigen die sich im Programm ordner befinden. So wie ich Code schreibe wird das aber wohl ein bisschen dauern :oops:

Womit du wieder das gleiche Problem mit den Rechten hast.

jmit 3. Aug 2007 17:49

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von 01001
Zitat:

Zitat von Sergej
Was schreibt dein Programm überhaupt in mein Windowsverzeichnis? :shock:

Nix schlimmes. Bevor ich die sachen mit XOR verschlüsselt habe, habe ich die Daten so tief im system wie möglich versteckt. Als ich dann auf XOR umgestiegen bin habe ich das Speicherverzeichnis nicht gewechselt. die usb2moveaway.sys ist eine .ini datei (den Namen habe ich ausgewählt weil er im drivers Ordner nicht so sehr auffällt wie 'TOP Secret.xxx' :mrgreen:. Den Fehler hatte ich übrigens nicht. Ich mach mich mal auf die suche...

Damit ich nicht gelyncht werde habe ich hier mal den Inhalt der Datei:
[Account]
Name=Test
Passwort=*)(
[Themen]

Zur verschlüsselung kann ich nur sagen das die daten nicht sonderlich gut gesichert sind. Ein Anfänger tut sich daran wohl schwer aber ein Profi hat damit kein Problem.

Auch wenn es nichts schlimmes ist, das Windows Verzeichnis wird wieder einmal mit einem Testprogramm zu gemüllt.


Gruß Jörg

Nikolas 3. Aug 2007 18:26

Re: Verschlüsselungs Tool
 
Wenn du dich für Verschlüsselung auf diesem Niveau interessierst, wäre noch die Vegenère Chiffre (Einfache Polyalphabetische) was für dich. Die ist deutlich schwieriger zu knacken als XOR und das Knacken ist ein schöner Einstieg in die Kryptografie.

Der_Unwissende 3. Aug 2007 18:29

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von 01001
Werde dann wohl auf Dynamische Pfade umsteigen die sich im Programm ordner befinden. So wie ich Code schreibe wird das aber wohl ein bisschen dauern :oops:

Was Luckie schon angedeutet hat, es gibt sinnvollere Orte wo man Einstellungen speichern kann. Du kennst sicherlich unter den NT-Varianten die Unterordner von Dokumente und Einstellungen/<Benutzer>, da findest Du Orte, an denen Du bestimmte Daten zu einem Programm ablegen kannst (Anwendungsdaten und lokale Einstellungen/Anwendungsdaten), je nach Windows Version (Englisch, Deutsch, ..., Vista) heißen die auch immer etwas anders. Gemeinsam haben diese Ordner aber, dass jeder Benutzer auf einen solchen Ordner im eigenen Profil einen Schreibzugriff hat und diese Ordner sind auch noch genau für Dinge wie Einstellungen gedacht!
Um hier an das richtige Verzeichnis zu gelangen (inkl. richtiger Festplatte) kannst Du auf die API Funktion MSDN-Library durchsuchengetSpecialFolderLocation zurückgreifen. Da findest Du sicherlich auch einiges an Hilfe in der DP.

Gruß Der Unwissende

Der_Unwissende 3. Aug 2007 18:33

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von Nikolas
Die ist deutlich schwieriger zu knacken als XOR

Das kann man so pauschal nicht sagen, XOR ist absolut sicher! Probleme gibt es nur, wenn der Schlüssel offen zugänglich ist (wie bei jedem Algorithmus) oder zu klein/einfach gewählt wurde. An sich hat XOR aber den Vorteil, dass jedes kodierte Bit mit genau 50%iger Wahrscheinlichkeit in der originalen Nachricht eine 1 bzw. 0 war. Damit ist jegliche Entschlüsselung gleich wahrscheinlich, was immerhin 2^(Anzahl der Bits des Schlüssels) mögliche Varianten einer Entschlüsselung ergibt, die alle gleich wahrscheinlich richtig sind.

Nikolas 3. Aug 2007 18:44

Re: Verschlüsselungs Tool
 
Zitat:

An sich hat XOR aber den Vorteil, dass jedes kodierte Bit mit genau 50%iger Wahrscheinlichkeit in der originalen Nachricht eine 1 bzw. 0 war.
Da weiss ich nicht, ob das richtig ist. Sind in einem Text Nuller und Einsen gleich wahrscheinlich? Wenn der Code nicht das gleiche 0/1Verhälltniss hat, kann man hier schon mal eine Aussage über die Verteilung von 0 und 1 im Schlüssel ziehen, was nachher hilfreich sein kann.

Zitat:

Damit ist jegliche Entschlüsselung gleich wahrscheinlich, was immerhin 2^(Anzahl der Bits des Schlüssels) mögliche Varianten einer Entschlüsselung ergibt, die alle gleich wahrscheinlich richtig sind.
Das ist falsch. Wenn ich einen Schlüssel ausprobiere und für die ersten 5 Zeichen den string 'Hallo' erhalte, sieht das besser aus als, wenn ich 'kljhg' bekomme. Wenn man also von einem recht kurzen Schlüssel ausgeht, kann man eine Art Wörterbuchattacke fahren. Wenn man dann etwas trifft kann man den Schlüssel auf den ganzen Text anwenden und wieder überprüfen, ob man richtige Worte findet.

XOR ist nur dann perfekt sicher (und ist das einzige Verfahren, bei dem das gezeigt ist), wenn die Schlüssellänge der Textlänge entspricht und auch nur einmal verwendet wird.

Der_Unwissende 3. Aug 2007 19:16

Re: Verschlüsselungs Tool
 
Zitat:

Zitat von Nikolas
Sind in einem Text Nuller und Einsen gleich wahrscheinlich? Wenn der Code nicht das gleiche 0/1Verhälltniss hat, kann man hier schon mal eine Aussage über die Verteilung von 0 und 1 im Schlüssel ziehen, was nachher hilfreich sein kann.

Hier ist es einfach diese Bedingung zu schaffen, wähle eine geeignete Kodierung der Zeichen, so dass entsprechend der Sprache die 0en und 1en gleich wahrscheinlich in der Kodierung vorkommen. Einfacher wäre es aber die Nachricht zu packen, das sollte den gleichen Effekt haben.

Zitat:

Zitat von Nikolas
Das ist falsch. Wenn ich einen Schlüssel ausprobiere und für die ersten 5 Zeichen den string 'Hallo' erhalte, sieht das besser aus als, wenn ich 'kljhg' bekomme. Wenn man also von einem recht kurzen Schlüssel ausgeht, kann man eine Art Wörterbuchattacke fahren.

Wenn man von einem unsicheren und kurzen Schlüssel ausgeht, dann macht keine Verschlüsselung viel Sinn, da auch eine Brute-Force-Attacke in kurzer Zeit zum Erfolg führt. Ob eine Nachricht nun aber mit Hallo oder Hi Du beginnt wäre zum Beispiel nicht eindeutig auszumachen. Man kann einfach nicht verifizieren, ob man wirklich die korrekte oder nur eine korrekt wirkende Nachricht entschlüsselt hat.
Wie gesagt, der XOR ist halt unter Einhaltung bestimmter Regeln (z.B. Schlüssellänge = Textlänge) absolut sicher. Ich wollte nur darauf hinweisen, dass ein pauschales "ein anderer Algorithmus sei sicherer" nicht stimmt, genauso falsch wäre natürlich ein "XOR ist immer das Sicherste!"

01001 3. Aug 2007 22:01

Re: Verschlüsselungs Tool
 
Okay, ich bin jetzt dabei das Programm so umzuschreiben das es die Dateien in den Eigene Dateien Ordner reinschreibt. Dabei habe ich leider ein kleines Problem. Ich finde den Ordner mit der funktion GetSpecialFolder.
Den Ordner finde ich so:
Delphi-Quellcode:
Folder:=GetSpecialFolder(CSIDL_PERSONAL);
Leider schreibt der die Daten dann in C:\WINDOWS. Also muss CSIDL_PERSONAL falsch sein aber laut Delphi Hilfe ist das der Flag der den Eigene Dateien Ordner findet :wall:. Mag mir einer sagen was ich falsch mache?

EDIT: Hab den Fehler jetzt selber gefunden. Ich könnte mich Ohrfeigen. Sorry das ich euch damit genervt habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 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