Einzelnen Beitrag anzeigen

BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#1

Zuerst komprimieren und dann verschlüsseln oder andersherum?

  Alt 22. Okt 2006, 23:39
Ich bin gerade dabei, spaßeshalber ein eigenes erweiterbares binäres Archivformat (nicht XML-basiert) zu definieren und will mir die Möglichkeit offenhalten, Verschlüsselungen zu benutzen; Komprimierung ist schon möglich. Dafür muß ich aber jetzt schon wissen, ob es sinnvoller ist, die zu verpackenden Daten erst zu komprimieren und das Ergebnis dann zu verschlüsseln oder umgekehrt, oder ob beide Reihenfolgen ihre Vor- und Nachteile haben. In den ersten beiden Fällen würde ich nur Flags für "ist komprimiert" und "ist verschlüsselt" vorsehen, wobei die Reihenfolge dann fest wäre; im letzten Fall käme noch ein Flag "Reihenfolge" hinzu. Zusätzlich sind ohnehin noch weitere Infos wie z.B. über die genutzten Algorithmen vorgesehen.

Lemma:
0. Sowohl Komprimierung als auch Verschlüsselung erzeugen aus mehr oder weniger redundanten Daten einen Output, der üblicherweise näher am "weißen Datenrauschen" liegt als das Original.

Meine Pluspunkte für die Strategie "Erst komprimieren, dann verschlüsseln":
1. (Mit Lemma 0) Die Originale sind vermutlich besser einzudampfen als schon verschlüsselte Dateien.
2. Eine verschlüsselte Datei, die erst dann komprimiert wird, erlaubt es einem etwaigen Angreifer, zuerst die Komprimierung "abzuschälen" und sich dann um die Verschlüsselung zu kümmern; ist dann noch ein Teil der Klartexte bekannt, könnte der Angriff dadurch u.U. vereinfacht werden. Liegt dagegen die Verschlüsselung außen, muß der Angreifer sich zuerst durch diese hindurcharbeiten (hat also keine schnellen Erfolgserlebnisse), und zudem dürfte ihm ein teilweise bekannter Klartext ein Stückchen weniger nützen, da ihm noch die Komprimierung im Weg ist.

* Habe ich bei einem der Punkte 0 oder 1 einen Denkfehler?
* Liege ich mit der Vermutung richtig, daß Punkt 2 Glaubenssache ist? Mir ist durchaus klar, daß mehrere verschiedene Verschlüsselungen (die innenliegende Komprimierung kann man hier im besten Fall als extrem schwache Verschlüsselung, eher als Verschleierung betrachten, da der Komprimierungsalgorithmus bekannt wäre) aufeinander angewandt keine Verbesserung der Sicherheit bringen (solange nichts gegenteiliges bewiesen ist). Trotzdem interessiert mich, ob die zwischen Klartext und Verschlüsselung liegende Komprimierung den Angriff erschwert, oder das Problem nur in Richtung eines anderen "virtuellen" Schlüssels verlagert (so wie bei zwei aufeinander ausgeführten Caesar-Verschiebungen mit unterschiedlichen Verschiebungen nicht zwei Schlüssel geknackt werden müssen, sondern nach wie vor nur einer, der aber so vermutlich nie eingegeben wurde) und eine "Sicherheit von minus hundert Prozent" ergäbe.
The problem with troubleshooting is that sometimes the trouble shoots back.
  Mit Zitat antworten Zitat