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 vous utilisez libmcrypt-2.4.x ou plus récent, les fonctions peuvent aussi opérer en mode nOFB et en mode STREAM. Nous allons présenter la technique d'utilisation de ces modes. Pour plus de références et de détails, reportez-vous au livre suivant : Applied Cryptography by Schneier (ISBN 0-471-11709-9).
MCRYPT_MODE_ECB
(electronic codebook) est prévu pour
des données aléatoires, telles que des clés. Comme
les données sont peu nombreuses et aléatoires,
les inconvénients de l'ECB ont ici un effet négatif favorable.
MCRYPT_MODE_CBC
(cipher block chaining) est
particulièrement pratique avec les
fichiers dont la sécurité ECB n'est pas suffisante.
MCRYPT_MODE_CFB
(cipher feedback) est la meilleure méthode pour chiffrer des
flots d'octets, quand les octets doivent être chiffrés
un par un.
MCRYPT_MODE_OFB
(output feedback, in 8bit) est comparable à CFB, mais peut être
utilisé lorsque des erreurs ne doivent pas être propagées.
MCRYPT_MODE_NOFB
(output feedback, in nbit) est comparable à OFB, mais
plus sûr, car il opère avec la taille de blocs de l'algorithme.
MCRYPT_MODE_STREAM
est un mode supplémentaire, pour permettre l'utilisation
d'algorithmes tels "WAKE" ou "RC4".
Voici quelques autres modes et méthodes de compression :