DEFLATE brut (.deflate)

IETF Standard

DEFLATE est l'algorithme de compression de données sans perte largement utilisé de l'histoire de l'informatique. Il est utilisé dans les archives ZIP, les flux GZIP, les images PNG et la compression HTTP depuis plus de trois décennies.

Convertir GZIP en DEFLATE

Outil de conversion gratuit de GZIP vers DEFLATE dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Inspection et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers DEFLATE en inspectant leur séquence initiale d'octets binaires :

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet envoyé vers des serveurs externes. Tout le traitement a eu lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (octets magiques)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers DEFLATE en inspectant leur séquence initiale d'octets binaires :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

Le DEFLATE brut n’a pas de signature fixe

REPRÉSENTATION ASCII : Aucune signature fixe

Normalisation : IETF RFC 1951 / RFC 1950 (zlib)

Spécifications techniques

Architecture de conteneurFlux de bits brut RFC 1951 ou flux enveloppé zlib RFC 1950 avec en-tête de 2 octets et somme de contrôle Adler-32
CompressionDictionnaire glissant LZ77 (fenêtre jusqu'à 32 Ko) combiné avec un codage d'entropie de Huffman dynamique/statique
Ordre des octetsOrdre d'empaquetage des bits en petit-boutiste
Espaces colorimétriquesN/A (Flux de compression de données)
Canaux et structureFlux de données binaires ou textuelles brutes
Dimensions maximalesLongueur de flux illimitée
TransparenceReproduction des données sans perte, exacte à 100 % au niveau des bits
Prise en charge du traitement en continuLe flux de bits organisé en blocs prend en charge la diffusion continue d’octets.

Matrice de comparaison technique : DEFLATE face aux concurrents

Attribut techniqueDEFLATE (Actuel)GZBROTLIZSTD
StandardisationIETF RFC 1951 (brut) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Fenêtre glissante32 kilooctets max32 kilooctets maxJusqu'à 16 mégaoctetsJusqu'à 2 gigaoctets
Mode de somme de contrôleAdler-32 (dans l’enveloppe zlib)CRC-32 (dans l’enveloppe gzip)Aucune somme de contrôle intégrée au fluxxxHash64 (hachage rapide 64 bits)
Utilisation quotidienneImages PNG, flux PDF, ZIP.tar.gz sous Unix, gzip sur HTTPPolices web (WOFF2), br sur HTTPNoyau Linux, bases de données, jeux

Modes de corruption courants et guide de restauration hexadécimale

La décompression échoue avec le message 'Z_DATA_ERROR: incorrect data check'.

Cause initiale: Somme de contrôle Adler-32 incorrecte (4 octets) en fin de flux zlib.

Récupération: Contournez la vérification Adler-32 en décompressant le flux brut (inflate) ou réparez le fichier avec l’outil de récupération Deflate de File2File.app.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les analyseurs DEFLATE doivent valider strictement les codes de construction d'arbres de Huffman pour empêcher les écritures de pointeurs hors limites.

Vecteurs d’attaque connus

  • Tables de longueurs de code en bits des arbres de Huffman dynamiques, incomplètes ou surchargées, provoquant des lectures mémoire invalides.
  • Bombe de décompression (bombe ZIP) qui déploie de minuscules charges utiles jusqu'à occuper des centaines de gigaoctets de mémoire vive.
  • Sur-lecture de tampon dans des codes de distance de fenêtre glissante non validés.

Bonnes pratiques de défense: Limitez la mémoire allouée et le taux d’expansion lors de la décompression.

Origines historiques et jalons

1996Peter Deutsch formalise DEFLATE dans la RFC 1951 de l'IETF et zlib dans la RFC 1950.
1995Jean-loup Gailly et Mark Adler publient zlib.
1991Phil Katz invente DEFLATE pour PKZIP 2.0 pour remplacer les anciens algorithmes Implode et Reduce.

Principaux avantages

  • La norme mondiale incontestée : intégrée au matériel et aux systèmes d'exploitation, et prise en charge par tous les environnements d'exécution des langages de programmation.
  • Conception sans brevet et sans redevance garantissant un accès ouvert dans toute l'industrie informatique.
  • Décompression rapide avec un encombrement mémoire minimal (nécessite uniquement une mémoire de fenêtre glissante de 32 Ko).

Limites techniques

  • Fenêtre glissante limitée à 32 Ko, réduisant l'efficacité de la compression sur les fichiers volumineux présentant des redondances distantes.
  • Taux de compression inférieurs sur les ressources web modernes par rapport aux algorithmes plus récents comme Brotli et Zstandard.
  • Les flux DEFLATE bruts ne comportent ni métadonnées descriptives ni structure de conteneur sans enveloppe zlib ou gzip.

Faits intéressants

  • Phil Katz a inventé DEFLATE après avoir été poursuivi en justice par Unisys concernant l'algorithme breveté LZW utilisé dans les premiers utilitaires PKARC.
  • Les octets d'en-tête zlib standard '78 9C' indiquent une compression par défaut, '78 01' une compression faible et '78 DA' une compression maximale.
  • Chaque image PNG sur Terre utilise DEFLATE pour compresser ses blocs de pixels IDAT.

Foire aux questions techniques

Quelle est la différence entre DEFLATE, zlib et gzip ?

DEFLATE est l’algorithme de compression brut (RFC 1951). L’enveloppe zlib ajoute un en-tête de 2 octets et une somme de contrôle Adler-32 (RFC 1950). L’enveloppe gzip ajoute des métadonnées de fichier et une somme de contrôle CRC-32 (RFC 1952).

Pourquoi PNG utilise-t-il DEFLATE ?

Le format PNG a été créé en 1995 pour remplacer GIF sans recourir aux algorithmes LZW brevetés ; DEFLATE, libre de droits, a été choisi pour la compression.

Comment puis-je décompresser un fichier .deflate brut ?

Vous pouvez décompresser des flux d'octets DEFLATE ou zlib bruts et obtenir les fichiers d'origine non compressés à l'aide de File2File.app, directement dans votre navigateur web.