Hier sind ein paar Möglichkeiten, dies zu tun. Wenn Sie separate Komprimierungs- und Verschlüsselungsprogramme verwenden, sollten Sie die Komprimierung immer vor der Verschlüsselung durchführen, da verschlüsselte Daten im Wesentlichen nicht komprimierbar sind.
Diese Beispiele komprimieren und verschlüsseln eine Datei namens clear_text
.
Mit gpg
$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress
komprimiert gpg standardmäßig die Eingabedatei vor der Verschlüsselung, -c
bedeutet, dass eine symmetrische Verschlüsselung mit einem Passwort verwendet werden soll. Die Ausgabedatei wird clear_text.gpg
sein. Ein Vorteil der Verwendung von gpg
ist, dass es Standard-OpenPGP-Formate verwendet, so dass jede Verschlüsselungssoftware, die OpenPGP unterstützt, die Datei entschlüsseln kann.
Verwendung von mcrypt
$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress
Die Option -z
komprimiert. Standardmäßig wird dabei eine Datei mit dem Namen clear_text.gz.nc
ausgegeben.
Verwenden bcrypt
$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress
bcrypt komprimiert standardmäßig vor dem Verschlüsseln, die Option -r
dient dazu, dass die Eingabedatei dabei nicht gelöscht wird. Die Ausgabedatei wird standardmäßig clear_text.bfe
genannt.
Verwendung von gzip
und 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 ist das, wonach es klingt, ein Programm, das Eingaben auf stdin entgegennimmt und aes-verschlüsselte Daten auf stdout ausgibt. Es unterstützt keine Komprimierung, daher können Sie die Eingabe zuerst durch gzip leiten. Da die Ausgabe nach stdout geht, müssen Sie sie in eine Datei mit einem Namen Ihrer Wahl umleiten. Wahrscheinlich ist das nicht der effektivste Weg, um das zu tun, was Sie fragen, aber aespipe ist ein vielseitiges Werkzeug, so dass ich dachte, es sei eine Erwähnung wert.