# 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 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 :

`MCRYPT_ENCRYPT` (int)
`MCRYPT_DECRYPT` (int)
`MCRYPT_DEV_RANDOM` (int)
`MCRYPT_DEV_URANDOM` (int)
`MCRYPT_RAND` (int)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open