Constantes pré-définies

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 ce trouve une liste avec tous les modes de chiffrements supporté avec les constantes qui sont définit pour le mode de chiffrement. Pour une référence plus complète et des discussion 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 innaproprié à la plupart des utilisations. L'utilisation de ce mode est déconseillé.
  • MCRYPT_MODE_CBC (cipher block chaining) est un mode de chiffrement par bloc qui est considérablement plus sécurisé que me 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 algorithme de flot tels que "WAKE" ou "RC4".

Mcrypt supporte d'autres mode d'opération pour lesquelles il n'y a pas de constantes prédéfinies. Ils peuvent être utilisé 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 modes et méthodes de compression :

MCRYPT_ENCRYPT (entier)
MCRYPT_DECRYPT (entier)
MCRYPT_DEV_RANDOM (entier)
MCRYPT_DEV_URANDOM (entier)
MCRYPT_RAND (entier)