Voici une liste non exhaustive des chiffrements de l'extension mcrypt. Pour disposer d'une liste complète des chiffrements supportés, voir les définitions dans le fichier mcrypt.h. La règle générale avec l'API mcrypt-2.2.x est qu'il est possible d'accéder au mode de chiffrement via PHP avec la constante MCRYPT_ciphername. Avec la bibliothèque libmcrypt-2.4.x et libmcrypt-2.5.x, ces constantes fonctionnent toujours, mais il est possible de spécifier le nom du chiffrement dans une chaîne, lors de l'appel à mcrypt_module_open().
MCRYPT_3DES
MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x uniquement)
MCRYPT_ARCFOUR (libmcrypt > 2.4.x uniquement)
MCRYPT_BLOWFISH
MCRYPT_CAST_128
MCRYPT_CAST_256
MCRYPT_CRYPT
MCRYPT_DES
MCRYPT_DES_COMPAT (libmcrypt 2.2.x uniquement)
MCRYPT_ENIGMA (libmcrypt > 2.4.x uniquement, alias de MCRYPT_CRYPT)
MCRYPT_GOST
MCRYPT_IDEA (non libre)
MCRYPT_LOKI97 (libmcrypt > 2.4.x uniquement)
MCRYPT_MARS (libmcrypt > 2.4.x uniquement, non libre)
MCRYPT_PANAMA (libmcrypt > 2.4.x uniquement)
MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x uniquement)
MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x uniquement)
MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x uniquement)
MCRYPT_RC2
MCRYPT_RC4 (libmcrypt 2.2.x uniquement)
MCRYPT_RC6 (libmcrypt > 2.4.x uniquement)
MCRYPT_RC6_128 (libmcrypt 2.2.x uniquement)
MCRYPT_RC6_192 (libmcrypt 2.2.x uniquement)
MCRYPT_RC6_256 (libmcrypt 2.2.x uniquement)
MCRYPT_SAFER64
MCRYPT_SAFER128
MCRYPT_SAFERPLUS (libmcrypt > 2.4.x uniquement)
MCRYPT_SERPENT(libmcrypt > 2.4.x uniquement)
MCRYPT_SERPENT_128 (libmcrypt 2.2.x uniquement)
MCRYPT_SERPENT_192 (libmcrypt 2.2.x uniquement)
MCRYPT_SERPENT_256 (libmcrypt 2.2.x uniquement)
MCRYPT_SKIPJACK (libmcrypt > 2.4.x uniquement)
MCRYPT_TEAN (libmcrypt 2.2.x uniquement)
MCRYPT_THREEWAY
MCRYPT_TRIPLEDES (libmcrypt > 2.4.x uniquement)
MCRYPT_TWOFISH (pour les anciennes versions de mcrypt 2.x ou mcrypt > 2.4.x )
MCRYPT_TWOFISH128 (TWOFISHxxx est disponible dans les nouvelles versions 2.x, mais pas dans les versions 2.4.x)
MCRYPT_TWOFISH192
MCRYPT_TWOFISH256
MCRYPT_WAKE (libmcrypt > 2.4.x uniquement)
MCRYPT_XTEA (libmcrypt > 2.4.x uniquement)
Il faut (mode CFB et OFB)
ou il est possible de (mode CBC) fournir un vecteur d'initialisation
(IV) pour ces modes de chiffrement. IV doit être unique, et avoir la même
valeur au chiffrement et au déchiffrement. Pour des données qui seront
enregistrées après chiffrement, il est possible de prendre le résultat d'une
fonction telle que MD5, appliquée sur le nom du fichier. Sinon, l'on
peut envoyer le IV avec les données chiffrées, (se reporter au chapitre
9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9) de Schneier (ISBN 0-471-11709-9)
pour plus de détails sur le sujet).