Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Mcrypt peut opérer en 4 modes de chiffrement (CBC,
OFB, CFB, et ECB).
Si lié contre libmcrypt-2.4.x ou ultérieur, les fonctions peuvent
aussi opérer en mode nOFB et en mode STREAM.
Ci-dessous se trouve une liste avec tous les modes de chiffrement supportés avec
les constantes qui sont définies pour le mode de chiffrement. Pour une référence
plus complète et des discussions voir Applied Cryptography by Schneier (ISBN 0-471-11709-9).
MCRYPT_MODE_ECB (electronic codebook)
est un mode de chiffrement par bloc qui est généralement inapproprié à la plupart
des utilisations. L'utilisation de ce mode est déconseillée.
MCRYPT_MODE_CBC (cipher block chaining)
est un mode de chiffrement par bloc qui est considérablement plus sécurisé que
le mode ECB.
MCRYPT_MODE_CFB (cipher feedback,
in 8-bit mode) est un mode de chiffrement par flot.
Il est conseillé d'utiliser le mode NCFB plutôt
que le mode CFB.
MCRYPT_MODE_OFB (output feedback, in
8bit) est un mode de chiffrement par flot comparable à
CFB, mais peut être utilisé dans des applications où la
propagation d'erreur ne peut être tolérée.
Il est conseillé d'utiliser le mode NOFB plutôt
que le mode OFB.
MCRYPT_MODE_NOFB (output feedback,
in n-bit mode) est comparable au mode OFB,
mais opère sur la taille de bloc complète de l'algorithme.
MCRYPT_MODE_STREAM est un mode supplémentaire, pour inclure
des algorithmes de flot tels que "WAKE" ou "RC4".
Mcrypt supporte d'autres modes d'opération pour lesquels il n'y a pas de constantes prédéfinies. Ils peuvent être utilisés en passant une chaîne de caractères à la place des constantes manquantes.
"ctr" (counter mode) est un mode de chiffrement par flot.
"ncfb" (cipher feedback,
in n-bit mode) est comparable au mode CFB,
mais opère sur la taille de bloc complète de l'algorithme.
Voici quelques autres constantes de modes et de périphériques aléatoires :