Entendiendo los diversos formatos de compresión, cifrado y archivo

En términos informáticos, un archivo comprimido es un solo archivo que almacena dentro de sí diferentes archivos y carpetas. Hay varios formatos de archivo disponibles y cada uno tiene sus propios pros y contras. Algunos formatos de archivo vienen con soporte de compresión (lo que hace que el tamaño de su archivo sea más pequeño) mientras que otros soportan cifrado. Sí, y lo adivinaste, algunos formatos de archivo soportan ambos compresión y cifrado. Vamos a descubrir más sobre los algoritmos de compresión y cifrado utilizados y los diversos formatos de archivo.

Algoritmo de Compresión

El algoritmo de compresión es el método utilizado por el archivo para comprimir los archivos y hacer que el tamaño total del archivo sea más pequeño.

formato y algoritmo de compresión

1. LZMA/LZMA2

El algoritmo de cadena Lempel-Ziv-Markov (LZMA) es un algoritmo de compresión de datos sin pérdida. LZMA utiliza un algoritmo de compresión por diccionario que hace uso de estructuras de datos complejas para codificar un bit a la vez.

LZMA2 es un contenedor que contiene tanto los datos sin comprimir como los datos comprimidos con LZMA. Soporta compresión y descompresión de datos multihilo. También puede comprimir datos que no son comprimibles con otros algoritmos de compresión.

2. Algoritmo de Transformación de Burrows-Wheeler (BWT)

BWT funciona permutando una cadena de texto en orden y luego comprimiéndolos al reemplazar los caracteres repetidos por símbolos.

3. PPM

La predicción por coincidencia parcial (PPM) es un método de compresión de datos estadístico que funciona utilizando un conjunto de símbolos anteriores en la secuencia de símbolos no comprimidos para predecir el siguiente símbolo en la secuencia.

4. Deflate

Deflate es un algoritmo de compresión de datos popular que utiliza una combinación de los algoritmos de compresión LZ77 y codificación de Huffman para comprimir datos (combinando los algoritmos LZMA y PPM para producir más compresión). Dado que Deflate no contiene implementaciones restringidas por patentes, se ha vuelto muy popular y se utiliza ampliamente, especialmente en Linux.

Algoritmo de Cifrado

Ahora pasemos por algunos de los métodos de cifrado populares:

algoritmo-formato-cifrado

1. DES

El Estándar de Cifrado de Datos utiliza claves secretas privadas para cifrar y descifrar datos. La clave secreta se selecciona aleatoriamente de un espacio de direcciones de 56 a 64 bits.

2. AES

El Estándar de Cifrado Avanzado es un algoritmo de cifrado utilizado por las agencias de EE. UU. para asegurar datos sensibles. Puedes cifrar datos utilizando 128, 192 y 256 bits de cifrado. AES utiliza un algoritmo de clave simétrica, lo que significa que se utiliza una clave común para cifrar y luego descifrar los datos.

3. Blowfish

El algoritmo de cifrado Blowfish cifra los archivos con un tamaño de bloque de 64 bits y una longitud de clave variable de 32 a 448 bits.

Nota: Hay varios otros algoritmos de cifrado, pero los tres mencionados anteriormente son los más utilizados.

Formatos de Archivo

Hay varios formatos de archivo disponibles. A continuación, evaluaremos cada formato de archivo utilizando tres parámetros: si soporta compresión y cifrado, qué sistema operativo y software está disponible para su uso.

1. Tar

Tape Archive (Tar) es uno de los formatos de archivo más antiguos. Inicialmente, se utilizó para combinar y escribir datos en unidades de cinta secuenciales, pero luego se estandarizó como un formato de compresión. Tar se utiliza principalmente en Linux y no soporta compresión ni cifrado. También puedes usarlo en Windows con la instalación de software adicional. La mayoría de las utilidades modernas de archivo soportan este formato. Las excepciones incluyen Disk Archiver y KGB Archiver.

2. GZ

GZ o GZip es uno de los formatos de compresión más populares utilizados tanto en Windows como en Linux. GZip utiliza el algoritmo de compresión Deflate para comprimir los archivos archivados. GZip también soporta transferencias de archivos en múltiples partes, lo que significa que puedes crear partes más pequeñas de un gran archivo GZip para facilitar el intercambio y la transferencia. Dado que GZip es bastante popular, la mayoría de las utilidades modernas de archivo tienen soporte para comprimir y descomprimir archivos utilizando el formato GZip, incluyendo 7-Zip, BetterZip, PKZip, WinZip y WinRAR.

3. BZ/BZ2

BZ es muy similar a GZ pero utiliza el Algoritmo de Transformación de Burrows-Wheeler, lo que resulta en un poco más de compresión y un tamaño de archivo más pequeño. Aunque la compresión es lenta, la descompresión es bastante rápida. La mayoría del software que soporta GZ también soporta BZ.

4. Zip

compresión_winzip

Zip es probablemente el formato de archivo más conocido y utilizado. Zip utiliza el algoritmo Deflate y soporta compresión sin pérdida. También soporta cifrado AES y DES. La mayoría de los sistemas operativos modernos vienen con soporte incorporado para el formato Zip, por lo que no necesitas un software separado para archivar y desarchivar archivos Zip.

5. 7Z

compresión_7zip

El formato de archivo 7Z fue introducido con una utilidad gratuita y de código abierto llamada 7-Zip. Es el formato de compresión y archivo general más avanzado que soporta la mayoría de los algoritmos de compresión y cifrado de datos, incluyendo los que hemos discutido anteriormente. El formato 7Z comprime los archivos más que cualquier otro formato, pero es relativamente más lento en el procesamiento. Otra limitación es que el software 7-Zip solo está disponible para Windows. No hay soporte visual para Mac o Linux. 7Z también soporta archivado en múltiples partes.

6. RAR

compresión_winrar

RAR es un formato de archivo propietario. Aunque puede ser leído y extraído por otras utilidades como 7-Zip y WinZip, solo puede ser creado utilizando la utilidad WinRAR. RAR fue el formato más popular para el archivado en múltiples partes antes de que se lanzara 7Z. Ahora 7Z puede hacer la misma tarea de forma gratuita, lo que RAR hace cobrando a sus usuarios por el software WinRAR. RAR soporta cifrado AES.

Otros formatos de compresión y archivo

Aquí hay algunos de los formatos relativamente menos conocidos:

XZ es un formato de compresión de datos sin pérdida que utiliza el algoritmo de compresión LZMA2. Se puede considerar como una versión simplificada de 7Z.

LHA, anteriormente conocido como LHarc, se utiliza principalmente para comprimir archivos de instalación y juegos (principalmente utilizado en Japón). Curiosamente, la versión japonesa de Windows 7 viene con soporte incorporado para archivos LHA.

ACE es un formato de archivo de compresión de datos propietario que fue un competidor del formato RAR en los primeros días de 2000.

StuffIt fue lanzado principalmente para Mac, pero versiones para Windows, Linux y Solaris fueron lanzadas posteriormente. Este es un formato de compresión propietario utilizado por las utilidades StuffIt.

Conclusión

En Linux, el formato más comúnmente utilizado es gz (o tar.gz), seguido de bz, mientras que en Windows o Mac, el formato más comúnmente utilizado es Zip. Para compatibilidad entre plataformas, el formato Zip es el que debes elegir. Si deseas características como seguridad, alta compresión y archivado en múltiples partes, opta por el formato 7Z. RAR es similar a 7Z excepto que viene con un costo. Evítalo tanto como sea posible.

¿Qué formato de archivo y utilidad utilizas para la compresión?

Crédito de la imagen: Spring, réplica del dispositivo de cifrado M-94