| Autor |
Beitrag |
ckurz
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Do 01.01.04 15:08
Title: Data Security - optimale Sicherheit für Daten aller Art
Hallo Leute,
ich habe ein Programm namens Data Security geschrieben, das ich hier vorstellen möchte.
Das Programm besteht aus zwei wesentlichen Teilen:
- Verschlüsselung der Daten über Passwort oder Sicherheitsdatei
- Entschlüsselung der Daten
Bei der Verschlüsselung können beliebig viele Dateien ausgewählt werden, die dann wahlweise über ein Passwort oder eine Sicherheitsdatei verschlüsselt werden. Es entsteht eine Art Dateiarchiv, das alle selektierten Dateien in verschlüsselter Form enthält.
Der Vorteil einer Sicherheitsdatei ist, dass sie ein beliebig langes Passwort darstellt, der Vorteil eines Passwortes, dass es nirgends gespeichert werden muss.
Die Entschlüsselung erfolgt über die Eingabe des Passwortes bzw. dem Auswählen der Sicherheitsdatei. Danach werden die verschlüsselten Dateien angezeigt und können einzeln extrahiert werden.
Die Sicherheit dieser Art der Verschlüsselung beruht auf einem von mir entwickelten Algorithmus, der mittels des Passwortes bzw. der Sicherheitsdatei jedes Byte der gewählten Dateien über eine Matrix einzeln verschlüsselt, das Passwort bzw. die Sicherheitsdatei aber nicht mitspeichert.
Außerdem enthält das Programm ein komplettes Hilfesystem, das auch kontextsensitive Hilfe unterstützt (z.B. bei Fehlermeldungen).
Letztes Update: 01.01.2004
Hier geht's zum Download (221 KB).
Der Verschlüsselungsalgorithmus ist öffentlich verfügbar
- im Hilfesystem von Data Security.
- auf meiner Homepage.
Es wird keine Installation benötigt weshalb kein Uninstaller enthalten ist. Lediglich zwei Dateien mit den Einstellungen des Benutzers (datasecurity.dat und DataSecurity.GID) werden im Programmverzeichnis erstellt.
Ich bitte um Rückmeldung bzgl. Sicherheit, Benutzerfreundlichkeit, Design und Nutzen.
Zuletzt bearbeitet von ckurz am Mi 07.01.04 19:54, insgesamt 1-mal bearbeitet
|
|
Hawkinx
Hält's aus hier
Beiträge: 1
|
Verfasst: Di 06.01.04 15:59
das programm ist richtig geil
wollte ich schon immer haben, um auf dateien ein passwort zu setzen
-Hawkinx
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 06.01.04 16:22
Hallo!
Dein Programm gefällt mir richtig gut. Aber da ich ja ein verwöhnter Windows-User bin, noch ein paar Anregungen:
(1) Evtl. eine Symbolleiste mit Symbolen für Ver- und Entschlüsseln
(2) Ein Assistent, der einen durch das Ver- und Entschlüsseln leitet
(3) Ich habe erst gedacht, dass man bei "Decryption" im Programmfenster die zu entschlüsselnde Datei auswählt. Ich bin erst später auf den Trichter gekommen, dass man die über das Menü bestimmt. Vielleicht da ein Label, dass einem sagt, dass noch keine Datei ausgewählt wurde, oder so.
Außerdem solltest Du Deinen Verschlüsselungsalgorithmus veröffentlichen, denn ich denke nicht, dass jemand das Risiko eingehen und einen nicht-veröffentlichten Algorithmus verwenden wird!
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
ckurz 
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Mi 07.01.04 19:55
Titel: Veröffentlichung des Algorithmus
@Peter Lustig: du hast recht, ich habe den Verschlüsselungsalgorithmus veröffentlicht, und zwar
- im Hilfesystem von Data Security.
- auf meiner Homepage.
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Mi 07.01.04 21:06
@Peter
Woher will man wissen ob der veröffentliche auch gleich der Algorithmus ist der im Programm wirklich verwendet wird...
Von daher ist es eigentlich unrelevant ob der Algorithmus öffentlich ist, vielleicht kann den dann sogar einer knacken...
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mi 07.01.04 21:22
@Chatfix: im Alllgemeinen geht man davon aus, dass man dem Schreiber der Software vertrauen kann. Wenn man dies nicht tut, braucht man die Software gar nicht erst anwenden ...
| Zitat: | | Von daher ist es eigentlich unrelevant ob der Algorithmus öffentlich ist, vielleicht kann den dann sogar einer knacken... |
Wenn die Sicherheit eines Verschlüsselungsalgorithmus davon abhängt, ob dieser öffentlich ist oder nicht, ist dieser Algorithmus Müll.
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mi 07.01.04 21:40
Hallo!
Ich habe mir den Algorithmus angesehen. Wenn ich die Länge des Schlüssels kenne, kann ich über eine Häufigkeitsanalyse den Code knacken. (Unter der Voraussetzung, dass es sich bei dem Verschlüsselten um einen Text handelt). Und wenn mir als jemand, der sich mit Verschlüsselung kaum auskennt, schon so etwas einfällt, wird jemand Erfahrenem wohl noch besseres einfallen. Du solltest Dir ganz schnell einen anderen Algorithmus suchen.
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
ckurz 
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Mi 07.01.04 22:08
Also ich glaube, ich muss hier mal einiges klarstellen, denn das allgemeine Wissen um Verschlüsselungen scheint hier nicht berauschend zu sein.
Prinzip von Kerkhoff: Die Sicherheit einer Verschlüsselung darf nicht von der Geheimhaltung des Algorithmus sondern nur von der Geheimhaltung des Schlüssels abhängen.
Genau dies ist gewährleistet. Mit dem Algorithmus kann kein Hacker der Welt etwas anfangen wenn er versucht, eine verschlüsselte Datei ohne das Passwort zu knacken.
@Peter Lustig zum Thema Häufigkeitsanalyse bei Texten: so ganz kannst du meinen Algorithmus nicht verstanden haben, denn wenn man immer denselben Buchstaben verschlüsselt kommt immer ein anderes verschlüsseltes Zeichen dabei raus, jenachdem, welches Zeichen des Passwortes bzw. der Sicherheitsdatei gerade dran ist. Keine Chance!
Deshalb eine Bitte: sei etwas vorsichtiger mit Äußerungen wie dass ich mir schnell einen anderen Algorithmus ausdenken solle, vorallem wenn du selbst sagst, dass du dich kaum mit Verschlüsselungen auskennst.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mi 07.01.04 22:35
| Zitat: | | Prinzip von Kerkhoff: Die Sicherheit einer Verschlüsselung darf nicht von der Geheimhaltung des Algorithmus sondern nur von der Geheimhaltung des Schlüssels abhängen. |
Habe ich was anderes gesagt? Das war genau meine Aussage. Scheint also mit dem Wissen doch nicht so schlimm zu sein, oder?
| Zitat: | @Peter Lustig zum Thema Häufigkeitsanalyse bei Texten: so ganz kannst du meinen Algorithmus nicht verstanden haben, denn wenn man immer denselben Buchstaben verschlüsselt kommt immer ein anderes verschlüsseltes Zeichen dabei raus, jenachdem, welches Zeichen des Passwortes bzw. der Sicherheitsdatei gerade dran ist. Keine Chance!
Deshalb eine Bitte: sei etwas vorsichtiger mit Äußerungen wie dass ich mir schnell einen anderen Algorithmus ausdenken solle, vorallem wenn du selbst sagst, dass du dich kaum mit Verschlüsselungen auskennst. |
Ich habe gesagt, wenn ich die Länge des Passworts kenne. Wenn die Länge x ist, dann wird jedes x-te Zeichen immer mit dem selben Zeichen verschlüsselt und auf diese Zeichen kann ich dann sehr wohl eine Häufigkeitsanalyse anwenden.
Deshalb meine Bitte: lese Dir die Aussagen anderer sorgfältiger durch, bevor Du Dich mit Deinen Bitten so weit aus dem Fenster lehnst.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
ckurz 
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Do 08.01.04 12:48
Ok, legen wir jetzt mal nicht jedes Wort auf die Goldwaage.
Selbst wenn jemand die Länge des Passwortes kennt: dann weiß er zwar, in welchem Abstand die Zeichen immer mit demselben Byte verschlüsselt wurden, aber eine Häufigkeitsanalyse wäre dennoch kaum möglich. Besonders will ich mal sehen, wie du etwas analysierst, bei dem nur jedes dreihunderttausendste Zeichen (bei einer Sicherheitsdatei von 300 KB) gleich verschlüsselt wurde.
Außerdem ist es nicht unbedingt ein Text, und vorallem: die Passwortlänge bzw. die Größe der Sicherheitsdatei weiß kein Hacker.
|
|
BungeeBug
      
Beiträge: 901
|
Verfasst: Do 08.01.04 16:41
Nö das nicht aber du musst immer mit der Dummheit der andern rechnen. Was bedeutet das die meisten Leute zueinfache Passwörter nehmen weis einfach bequem ist. Nun kann man sich als Softwareentwickler hinstellen und sagen "Ok dann sind sie selbst schuld" (solltest du zu diesen Leuten gehören ist das Heise Forum die richtige Anlaufstelle) andernfalls überlegt man sich wie man auch diesen Leuten helfen kann und die Passwörter samt Algo so kombiniert das trotzdem eine annehmbare Sicherheitsstufe erreicht wird. Die meisten Leute werden nun mal als PW einen Text nehmen und keine Datei (Text kann man behalten und muss nich immer eine extra Diskette oder CD dabei haben) und niemand merkt sich ein PW was länger ist als 15 Zeichen  Nun wären wir wieder bei Peters Häufigkeitsanalyse ... die nun auch leider Gottes sehr gut ankommt ...
|
|
ckurz 
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Do 08.01.04 22:19
So wie ihr das sagt geht das einfach nicht mit der Häufigkeitsanalyse: selbst wenn die Länge des Passwortes bekannt ist muss es ein längerer Text sein (ok, kann man ja machen), aber niemand teilt anderen die Länge seines Passwortes mit, und es ist nicht möglich, diese aus der verschlüsselten Nachricht zu extrahieren.
Glaubt mir, wenn man nichts vom Passwort weiß ist es selbst bei Plaintext unmöglich, die Verschlüsselung zu knacken, geschweige denn bei Word-Dokumenten, Videos, usw.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 08.01.04 22:23
Hallo!
Ich denke, wie BungeeBug, dass die Passwörter der meisten Leute nicht länger als 15 Zeichen sein werden. Und für die Längen 1..15 kann man einfach mal eine Analyse machen.
Aber Du hast Recht: es funktioniert selbstverständlich, wie ich auch oben schrieb, nur bei Textdateien. Aber Dein Programm soll ja alle Dateitypen schützen.
MfG
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Raphael O.
      
Beiträge: 1596
VS 2013
|
Verfasst: Do 08.01.04 22:25
aber die meisten User werden doch wohl relativ kurze Passwörter haben und wenn man schon weiß, das das Passwort 1-maximal 15 Stellen hat, dann probiert man diese Möglichkeiten aus :/
ich weiß nciht wie und ob das funktioniert, da ich davon keine Ahnung habe, aber WENN man anhanfd der LÄNGE des PW an die Daten rankommt, dann muss man halt nur ein die Möglichkeiten der Länge durchgehen und dann hat mans
EDIT: @Peter-Lustig: wenn da mal keine Punktlandung war... leider war ich später dran 
|
|
BungeeBug
      
Beiträge: 901
|
Verfasst: Do 08.01.04 22:54
und sooo viele Möglichkeiten gibt es auch nicht ... ziemlich genau 15*26. Was zwar ne Menge Text ist aber durch aus zubewältigen ist.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 08.01.04 23:03
Vorsicht, BungeeBug, das sind doch deutlich mehr. 26^15, wenn man nur Buchstaben zulässt, aber ein paar Zahlen sollen ja auch noch zugelassen sein. Eine Attacke mit "ich probiere alle Passwörter durch" wird wohl kaum Erfolg haben.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
ckurz 
      
Beiträge: 24
Win XP
Delphi 5
|
Verfasst: Fr 09.01.04 07:41
Peter hat recht, da jedes Zeichen mit dem ASCII-Code von 0 bis 255 zugelassen ist sind es deutlich mehr Möglichkeiten.
Nehmen wir nur die Klein-/Großbuchstaben und Ziffern, haben wir 62^15 + 62^14 + 62^13 + ..., das sind ca. 7,82 * 10^26. Veranschlagt man 1 ms pro Ausprobieren (BruteForce-Programme und so), so dauert es 2,48 * 10^16 Jahre, um alle Durchzuprobieren.
Mit allen Zeichen von 0 bis 255 muss man jetzt gar nicht mehr rechnen.
Aber selbst wenn wir Rechner mit zig Gigahertz hätten würde das alles nichts nützen, denn solche BruteForce-Programme können nicht wissen, wann sie das richtige Passwort probiert haben, mein Programm erkennt das zwar, aber selbst wenn man dessen Quellcode hat und an BruteForce gibt, so ergäben sich immer noch viel zu viel mögliche Passwörter, die der Benutzer selbst durchprobieren müsste, um zu sehen, ob die Dateien sinnvoll entschlüsselt werden.
|
|
BungeeBug
      
Beiträge: 901
|
Verfasst: Fr 09.01.04 15:54
Ups ja ... habt ja recht ... bin nur grad in Gedanken bei einer Aufgabe aus dem Info-Unterreicht die so ählich aussieht. Nun eben mit der Einschränkung das es bei uns nur GROSS - Buchstaben gibt. Daher mein Denkfehler ... ich bitte dies zuentschuldigen.
|
|
knoxx
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 22.01.04 21:52
Titel: Vigenere
Also mal ehrlich. Dein Proggy ist ja ganz witzig. Aber such mal im Internet nach dem Vigenere-Code. Genau den implementierst du nämlich. Nix für ungut, aber mit fremden Lorbeeren sollte man sich nicht schmücken.
|
|
O'rallY
      
Beiträge: 563
|
Verfasst: Sa 24.01.04 12:31
@ ckurz Du solltest dich mal mit Motzi oder mit negaH über die Sicherheit deines Programms unterhalten. Die können dir zu diesem Thema was erzählen  .
Wenn ich das richtig verstanden habe zielst du auf ein OneTimePad ab. Doch dies setzt voraus, dass der Schlüssel mindestens so lang ist, wie die zu verschlüsselnden Daten und dabei noch völlig zufällig. Sobald kein OneTimePad vorliegt ist der Vigenère-Algorithmus sehr unsicher. Sobald der Schlüssel kleiner ist, ist der Algorithmus anfällig für eine Koinzidenzerfassung (stellt mich richtig, wenn ich mich irre). Dabei kann die Schlüssellänge ermittelt werden. Darauf lassen sich mit einer Redundanzanalyse bestimmte Muster erfassen, die dann letztlich zur Entschlüsselung des Textes führen.
Ich empfehle dir wärmstens Algorithmen wie Rijndael oder Blowfish bzw. Twofish zu verwenden! Eine sehr schnelle und gute implementierung findest du in Hagen Reddmanns DEC.
_________________ .oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
|
|