Criptografando e compactando


28

Existe uma maneira melhor de compactar e criptografar arquivos que não sejam tarseguidos por opensslou gpg?


3
Depende. Quais são os seus requisitos? Como você está quantificando o "melhor"? Quais ferramentas você tem disponível? Você já considerou outras opções que podem ser úteis para mencionar?
— 22413 Greg Hewgill

Não considerou nenhum outro. Ele só precisa ser criptografia básica, onde alguém não possa ler o conteúdo do arquivo e, de preferência, manter uma boa taxa de compactação.
— user75027

1
Geralmente a resposta será não. Uma das filosofias centrais do unix é "faça uma coisa e faça bem". tar -zé uma pequena exceção, porque é uma prática muito comum.
— 22414 Patrick Patrick

1
As tarversões mais recentes suportam a compactação xz (flag -J) cuja taxa de compactação é geralmente melhor que a compactação mais tradicional gzip ( -z) ou bzip2 ( -j).
— Jofel

Eu notei que xzé excelente. Lembro-me de baixar o kernel e foi compactado para cerca de 1/7 do seu tamanho original. Acho que vou tar cvJf out.tar.xz file1 [file2...]usar o gpg ou o openssl para criptografá-lo. Percebo também que o xz é muito rápido. Como consegue uma compressão melhor que o bz2 e ainda é rápido?
— user75027

Respostas:


24

taré a ferramenta usual para agrupar arquivos. A planície em tarsi não se comprime. Existem ferramentas separadas, como gzip , bzip2 e xz (em ordem crescente de taxa de compactação em arquivos típicos) que compactam um arquivo. Muitas tarimplementações, incluindo GNU tar (a implementação normal no Linux), podem ser compactadas automaticamente com uma opção ( -zpara gzip, -jbzip2, -Jxz):

tar -cJf myarchive.tar.xz file1 file2 file3

Para criptografar um arquivo, use gpg . Crie uma chave e associe-a ao seu endereço de email (os identificadores de chave GPG / PGP geralmente contêm um endereço de email, embora não seja necessário). Criptografe seus arquivos, especificando seu email como destinatário. Para descriptografar um arquivo, você precisará digitar a senha para desbloquear sua chave privada.

O GPG também permite criptografar um arquivo com uma senha. Isso é menos seguro e menos flexível. É menos flexível porque você precisa especificar a senha ao criptografar (por exemplo, você não pode fazer backups autônomos). É menos seguro porque a única segurança é a senha, enquanto a criptografia baseada em chave divide a segurança entre a senha e a chave.

Não use a opensslferramenta de linha de comando. É uma vitrine para a biblioteca OpenSSL, não projetada para uso em produção. Embora você possa fazer algumas coisas com ele (em particular, ele possui todas as primitivas necessárias para uma autoridade de certificação básica), é difícil de usar corretamente e não tem tudo o que você precisa para fazer as coisas corretamente. Onde o GPG fornece uma bicicleta, o OpenSSL fornece algumas hastes de metal de vários tamanhos e duas câmaras de borracha (parafusos e bomba não incluídos). Use GPG.


Entendo o tar como um empacotador e os métodos de compactação. As teclas gpg, no entanto, são novas para mim. Eu não entendo exatamente como usá-lo, embora eu tenha uma chave. Eu acho que. Eu acho que também tenho chaves ssh.
— user75027

Era isso que eu procurava para compactar e criptografar com um comando (usando tare gpgem um pipe).
— CGFoX 19/01

12

Você pode usar o 7zip:

7z a -p -mhe=on stuff.7z MyStuff
   ^  ^     ^      ^        ^
   |  |     |      |        `--- Files/directories to compress & encrypt.
   |  |     |      `--- Output filename
   |  |      `--- Encrypt filenames
   |  `---- Use a password
   `---- Add files to archive

Ele solicitará uma senha. Aparentemente, ele usa o AES-256 para criptografia e o SHA-256 da senha e um contador repetido 512K vezes para derivação de chave.

Editar : isso não criptografa os nomes dos arquivos; portanto, você pode querer tartudo primeiro.

Edit 2 : Added -mhe=on.


5
Se você usar, 7zapoderá criptografar os nomes dos arquivos com a -mhe=onopção
— SilverlightFox

3

Portanto, você também pode usar nomes de arquivos com criptografia 7zip:

7z a -p -mhe=on stuff.7z MyStuff
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.