Voici quelques moyens d'y parvenir. Une chose à noter est que si vous allez utiliser des outils de compression et de cryptage séparés, vous devez toujours compresser avant de crypter, car les données cryptées sont essentiellement non compressibles.
Ces exemples permettent de compresser et de crypter un fichier appelé clear_text
.
L'utilisation de gpg
$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress
gpg comprimera le fichier d'entrée avant le cryptage par défaut, -c
signifie utiliser un cryptage symétrique avec un mot de passe. Le fichier de sortie sera clear_text.gpg
. L'un des avantages de l'utilisation de gpg
est qu'il utilise les formats OpenPGP standard, de sorte que tout logiciel de cryptage qui prend en charge OpenPGP sera en mesure de le décrypter.
Utiliser mcrypt
$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress
L'option -z
compresse. Par défaut, elle produit un fichier appelé clear_text.gz.nc
.
En utilisant bcrypt
$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress
bcrypt compresse avant de crypter par défaut, l'option -r
est pour que le fichier d'entrée ne soit pas supprimé dans le processus. Le fichier de sortie est appelé clear_text.bfe
par défaut.
Using gzip
and aespipe
$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress
aespipe est ce à quoi il ressemble, un programme qui prend l'entrée sur stdin et sort aes données cryptées sur stdout. Il ne prend pas en charge la compression, donc vous pouvez d'abord faire passer l'entrée par gzip. Puisque la sortie est envoyée sur stdout, vous devrez la rediriger vers un fichier avec un nom de votre choix. Ce n'est probablement pas la façon la plus efficace de faire ce que vous demandez, mais aespipe est un outil polyvalent, et j'ai donc pensé qu'il valait la peine de le mentionner.