Mcrypt ist ein Ersatz für das beliebte Unix-Crypt-Kommando. Es bedient sich OpenPGP im Hintergrund.
Alternativen zu Mcrypt:
Bcrypt eine adaptive Funktion: Mit der Zeit kann die Anzahl der Iterationen erhöht werden, um sie langsamer zu machen, sodass sie auch bei zunehmender Rechenleistung resistent gegen Brute-Force-Suchangriffe bleibt. Die Bcrypt-Funktion ist der Standard-Passwort-Hash-Algorithmus für OpenBSD und anderen Systemen, einschließlich einiger Linux-Distributionen wie z.B. SUSE Linux.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