AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Datei verschlüsseln und in einen Stream schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Datei verschlüsseln und in einen Stream schreiben

Ein Thema von Zacherl · begonnen am 6. Sep 2004 · letzter Beitrag vom 20. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Datei verschlüsseln und in einen Stream schreiben

  Alt 6. Sep 2004, 19:54
Hallo,

wie kann ich eine datei verschlüsseln, kennwort, verschlüsselungsalgorhytmus und die Datei in einen Stream schreiben und diesen als Datei speichern.

Es wäre klasse, wenn mir zusätzlich einer erklären könnte, wie mann kennwort, algoryhtmus und datei auslesen und diesen kriterien entsprechend wieder entschlüsseln kann.

(Bei beiden Operationen soll die original Datei ersetzt werden)

  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 12. Okt 2004, 19:01
Kennt keiner eine (anehernde) Lösung?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 13. Okt 2004, 11:30
Tipp die magischen Worte deines Postings Hier im Forum suchendatei verschlüsseln in die Forensuche ein und du wirst mit Lösungen zugeschmissen. Eine Suche nach Hier im Forum suchenDEC sollte dir auch helfen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 13. Okt 2004, 14:51
Das schon aber mir ging es eher darum, zu erkennen, ob eine datei ver oder entschlüsselt vorliegt.
Das wollte ich prüfen, indem ich die verschlüsselte datei in einen stream schreibe und noch einen "kennungs-string" hinzuschreibe.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 13. Okt 2004, 15:41
Das wirst du wohl nicht können. Es sind ja schließlich auch nur Bytes im Speicher. Wie diese zu interpretieren sind, hängt vom Anwendungsprogramm ab. Und ob Programme die Dateien verschlüsseln eine Signatur da noch reinschreiben ist nicht sicher.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
chkdsk
(Gast)

n/a Beiträge
 
#6

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 17. Okt 2004, 13:26
"wie kann ich eine datei verschlüsseln, kennwort, verschlüsselungsalgorhytmus und die Datei in einen Stream schreiben und diesen als Datei speichern. "

Wenn du die verschlüsselte Datei, den Schlüssel und den verwendeten Algorithmus zusammen in eine Datei abspeicherst, was hat das dann bitte für einen Sinn???
Dann kannst du sie auch gleich unverschlüsselt lassen!
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#7

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 20. Dez 2004, 00:37
Zitat von Florian Bernd:
Das schon aber mir ging es eher darum, zu erkennen, ob eine datei ver oder entschlüsselt vorliegt.
Das wollte ich prüfen, indem ich die verschlüsselte datei in einen stream schreibe und noch einen "kennungs-string" hinzuschreibe.
Du kannst versuchen anhand der Bei Google suchenEntropie zu ermitteln, ob die Datei verschlüsselt ist oder nicht. Oder anders ausgedrückt: wenn du eine verschlüsselte Datei packen willst, wird das Ergebnis schlechter sein, als bei einer unverschlüsselten Datei, das liegt an der Entropie.
So kann man also mit einiger Genauigkeit herausfinden, ob die Datei verschlüsselt ist oder nicht. Verschlüsseln und Packen ähneln sich dahingehend nämlich.
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 20. Dez 2004, 01:08
Ich hab keine Ahnung ob ich das falsch verstanden habe aber warum schaust Du Dir nicht einfach die Dateiendung an?
Wenn Du verschlüsselst änderst Du die in *.zib und in den Stream schreibst Du als erstes den Originallen Name der Datei!
So kannst Du ohne Probleme ermitteln obs verschlüsselt ist...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 20. Dez 2004, 13:32
Zitat von Assarbad:
Zitat von Florian Bernd:
Das schon aber mir ging es eher darum, zu erkennen, ob eine datei ver oder entschlüsselt vorliegt.
Das wollte ich prüfen, indem ich die verschlüsselte datei in einen stream schreibe und noch einen "kennungs-string" hinzuschreibe.
Du kannst versuchen anhand der Bei Google suchenEntropie zu ermitteln, ob die Datei verschlüsselt ist oder nicht. Oder anders ausgedrückt: wenn du eine verschlüsselte Datei packen willst, wird das Ergebnis schlechter sein, als bei einer unverschlüsselten Datei, das liegt an der Entropie.
So kann man also mit einiger Genauigkeit herausfinden, ob die Datei verschlüsselt ist oder nicht. Verschlüsseln und Packen ähneln sich dahingehend nämlich.
Hi Assarbad,

das setzt aber voraus das man weis wie die Entropy der unverschlüsselten Datei aussieht. Liegt die Datei nur verschlüsselt vor, und man weis nicht was da verschlüsselt wurde, so kann man auch nicht über die Entropy erkennen ob die Datei verschlüesselt wurde. Man kann nämlich auch Zufallsdaten verschlüsselt speichern, und im allgemeinen wird die Entropy der Verschüsselten Daten kleiner oder gleich groß der Entropy der unverschlüsselten Daten sein.

Eine gepackte Datei wiederum wird vergleichbar viel Entropie wie eine verschlüsselte Datei erzeugen, denoch sind die gepackten Daten nicht zwangsläufig verschlüsselt.

Ich kenne zZ. kein offizielles Verfahren das das könnte ohne eventuelle Header der Dateien zu analysieren. Also rein auf Basis der binären Daten erkennen kann ob diese verschlüsselt oder unverschlüsselt sind.

Denkt man mal logisch darüber nach so widerspricht das ja auch dem Prinzip der Verschlüsselung. Die beste Verschlüselung ist diejenige der man es nicht ansieht.

Vor einiger Zeit habe ich ähnliches versucht umzusetzen. Da es keine offiziellen Forschungen oder Ergebnisse auf diesem Gebiet gibt beschloß ich einen anderen Weg zu gehen.
Dazu programmierte ich ein Neuronales Netzwerk, katalogisierte alle Dateien auf meiner Festplatte nach deren Typen, d.h. ordente alle Dateien nach deren Inhalten in bestimmte Kategorieren ein.
Nun wurde das Neuronale Netzwerk an Hand dieses Kataloges und der Dateien trainiert. Eine Schwierigkeit dabei war der Fakt das Dateien nunmal unterschiedlich groß sind, das deren Entropie ungleichmäßig in den Daten verteilt ist usw. usw. Um nun alle Dateien untereinander "vergleichbar" zu machen nutzte ich eine Fourier Transformation der Daten der Datei. D.h. über die FFT wurde ein Spektrum der Daten in den Dateien erzeugt. Dieses Spektrum ist unabhänig von der Dateigroße und liefert aber für beliebige Dateien einen gleichgroßen Output. Damit war ein wichtiger Punkt für die Anwendung des Neuronalen Netzwerkes gegeben, der Input pro Datei ist immer gleichgroß und berücksichtigt trotzdem die komplette Datei.

Nungut, das NN hat seine Aufgabe ziemlich gut gelernt. Es kann zwischen den Formaten unterscheiden so lange Formate in den Dateien vorhanden sind !! Das heist, als Härtetest wurde einige Dateien mit bekannten Formaten so manipuliert das deren Header-Informationen entfernt wurden. Die resultierenden Dateien enthielten also nur die reinen Datenanteile. Und schwups konnte das NN nicht mehr zwischen den verschlüsselten, komprimierten oder Zufallsdaten unterscheiden.

Dieses Resultat ist auch das was ich theoretisch erwartet hatte. Bei eine sicheren Verschlüsselung MUSS deren Entropie so angelegt sein das KEINE Rückschlüsse auf deren Inhalt möglich sind. Die wird mathematisch auch von Zufallsdaten oder eben stark komprimierten Daten erreicht. Somit kann man die reinen Daten einer Verschlüsselung, einer Komprimierung oder eines Zufallsstromes NICHT voneinander unterscheiden.

Mein Experiment mit dem Neuronalen Netzwerk funktinierte anfänglich nur deshalb weil in allen Dateien auch immer Header enthalten sind, sprich Informationen WAS die Datei WIE enthält. Das NN hat sich auf die Erkennung dieser Unterschiede spezialisiert. Dazu wurde dem NN neben dem FFT-Spektrum auch die erstene 256 Bytes der Datei als Transingsparameter übergeben.

Entfernte man diese 256 Bytes so war das NN niemlas in der Lage zwischen bestimmten Dateitypen zu unterscheiden. Eben zwischen komprimierten, verschlüsselten und Zufallsdaten.

Oder aber bei Textuellen Verschlüsselungen wie PEM oder MIME64. Diese Dateien erkannte das abgespeckte NN als normale Textdateien obwohl sie eben verschlüsselte Dateien waren deren binärer Inhalt nach Text transformiert wurde. Erst die erweiteret Version des NN's das die ersten 256 Bytes der Datei einbezog konnte die Uterschiede rausfiltern.

Gruß Hagen
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#10

Re: Datei verschlüsseln und in einen Stream schreiben

  Alt 20. Dez 2004, 13:55
Hallo Hagen,

Zitat von negaH:
das setzt aber voraus das man weis wie die Entropy der unverschlüsselten Datei aussieht. Liegt die Datei nur verschlüsselt vor, und man weis nicht was da verschlüsselt wurde, so kann man auch nicht über die Entropy erkennen ob die Datei verschlüesselt wurde. Man kann nämlich auch Zufallsdaten verschlüsselt speichern, und im allgemeinen wird die Entropy der Verschüsselten Daten kleiner oder gleich groß der Entropy der unverschlüsselten Daten sein.
Man kann es abschätzen, das war meine Aussage. Und ebenfalls bemerkte ich, daß Packen und Verschlüsseln die gleichen Änderungen der Entropie bewirken. Nicht mehr, nicht weniger. Inwieweit ihm das nützen mag, muß er einschätzen können

Zitat von negaH:
Eine gepackte Datei wiederum wird vergleichbar viel Entropie wie eine verschlüsselte Datei erzeugen, denoch sind die gepackten Daten nicht zwangsläufig verschlüsselt.
Das heißt du kannst gepackte Textdateien lesen? Glückwunsch!
Für mich ist Packen eine Form der Verschlüsselung, auch wenn man sich über den krytographischen Nutzen (widersteht Angriffen oder nicht ...) streiten kann.

Zitat von negaH:
Ich kenne zZ. kein offizielles Verfahren das das könnte ohne eventuelle Header der Dateien zu analysieren. Also rein auf Basis der binären Daten erkennen kann ob diese verschlüsselt oder unverschlüsselt sind.
Abschätzen ... nicht ja oder nein sondern vielleicht

Zitat von negaH:
Denkt man mal logisch darüber nach so widerspricht das ja auch dem Prinzip der Verschlüsselung. Die beste Verschlüselung ist diejenige der man es nicht ansieht.
Das ist aber Quark! Security through obscurity?
Also so sehr ich deine Fachkenntnisse in Sachen Kryptographie schätze, aber daß eine Verschlüsselung daran gemessen werden sollte, inwieweit sie erkennbar ist (nicht Typ sondern nur ob) das ist Quark. Da landen wir nämlich bei Steganographie, nicht mehr bei Krytographie.

Zitat von negaH:
Dieses Resultat ist auch das was ich theoretisch erwartet hatte. Bei eine sicheren Verschlüsselung MUSS deren Entropie so angelegt sein das KEINE Rückschlüsse auf deren Inhalt möglich sind. Die wird mathematisch auch von Zufallsdaten oder eben stark komprimierten Daten erreicht. Somit kann man die reinen Daten einer Verschlüsselung, einer Komprimierung oder eines Zufallsstromes NICHT voneinander unterscheiden.
Stimmt, aber was hat dies bitte damit zu tun, ob erkennbar ist ob die Daten verschlüsselt (inkl. gepackt) sind? Richtig, nichts. Es war ja auch nicht die Frage ob man Zufallsdaten und verschlüsselte Daten auseinanderhalten kann, sondern ob man (strukturierte!) Daten und verschlüsselte Daten auseinanderhalten kann. Und da kann die Entropie sehr wohl ein Anhaltspunkt sein.

Also nochmal, es ging hier nicht um das was du so schön beschreibst. Es ging darum zu erkennen ob eine Datei mit bekannten Strukturen verschlüsselt vorliegt oder nicht - und da kannst du wohl kaum umhin zuzugeben, daß die Entropie ein Maß dafür ist (zumindest mit hoher Wahrscheinlichkeit - i.e. wenn die Daten nicht schon gepackt sind).

Gruß,
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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