Hier ist eine Liste der Chiffren, die aktuell von der mcrypt-Erweiterung unterstützt werden. Für eine komplette Liste der unterstützten Chiffren siehe die Definitionen am Ende der Datei mcrypt.h. Im allgemeinen gilt für die mcrypt-2.2.x API, dass auf die Chiffre mit MCRYPT_[chiffrename] zugegriffen werden kann. Diese Konstanten funktionieren ebenfalls mit der libmcrypt-2.4.x und libmcrypt-2.5.x API, jedoch ist es möglich, den Namen der Chiffre als String mit einem Aufruf der Funktion mcrypt_module_open() anzugeben.
MCRYPT_3DES
MCRYPT_ARCFOUR_IV (nur libmcrypt > 2.4.x)
MCRYPT_ARCFOUR (nur libmcrypt > 2.4.x)
MCRYPT_BLOWFISH
MCRYPT_CAST_128
MCRYPT_CAST_256
MCRYPT_CRYPT
MCRYPT_DES
MCRYPT_DES_COMPAT (nur libmcrypt 2.2.x)
MCRYPT_ENIGMA (nur libmcrypt > 2.4.x, Aliase für MCRYPT_CRYPT)
MCRYPT_GOST
MCRYPT_IDEA (nicht frei)
MCRYPT_LOKI97 (nur libmcrypt > 2.4.x)
MCRYPT_MARS (nur libmcrypt > 2.4.x, nicht frei)
MCRYPT_PANAMA (nur libmcrypt > 2.4.x)
MCRYPT_RIJNDAEL_128 (nur libmcrypt > 2.4.x)
MCRYPT_RIJNDAEL_192 (nur libmcrypt > 2.4.x)
MCRYPT_RIJNDAEL_256 (nur libmcrypt > 2.4.x)
MCRYPT_RC2
MCRYPT_RC4 (nur libmcrypt 2.2.x)
MCRYPT_RC6 (nur libmcrypt > 2.4.x)
MCRYPT_RC6_128 (nur libmcrypt 2.2.x)
MCRYPT_RC6_192 (nur libmcrypt 2.2.x)
MCRYPT_RC6_256 (nur libmcrypt 2.2.x)
MCRYPT_SAFER64
MCRYPT_SAFER128
MCRYPT_SAFERPLUS (nur libmcrypt > 2.4.x)
MCRYPT_SERPENT(nur libmcrypt > 2.4.x)
MCRYPT_SERPENT_128 (nur libmcrypt 2.2.x)
MCRYPT_SERPENT_192 (nur libmcrypt 2.2.x)
MCRYPT_SERPENT_256 (nur libmcrypt 2.2.x)
MCRYPT_SKIPJACK (nur libmcrypt > 2.4.x)
MCRYPT_TEAN (nur libmcrypt 2.2.x)
MCRYPT_THREEWAY
MCRYPT_TRIPLEDES (nur libmcrypt > 2.4.x)
MCRYPT_TWOFISH (für ältere mcrypt 2.x Versionen, oder mcrypt > 2.4.x )
MCRYPT_TWOFISH128 (TWOFISHxxx sind verfügbar in neueren 2.x Versionen, aber nicht in den 2.4.x Versionen)
MCRYPT_TWOFISH192
MCRYPT_TWOFISH256
MCRYPT_WAKE (nur libmcrypt > 2.4.x)
MCRYPT_XTEA (nur libmcrypt > 2.4.x)
Sie müssen (im CFB und OFB Modus)
oder können (im CBC Modus) die jeweiligen Chiffrierfunktionen mit einem
Initialierungs-Vektor versorgen (initialization vector, IV). Der IV muss einmalig und
sowohl für die Verschlüsselung als auch für die Entschlüsselung gleich sein.
Bei Daten, die verschlüsselt gespeichert werden, können Sie die Ausgabe einer
Funktion des Indexes verwenden, unter welcher die Daten gespeichert werden (z. B. der MD5-Hash des Dateinamens).
Alternativ können die den IV zusammen mit den verschlüsselten Daten übermitteln
(siehe Kapitel 9.3 aus Applied Cryptography by Schneier (ISBN 0-471-11709-9) für eine Diskussion zu diesem Thema).