web-dev-qa-db-fra.com

Chiffrement et compression

Existe-t-il un meilleur moyen de compresser puis de crypter des fichiers autres que tar suivi de openssl ou gpg?

28
user75027

tar est l'outil habituel pour regrouper des fichiers. Plain tar lui-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 implémentations tar, y compris GNU tar (l'implémentation normale sous Linux), peuvent automatiquement compresser avec une option (-z pour gzip, -j pour bzip2, -J pour 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 que cela 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 faire 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'outil de ligne de commande openssl. C'est une vitrine pour la bibliothèque OpenSSL, non conçue pour une utilisation en production. Bien que vous puissiez faire certaines choses avec lui (en particulier, il a toutes les primitives nécessaires pour 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. Lorsque 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.

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 de clé.

Modifier : Cela ne crypte pas les noms de fichiers, vous voudrez peut-être tout d'abord tar tout d'abord.

Édition 2 : Ajouté -mhe=on.

12
Timmmm

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

7z a -p -mhe=on stuff.7z MyStuff
3
Victor