Chiffrement et compression


28

Existe-t-il un meilleur moyen de compresser puis de crypter des fichiers autres que tarsuivi de opensslou gpg?


3
Ça dépend. Quelles sont vos exigences? Comment quantifiez-vous le «meilleur»? De quels outils disposez-vous? Avez-vous déjà envisagé d'autres options qui pourraient être utiles à mentionner?
Greg Hewgill

Je n'en ai pas considéré d'autres. Il doit simplement s'agir d'un chiffrement de base, où quelqu'un ne peut pas lire le contenu du fichier, et de préférence maintenir un bon taux de compression.
user75027

1
En général, la réponse sera non. L'une des principales philosophies d'Unix est de "faire une chose et bien le faire". tar -zest une légère exception car il s'agit d'une pratique très courante.
Patrick

1
Les tarversions plus récentes prennent en charge la compression xz (indicateur -J) dont le taux de compression est généralement meilleur que la compression gzip ( -z) ou bzip2 ( -j) plus traditionnelle .
jofel

J'ai remarqué que c'était xzexcellent. Je me souviens avoir téléchargé le noyau et il a été compressé à environ 1/7 de sa taille d'origine. Je suppose que je vais tar cvJf out.tar.xz file1 [file2...]ensuite utiliser gpg ou openssl pour le crypter. Je remarque également que xz est très rapide. Comment obtient-il une meilleure compression que bz2 tout en étant rapide?
user75027

Réponses:


24

tarest l'outil habituel pour regrouper des fichiers. Plain tarlui-même ne se comprime pas. Il existe des outils distincts tels que gzip , bzip2 et xz (dans l'ordre croissant du taux de compression sur les fichiers typiques) qui compressent un fichier. De nombreuses tarimplémentations, y compris GNU tar (l'implémentation normale sous Linux), peuvent automatiquement compresser avec une option ( -zpour gzip, -jpour bzip2, -Jpour xz):

tar -cJf myarchive.tar.xz file1 file2 file3

Pour crypter un fichier, utilisez gpg . Créez une clé et associez-la à votre adresse e-mail (les identifiants de clé GPG / PGP contiennent généralement une adresse e-mail, bien qu'elle ne soit pas nécessaire). Chiffrez vos fichiers en spécifiant votre e-mail comme destinataire. Pour décrypter un fichier, vous devrez saisir la phrase secrète pour déverrouiller votre clé privée.

GPG vous permet également de crypter un fichier avec un mot de passe. C'est moins sûr et moins flexible. Il est moins flexible car vous devez spécifier le mot de passe lors du cryptage (par exemple, vous ne pouvez pas effectuer de sauvegardes sans assistance). Il est moins sécurisé car la seule sécurité est le mot de passe, tandis que le chiffrement basé sur clé répartit la sécurité entre le mot de passe et la clé.

N'utilisez pas l' openssloutil de ligne de commande. C'est une vitrine pour la bibliothèque OpenSSL, non conçue pour une utilisation en production. Bien que vous puissiez en faire certaines choses (en particulier, il possède toutes les primitives nécessaires à une autorité de certification de base), il est difficile à utiliser correctement et il n'a pas tout ce dont vous avez besoin pour bien faire les choses. Là où GPG vous donne un vélo, OpenSSL vous donne quelques tiges métalliques de différentes tailles et quelques chambres en caoutchouc (vis et pompe non incluses). Utilisez GPG.


Je comprends tar en tant que bundler et les méthodes de compression. les clés gpg, cependant, sont nouvelles pour moi. Je ne comprends pas exactement comment l'utiliser, même si j'ai une clé. Je pense. Je pense que j'ai aussi des clés ssh.
user75027

C'est ce que je cherchais pour compresser et crypter avec une seule commande (en utilisant taret gpgdans un tube).
CGFoX

12

Vous pouvez utiliser 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

Il vous demandera un mot de passe. Apparemment, il utilise AES-256 pour le chiffrement et SHA-256 du mot de passe et un compteur répété 512K fois pour la dérivation des clés.

Modifier : cela ne crypte pas les noms de fichiers, vous pouvez donc tartout d'abord tout vouloir .

Edit 2 : Ajouté -mhe=on.


5
Si vous utilisez, 7zavous pouvez crypter les noms de fichiers avec -mhe=onoption.
SilverlightFox

3

Vous pouvez donc également utiliser les noms de fichiers de chiffrement 7zip:

7z a -p -mhe=on stuff.7z MyStuff
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.