Mcrypt

Mcrypt ist ein Ersatz für das beliebte Unix-Crypt-Kommando. Es bedient sich OpenPGP im Hintergrund.

Alternativen zu Mcrypt:

Datei anlegen und zu verschlüsselnden Text rein schreiben

> vi /tmp/test

verschlüsseln

> mcrypt /tmp/test

Hilfe

> mcrypt --help

alle verfügbaren HASH-Funktionen (-h):

> mcrypt --list-hash | fgrep sha
sha1
sha256
sha224
sha512
sha384

alle verfügbaren Schlüsselmodi aus (-o):

> mcrypt --list-keymodes | fgrep sha
mcrypt-sha1
s2k-simple-sha1
s2k-salted-sha1
s2k-isalted-sha1

alle verfügbaren Algorithmen (-a) und Modi (-m) anzeigen:

> mcrypt --list | fgrep serpent
serpent (32): cbc cfb ctr ecb ncfb nofb ofb

verschlüsseln unter Angabe weiterer Optionen:

> mcrypt -a serpent -m cbc -o mcrypt-sha1 -h sha512 /tmp/test
> mcrypt -b -r -z -a serpent -m cbc -o mcrypt-sha1 -h sha512 /tmp/test
> mcrypt -r -g -a serpent -o mcrypt-sha1 -h sha512 /tmp/test
Bitte Mantra eingeben (Maximum 512 Zeichen)
Bitte benutzen Sie eine Kombination von Klein- und Großbuchstaben, sowie Nummern.
Mantra eingeben: 

Mantra eingeben: 

Datei /tmp/test wurde verschlüsselt.
> ls -lha /tmp/test*
-rw-r--r--  1 fritz  wheel    43B  3 Aug. 01:58 /tmp/test
-rw-------  1 fritz  wheel    78B  3 Aug. 01:58 /tmp/test.gz.nc
-rw-------  1 fritz  wheel    78B  3 Aug. 01:58 /tmp/test.nc

Inhalt ist verschlüsselt

> cat /tmp/test.nc
m@serpent cbcmcrypt-sha1��\9:Z3]�/(.
                                    �E`sha512R�A�}
��8��B3H���ad���m�=f�`� �{����  Q�p��.�(�#�f=�#�'N��/_`!D�+$Z&4��/CE�&ޘ

Datei wieder entschlüsseln

> mcrypt -d /tmp/test.nc 
Mantra eingeben: 
Datei /tmp/de.nc wurde entschlüsselt.

Probleme mit der Version v.2.5.8 auf FreeBSD 12.1:

> mcrypt -a serpent -m cbc -o mcrypt-sha1 -h sha512 /tmp/test
Bitte Mantra eingeben (Maximum 512 Zeichen)
Bitte benutzen Sie eine Kombination von Klein- und Grossbuchstaben, sowie Nummern.
Mantra eingeben:

Mantra eingeben:


Algorithm serpent is not available in OpenPGP encryption.
cast-128 will be used instead.
Datei /tmp/test wurde verschlüsselt.

Leider wurde die Datei nicht mit "serpent" verschlüsselt, sondern mit "cast-128".

Wenn ich aber "TwoFish" verwende ("TwoFish" gilt als fast so sicher wie "Serpent"), dann geht es auf FreeBSD 12.1 auch mit der Mcrypt-Version v.2.5.8:

> mcrypt -a twofish -m cbc -o mcrypt-sha1 -h sha512 /tmp/test
> mcrypt -b -r -z -a twofish -m cbc -o mcrypt-sha1 -h sha512 /tmp/test
> mcrypt -r -g -a twofish -o mcrypt-sha1 -h sha512 /tmp/test