AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Verschlüsselungs Tool

Verschlüsselungs Tool

Ein Thema von 01001 · begonnen am 2. Aug 2007 · letzter Beitrag vom 3. Aug 2007
Antwort Antwort
Seite 2 von 2     12
01001
Registriert seit: 27. Jul 2007
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 . 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
Angehängte Dateien
Dateityp: exe safe_321.exe (2,75 MB, 16x aufgerufen)
Ich denke, also bin ich.
 
Der_Unwissende
 
#11
  Alt 3. Aug 2007, 18:29
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
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
  Mit Zitat antworten Zitat
Der_Unwissende
 
#12
  Alt 3. Aug 2007, 18:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

 
Delphi 2005 Personal
 
#13
  Alt 3. Aug 2007, 18:44
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.
  Mit Zitat antworten Zitat
Der_Unwissende
 
#14
  Alt 3. Aug 2007, 19:16
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 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!"
  Mit Zitat antworten Zitat
01001

 
Turbo Delphi für Win32
 
#15
  Alt 3. Aug 2007, 22:01
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:
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 . 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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf