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
(int)
MCRYPT_DECRYPT
(int)
MCRYPT_DEV_RANDOM
(int)
MCRYPT_DEV_URANDOM
(int)
MCRYPT_RAND
(int)