EMZETT.
Login

Dekomprimieren

Kurz: Komprimierte Daten wieder in ihre ursprüngliche (oder eine nutzbare) Form zurückwandeln — das Gegenstück zum Komprimieren.

Genauer: Bei verlustfreier Kompression entsteht dabei exakt das Original zurück; bei verlustbehafteter Kompression (z. B. JPEG) ist die dekomprimierte Datei nicht mehr identisch mit dem allerersten Ausgangsmaterial, da beim Komprimieren bereits Informationen verworfen wurden.

Im Detail

Bei verlustfreien Formaten (z. B. ZIP, 7-Zip, PNG) ist Dekomprimieren rein mechanisch: der Algorithmus kehrt exakt die beim Komprimieren angewendeten Regeln um (z. B. wiederholte Byte-Sequenzen, die durch kürzere Codes ersetzt wurden, werden wieder expandiert) — Byte für Byte entsteht das Original zurück, überprüfbar über eine Prüfsumme.

Bei verlustbehafteten Formaten (JPEG, MP3, MPEG) ist “Dekomprimieren” eigentlich ungenau: die beim Komprimieren verworfenen Informationen (z. B. für das menschliche Auge kaum wahrnehmbare Farbnuancen bei JPEG) lassen sich nicht zurückholen. Was beim Öffnen passiert, ist genauer eine Rekonstruktion einer möglichst originalgetreuen Annäherung aus den verbliebenen Daten — deshalb verschlechtert sich die Qualität bei wiederholtem Komprimieren/Dekomprimieren derselben Datei (z. B. ein JPEG mehrfach speichern) mit jedem Durchgang weiter.

Der Rechenaufwand ist bei den meisten gängigen Algorithmen asymmetrisch verteilt: Dekomprimieren ist in der Regel deutlich schneller als Komprimieren, weil das Komprimieren nach optimalen Mustern suchen muss, während das Dekomprimieren nur eine feste Zuordnungstabelle abarbeitet.

Zip-Bomben als Angriffsvektor

Ein bekannter Missbrauchsfall des Dekomprimierens sind sogenannte “Zip-Bomben” — winzige, wenige Kilobyte große Archivdateien, die beim Entpacken auf mehrere Gigabyte oder gar Terabyte anwachsen, indem extreme Kompressionsraten und verschachtelte Archive-in-Archiven ausgenutzt werden. Automatisierte Systeme, die eingehende Dateien blind entpacken (z. B. Virenscanner oder Datei-Upload-Verarbeitung), können dadurch gezielt in die Knie gezwungen werden, weshalb sichere Implementierungen Größenlimits und Zeitüberschreitungen beim Entpacken erzwingen sollten, statt Dateien unbegrenzt zu dekomprimieren.

Siehe auch: Komprimieren, ZIP, 7-Zip