AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte CryptMaster - AES-Verschlüsselungsprogramm
Thema durchsuchen
Ansicht
Themen-Optionen

CryptMaster - AES-Verschlüsselungsprogramm

Ein Thema von daniel-volk · begonnen am 10. Okt 2003 · letzter Beitrag vom 15. Nov 2003
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
daniel-volk
Registriert seit: 16. Jul 2003
Hi,

an dieser Stelle stelle ich euch mein Verschlüsselungsprogramm CryptMaster vor.

Mit CryptMaster lassen sich Dateien und Texte verschlüsseln und Dateien vernichten.
Das Programm verfügt über eine recht große Dokumentation und ist durch den Assistentenstil einfach zu bedienen.

Es wird folgende Verschlüsselung genutzt:
AES (Rijndael) im Modus CBC (Cipher Block Changing) mit SHA-1 als HashClass. Daraus ergibt sich eine maximale Schlüssellänge von 160 Bit, was sogar mehr ist, als Steganos Security Suite hat.
Genaue Infos hierzu gibt's aber in der Hilfe.

CryptMaster läuft natürlich auf jedem Windows-System. (Geschrieben unter XP, getestet unter XP und ME.)

MfG,
Daniel.

CryptMaster - Download

Und noch ein Link zu meiner Website:
DanielVolk.de

PS:
Ich wäre dankbar, wenn ihr mir eure Meinung zu dem Prog sagen würdet.
 
daniel-volk

 
Delphi 6 Enterprise
 
#11
  Alt 11. Okt 2003, 11:45
Komisch,

das Problem mit dem Restart-Button hab ich noch nie erlebt - und ich hab bestimmt schon 100 Dateien testweise verschlüsselt.

Wenn das bei euch nochmal vorkommt, dann klickt doch bitte einfach mal auf den zurück-Button und sagt mir, was dann passiert. ich hab das so programmiert, dass es ein button bleibt, bei dem sich nur die Caption ändert. In der ButtonClick-Routine wird dann die Caption abgefragt. Handelt der Button also wie ein Restart-Button, dann wird bei euch nur aus irgendeinem Grund das GUI nicht upgedated.

Aber hier noch etwas Anderes:
Nämlich eine Version 1.1

Die schätzt jetzt gleich die Passwortsicherheit ein. Eben speziell für den ungeübten User, für den auch die Sache mit dem Assistenten gemacht ist.

MfG,
Daniel.
Angehängte Dateien
Dateityp: zip cryptmaster_214.zip (407,4 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
daniel-volk

 
Delphi 6 Enterprise
 
#12
  Alt 11. Okt 2003, 13:52
Hi,

hier noch einmal die Version 1.2 im WinXP-Design.

MfG,
Daniel.
Angehängte Dateien
Dateityp: zip cryptmaster_154.zip (407,8 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#13
  Alt 11. Okt 2003, 14:20
Vom Design her viel weiße Fläche um viel leeren Raum.
Das Menü des Buttons öffnet sich irgendwie etwas "seltsam". Noprmalerweise haben solehe Buttons ein Dreieck das nach untenweist und beim Klicvken erscheint das Menü darunter.

Zitat von CryptMaster:
---------------------------
Programmdatei exportieren
---------------------------
Sie haben jetzt die Möglichkeit, dieses Programm in einen externen Ordner (z.B. USB-Stick) zu exportieren.

Hierbei werden jedoch die Lizenz- sowie die Hilfedatei nicht kopiert.

Eine Weitergabe des Programms auf diesem Wege ist untersagt.

Möchten Sie fortfahren?
---------------------------
Ja Nein
---------------------------
Wenn nur das Programm exportiert wird, was wohl soviel heißt wie "kopiert", wozu denn dann die Funktion? Das bekomme ich auch noch über den Explorer hin. Wenn die Hilfe Datein und die Ini-Datei irgendwo verstreut wären, dann würde das Sinn machen, aber so nicht.

Zitat von CryptMaster:
---------------------------
Wirklich beenden?
---------------------------
Möchten Sie CryptMaster wirklich beenden?
---------------------------
Ja Nein
---------------------------
Nervig, wenn ich auf "Beenden" Klicke, was will ich dann wohl machen? Na? Na? Genau, es beenden. IUnd mal eben so versehentlich klick man nicht auf den Button, desweiteren würde ja keine nicht wiederherstellbaren Daten verloren gehen, wie bei einm Word Dokument, wo man 3 Stunden drangearbeitet hat.

Zitat von CryptMaster Hilfe:
Sollte irgendjemand an dieser Art der Verschlüsselung oder der Umsetzung in Delphi zweifeln, so besteht die Möglichkeit, Auszüge aus dem Quellcode zu bekommen. Diese werden jedoch prinzipiell nur an Personen herausgegeben, die selbst Erfahrung auf diesem Gebiet haben und ihrerseits eine starke Verschlüsselungssoftware vorzuweisen haben.
Selbstverständlich ist in diesem Fall jede Weiterverwendung des ausgehändigten Quellcodes untersagt!
Ich weiß nicht. Ich finde, damit machst du dich lächerlich. Entweder ganz OpenSource oder gar nicht. Und der fett markierte Satz ist der schlimmste.

Alles in allem scheint es zu funktionieren. Nur bei größeren Dateien reagiert es nicht mehr und eine Fortschrittsanzeige wäre nicht schlecht.
Michael
  Mit Zitat antworten Zitat
daniel-volk

 
Delphi 6 Enterprise
 
#14
  Alt 11. Okt 2003, 14:49
@ Lickie:
Das Menü soll sich so öffnen. Es ist einfach ein normales Kontextmenü. Ein anderes Menü würde das Design der gleichmäßigen Buttons durcheinander bringen.

Programm exportieren:
Du kannst das, aber kannst du dir vorstellen, dass ich auch Leute kenne, die zwar 'nen USB-Stick haben, aber zu blöd sind um den Speicherort meines Progs zu finden? Und auf diese Weise geht es doch wohl auch noch schneller. Du musst ja mal bedenken, dass der OTTO-Normalverbraucher nicht mit der ZIP-Datei arbeitet - und somit alle Dateien vorliegen hat - sondern den Setup verwendet, der alle Dateien in C:\Programme\CryptMaster stopft.

Die Frage hat den Sinn, damit ein User - wenn er das Prog minimieren will und aus Versehen auf schließen klickt oder statt auf weiter auf beenden - das Prog nicht beendet wird. Und im Normalfall startest du das Prog ja, weil du etwas bestimmtes machen willst. Und nach dem Durchführen einer Aktion ist die Frage ja auch deaktiviert. Bei sinnvoller Verwendung wirst du mit der Frage also überhaupt nicht konfrontiert.

Zur Hilfe:
OK, das klingt schon etwas doof. Aber im Web gibt es verdammt viele Programme, in die eine Backdoor oder so eingebaut ist bzw. die nicht so sicher sind, wie sie scheinen. Und ich möchte halt meinen Usern ermöglichen, die Sicherheit selbst unter die Lupe zu nehmen. Also eine gewisse Transparenz.
Und da die Sicherheit natürlich nur von Usern beurteilt werden kann, die sich selbst zumindest etwas auskennen, gibt es diesen Satz. Allen anderen Usern soll dann wohl die genaue Beschreibung der Verschlüsselung reichen.
Ansonsten muss man auch davon ausgehen, dass User nur den Quellcode haben wollen, damit sie ihn anschließend selbst verwenden können. Wer aber ein Cipherprog hat, der hat sowas nicht nötig.

Und noch etwas: Denk(t) bei der Beurteilung immer daran, dass die eigentliche Zielgruppe nicht die Mitglieder der DP sind, sondern der ganz normale PC-Nutzer.

MfG,
Daniel.

Ergänzung:
Das Hängenbleiben liegt daran, dass ich versucht habe, mit so wenigen Festplattenzugriffen wie möglich auszukommen.
Dafür wird erst die Originaldatei in einen Memory-Stream geladen (hier ist dann das Problem mit großen Files), der Header wird angehängt etc und dann wird das Ding verschlüsselt, wobei die Ausgabe direkt der Destination-FileStream ist.
Würde ich statt eines Memory-Streams 'nen Filestream wählen, dann hätte ich wieder das Problem, dass ich unverschlüsseltes Material unnötig oft speichern würde und zusätzlich noch zu viele HDD-Zugriffe hätte, was wiederum für Flash-Speicher schädlich wäre.
Jetzt arbeite ich prinzipiell so, dass ich eigentlich nur einen Kopiervorgang durchführe, bei dem ich zwischendurch verschlüssel - quasi OnTheFly.
Und ich kann den Stream schlecht zerlegen, da ich nun einem mit CBC nur die höchste Sicherheit erreiche, wenn ich durchgehend arbeite. Sonst muss ich zwischendurch immer wieder Zufallswerte einbauen, weil sonst wieder die Gefahr eines Known-Plaintext-Angriffes besteht.
Und erst ins DEC einzugreifen, um dann da Änderungen vorzunehmen, die es ermöglichen, dass ich Teilstücke mit CBC so verschlüsseln kann wie ich es will: Nein danke, das ist dann doch etwas zu viel des Guten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#15
  Alt 11. Okt 2003, 15:25
Lager das Ver- und Entschlüsseln in einen Thread aus, dann hängt auch nichts mehr.
Michael
  Mit Zitat antworten Zitat
daniel-volk

 
Delphi 6 Enterprise
 
#16
  Alt 11. Okt 2003, 16:20
??? Wieso das denn? Du meinst eine INI-Datei oder eine DLL?
Gut, wie mache ist das denn? Ich schiebe die Funktionen in eine INI und implementiere die oder wie geht das?

Aber ich verstehe den Sinn davon noch nicht. Wieso soll das besser sein?

MfG,
Daniel.

PS: Wenn ich das auslagere, dann ist es wahrscheinlich auch nicht mehr möglich, dass ich während der Zeit der Verschlüsselung noch die Eieruhr anzeige, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#17
  Alt 11. Okt 2003, 16:46
Hä? Ausführbarer Copde in einer Ini? Was soll denn das? Und eine DLL brauchst du für einen extra Thread auch nicht. Datei -> neu -> weitere -> Thread-Objekt.

Und der Sinn ist der, dass dann dein Fenster nicht einfriert und verschoben und mimiert werden kann. Kuck dir meinen Crypter an. Und wenn du TStreamProgressAdapter nutzt kannst du auch einen Fortschritanzeigen.

Und wo wir schon dabei sind, beantworte mir doch mal die Frage in unserem Thread mit Hagen. Wie lautet die Cipher Klasse von AES?
Michael
  Mit Zitat antworten Zitat
daniel-volk

 
Delphi 6 Enterprise
 
#18
  Alt 11. Okt 2003, 17:57
Zitat:
Und der Sinn ist der, dass dann dein Fenster nicht einfriert und verschoben und mimiert werden kann. Kuck dir meinen Crypter an. Und wenn du TStreamProgressAdapter nutzt kannst du auch einen Fortschritanzeigen.
Achso. Das hört sich schon nicht schlecht an. Aber wenn mein Fenster nicht einfriert, dann wird sicherlich auch sofort die Meldung "Aktion durchgeführt" erscheinen, richtig? Und das ist dann wiederum nicht so toll.
Mit dem TStreamProgressAdapter sehe ich ein kleines Problem, weil ich mir drei Streams erstelle, und zwar einen SourceStream, einen TempStream und einen DestStream. Ich könnte somit nur den Fortschritt des DestStreams lesen. Und der wird ja beim Verschlüsseln erst geschrieben!
Vielleicht geht es, wenn ich vor dem Verschlüsseln schon einmal die Größe von DestStream festlege. Ansonsten würde ich ja immer 100% bekommen.

Zitat:
Und wo wir schon dabei sind, beantworte mir doch mal die Frage in unserem Thread mit Hagen. Wie lautet die Cipher Klasse von AES?
Ganz einfach:
Unit: Cipher1;
Class: TCipher_Rijndael;


MfG,
Daniel.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

 
Delphi 2010 Professional
 
#19
  Alt 11. Okt 2003, 18:00
Zitat von daniel-volk:
Zitat:
Und der Sinn ist der, dass dann dein Fenster nicht einfriert und verschoben und mimiert werden kann. Kuck dir meinen Crypter an. Und wenn du TStreamProgressAdapter nutzt kannst du auch einen Fortschritanzeigen.
Achso. Das hört sich schon nicht schlecht an. Aber wenn mein Fenster nicht einfriert, dann wird sicherlich auch sofort die Meldung "Aktion durchgeführt" erscheinen, richtig?
Hi!

Nicht ganz. Du könntest dem Haupt-Thread (der nix zu tun hat, aber halt reagiert) per TThread.OnThreadDone sagen, dass er beim Beenden der Threads (bzw. der Ver/Entschlüsselungsvorgangs) die Meldung anzeigen soll!

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#20
  Alt 11. Okt 2003, 18:15
Zitat von daniel-volk:
Zitat:
Und der Sinn ist der, dass dann dein Fenster nicht einfriert und verschoben und mimiert werden kann. Kuck dir meinen Crypter an. Und wenn du TStreamProgressAdapter nutzt kannst du auch einen Fortschritanzeigen.
Achso. Das hört sich schon nicht schlecht an. Aber wenn mein Fenster nicht einfriert, dann wird sicherlich auch sofort die Meldung "Aktion durchgeführt" erscheinen, richtig? Und das ist dann wiederum nicht so toll.
Warte doch bis der Thread fertig ist. Mit WaitForSingleObject zum Bleistift.
Zitat:
Mit dem TStreamProgressAdapter sehe ich ein kleines Problem, weil ich mir drei Streams erstelle, und zwar einen SourceStream, einen TempStream und einen DestStream. Ich könnte somit nur den Fortschritt des DestStreams lesen. Und der wird ja beim Verschlüsseln erst geschrieben!
Vielleicht geht es, wenn ich vor dem Verschlüsseln schon einmal die Größe von DestStream festlege. Ansonsten würde ich ja immer 100% bekommen.
Mache ich doch auch. Allerdings wozu der TempStream? Den SourceStream koppelst du mit dem StreamProgressAdapter. Danach richtet sich ja immer der Fortschritt.
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


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 23:17 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