====== Mcrypt ====== ''Mcrypt'' ist ein Ersatz für das beliebte Unix-''Crypt''-Kommando. Es bedient sich ''OpenPGP'' im Hintergrund. Alternativen zu ''Mcrypt'': * [[https://en.wikipedia.org/wiki/Bcrypt|Bcrypt]]: leider kann es nur die [[verschluesselungsarten#Blowfish]]-Verschlüsselung * Neben der Verwendung von "Salz" zum Schutz vor Regenbogentischangriffen ist ''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. * [[http://bcrypt.sourceforge.net/]] * [[https://en.wikipedia.org/wiki/Ccrypt|Ccrypt]]: leider kann ''Ccrypt'' nur die Rijndael-Verschlüsselung (wie auch [[verschluesselungsarten#AES]]) * [[https://en.wikipedia.org/wiki/Mcrypt|Mcrypt]]: leider werden schon seit längerem keine wichtigen Patches eingespielt * ''Mcrypt'' kann aber eine Vielzahl an verschiedenen Verschlüsselungs-Algorithmen, u.a. auch die sehr sicheren Algorithmen __[[verschluesselungsarten#Serpent]]__ und __[[verschluesselungsarten#TwoFish]]__ * [[https://de.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology|NIST]] hat Serpent im Jahre 2000 als **hoch-sicher** eingestuft, Serpent wurde bezüglich seiner Sicherheit **nicht** kritisiert * [[https://de.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology|NIST]] hat TwoFish im Jahre 2000 als **hoch-sicher** eingestuft, TwoFish wurde bezüglich seiner Sicherheit kritisiert * [[https://sourceforge.net/projects/mcrypt/files/latest/download]] - Windows 32 bit / BSD / 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