Entendendo os Vários Formatos de Compressão, Criptografia e Arquivo

Em termos de computador, um arquivo de arquivo é um único arquivo que armazena dentro de si diferentes arquivos e pastas. Existem vários formatos de arquivo disponíveis e cada um tem seus próprios prós e contras. Alguns formatos de arquivo vêm com suporte à compressão (o que torna o tamanho do seu arquivo menor), enquanto outros suportam criptografia. Sim, e você adivinhou, alguns formatos de arquivo suportam ambos compressão e criptografia. Vamos descobrir mais sobre os algoritmos de compressão e criptografia usados e os vários formatos de arquivo.

Algoritmo de Compressão

O algoritmo de compressão é o método usado pelo arquivo para comprimir os arquivos e tornar o tamanho total do arquivo menor.

formato e algoritmo de compressão

1. LZMA/LZMA2

O algoritmo de cadeia Lempel-Ziv-Markov (LZMA) é um algoritmo de compressão de dados sem perdas. O LZMA usa um algoritmo de compressão de dicionário que utiliza estruturas de dados complexas para codificar um bit de cada vez.

O LZMA2 é um contêiner que contém tanto os dados não comprimidos quanto os dados comprimidos pelo LZMA. Ele suporta compressão e descompressão de dados em múltiplas threads. Ele também pode comprimir dados que não são comprimíveis com outros algoritmos de compressão.

2. Algoritmo de Transformação de Burrows-Wheeler (BWT)

O BWT funciona permutando uma string de texto em ordem e, em seguida, comprimindo-a substituindo os caracteres repetidos por símbolos.

3. PPM

A previsão por correspondência parcial (PPM) é um método de compressão de dados estatística que funciona usando um conjunto de símbolos anteriores no fluxo de símbolos não comprimidos para prever o próximo símbolo no fluxo.

4. Deflate

O Deflate é um algoritmo de compressão de dados popular que usa uma combinação dos algoritmos de compressão LZ77 e Huffman para comprimir dados (combinando os algoritmos LZMA e PPM para produzir mais compressão). Como o Deflate não contém implementações restritas por patentes, ele se tornou muito popular e é amplamente utilizado, especialmente no Linux.

Algoritmo de Criptografia

Agora vamos passar por alguns dos métodos de criptografia populares:

formato-algoritmo-de-criptografia

1. DES

O Padrão de Criptografia de Dados usa chaves secretas privadas para criptografar e descriptografar dados. A chave secreta é selecionada aleatoriamente de um espaço de endereçamento de 56 a 64 bits.

2. AES

O Padrão de Criptografia Avançada é um algoritmo de criptografia usado pelas agências dos EUA para proteger dados sensíveis. Você pode criptografar dados usando 128, 192 e 256 bits de criptografia. O AES usa um algoritmo de chave simétrica, o que significa que uma chave comum é usada para criptografar e, em seguida, descriptografar os dados.

3. Blowfish

O algoritmo de criptografia Blowfish criptografa os arquivos com um tamanho de bloco de 64 bits e um comprimento de chave variável de 32 a 448 bits.

Nota: Existem vários outros algoritmos de criptografia, mas os três mencionados acima são os mais utilizados.

Formatos de Arquivo

Existem vários formatos de arquivo disponíveis. Abaixo, avaliaremos cada formato de arquivo usando três parâmetros – se suporta compressão e criptografia, qual sistema operacional e software está disponível para seu uso.

1. Tar

O Tape Archive (Tar) é um dos formatos de arquivo mais antigos. Inicialmente, foi usado para combinar e gravar dados em unidades de fita sequenciais, mas foi posteriormente padronizado como um formato de compressão. O Tar é usado principalmente no Linux e não suporta compressão ou criptografia. Você também pode usá-lo no Windows com a instalação de software adicional. A maioria das utilidades de arquivamento modernas suporta este formato. As exceções incluem Disk Archiver e KGB Archiver.

2. GZ

GZ ou GZip é um dos formatos de compressão mais populares usados tanto no Windows quanto no Linux. O GZip usa o algoritmo de compressão Deflate para comprimir os arquivos arquivados. O GZip também suporta transferências de arquivos em várias partes, o que significa que você pode criar partes menores de um grande arquivo GZip para fácil compartilhamento e transferência. Como o GZip é bastante popular, a maioria das utilidades de arquivamento modernas tem suporte para comprimir e descomprimir arquivos usando o formato GZip, incluindo 7-Zip, BetterZip, PKZip, WinZip e WinRAR.

3. BZ/BZ2

BZ é muito semelhante ao GZ, mas usa o Algoritmo de Transformação de Burrows-Wheeler, que resulta em um pouco mais de compressão e um tamanho de arquivo menor. Embora a compressão seja lenta, a descompressão é bastante rápida. A maioria dos softwares que suportam GZ também suportam BZ.

4. Zip

compressao_winzip

O Zip é provavelmente o formato de arquivamento mais conhecido e utilizado. O Zip usa o algoritmo Deflate e suporta compressão sem perdas. Ele também suporta criptografia AES e DES. A maioria dos sistemas operacionais modernos vem com suporte embutido para o formato Zip, então você não precisa de um software separado para arquivar e desarquivar arquivos Zip.

5. 7Z

compressao_7zip

O formato de arquivamento 7Z foi introduzido com uma utilidade gratuita e de código aberto chamada 7-Zip. É o formato de compressão e arquivamento geral mais avançado que suporta a maioria dos algoritmos de compressão e criptografia de dados, incluindo os que discutimos acima. O formato 7Z comprime os arquivos mais do que qualquer outro formato, mas é relativamente mais lento no processamento. Outra limitação é que o software 7-Zip está disponível apenas para Windows. Não há suporte visual para Mac ou Linux. O 7Z também suporta arquivamento em várias partes.

6. RAR

compressao_winrar

RAR é um formato de arquivamento proprietário. Embora possa ser lido e extraído por outras utilidades como 7-Zip e WinZip, só pode ser criado usando a utilidade WinRAR. O RAR foi o formato mais popular para arquivamento em várias partes antes do 7Z ser lançado. Agora o 7Z pode fazer a mesma tarefa gratuitamente, enquanto o RAR faz seus usuários pagarem pelo software WinRAR. O RAR suporta criptografia AES.

Outros formatos de compressão e arquivamento

Aqui estão alguns dos formatos relativamente menos conhecidos:

XZ é um formato de compressão de dados sem perdas que usa o algoritmo de compressão LZMA2. Pode ser considerado uma versão simplificada do 7Z.

LHA, anteriormente conhecido como LHarc, é usado principalmente para comprimir arquivos de instalação e jogos (principalmente usado no Japão). Curiosamente, a versão japonesa do Windows 7 vem com suporte embutido para arquivos LHA.

ACE é um formato de arquivo de arquivamento de compressão de dados proprietário que foi um concorrente do formato RAR nos primeiros dias de 2000.

StuffIt foi lançado principalmente para Mac, mas versões para Windows, Linux e Solaris foram lançadas posteriormente. Este é um formato de compressão proprietário usado pelas utilidades StuffIt.

Conclusão

No Linux, o formato mais comumente usado é gz (ou tar.gz), seguido por bz, enquanto no Windows ou Mac, o formato mais comumente usado é Zip. Para compatibilidade entre plataformas, o formato Zip é o mais indicado. Se você deseja recursos como segurança, alta compressão e arquivamento em várias partes, opte pelo formato 7Z. O RAR é semelhante ao 7Z, exceto que vem com um custo. Evite-o o máximo possível.

Qual formato de arquivo e utilitário você usa para compressão?