Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.
Mcrypt puede operar en cuatro modos de cifrado de bloques (CBC
,
OFB
, CFB
, y
ECB
). Si está enlazado con libmcrypt-2.4.x o superiores
las funciones también pueden operar en el modo de cifrado por bloques
nOFB
y en modo STREAM
. Abajo se enumeran
todos los modos de cifrado soportados junto con las constantes que están definidas para
el modo de cifrado. Para una referencia más completa y discusión, véase
Applied Cryptography by Schneier (ISBN 0-471-11709-9).
MCRYPT_MODE_ECB
(electronic
codebook
) es útil para datos aleatorios,
tal como para encriptar otras claves. Dado que los datos son cortos
y aleatorios, las desventajas de ECB tienen un efecto negativo favorable.
MCRYPT_MODE_CBC
(cipher block
chaining
) es especialmente útil para cifrar archivos
donde la seguridad se incrementa significativamente sobre la de
ECB
.
MCRYPT_MODE_CFB
(cipher
feedback
) es el mejor modo de cifrado para
secuencias de bytes donde cada byte debe ser encriptado.
MCRYPT_MODE_OFB
(output feedback, en
8 bits
) es comparable a CFB
, pero
puede ser utilizado en aplicaciones donde la propagación de errores
no puede ser tolerada. No es segura (debido a que opera en modo
8 bits) por lo que no es recomendado su uso.
MCRYPT_MODE_NOFB
(output feedback,
en nbit
) es comparable a OFB, pero es
más seguro porque opera en el tamaño de bloque del algoritmo.
MCRYPT_MODE_STREAM
es un modo extra para incluir
algunos algoritmos de flujo tales como "WAKE"
o "RC4"
.
Algunos otros modos y constantes de dispositivos aleatorios:
MCRYPT_ENCRYPT
(integer)
MCRYPT_DECRYPT
(integer)
MCRYPT_DEV_RANDOM
(integer)
MCRYPT_DEV_URANDOM
(integer)
MCRYPT_RAND
(integer)