Следующие константы определяются модулем и доступны, только если модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.
Mcrypt может работать в четырёх режимах блочного
шифрования (CBC,
OFB, CFB и
ECB). Если слинковано с libmcrypt-2.4.x
или выше, функции также могут работать в режимах
nOFB и STREAM.
Ниже вы найдёте список всех поддерживаемых режимов
шифрования вместе с константами, которые определены
для них. Более подробно читайте
Applied Cryptography by Schneier (ISBN 0-471-11709-9).
MCRYPT_MODE_ECB (electronic
codebook) - это режим блочного шифрования,
который в целом непригоден для большинства задач.
Использование этого режима не рекомендовано.
MCRYPT_MODE_CBC (cipher block
chaining) - это режим блочного шифрования,
который немногим лучше ECB.
MCRYPT_MODE_CFB (cipher
feedback, в 8-битном режиме) - это режим
потокового шифрования. Рекомендуется использовать
режим NCFB, а не CFB.
MCRYPT_MODE_OFB (output feedback, в 8-битном режиме) - это
режим потокового шифрования сравнимый с
CFB, но может использоваться в
приложениях, нетерпимых к распространению ошибок.
Рекомендуется использовать режим
NOFB вместо OFB.
MCRYPT_MODE_NOFB (output feedback,
в N-битном режиме) - сравним с режимом
OFB, но оперирует полным размером
блока алгоритма.
MCRYPT_MODE_STREAM - это
дополнительный режим для подключения некоторых
потоковых алгоритмов, таких как
"WAKE" или "RC4".
Mcrypt поддерживает некоторые другие режимы работы для которых нет предопределённых констант. Их можно задавать с помощью строки вместо константы.
"ctr" (counter mode) - режим потокового шифрования.
"ncfb" (cipher feedback,
в N-битном режиме) - сравним с режимом
CFB, но оперирует полным размером
блока алгоритма.
Некоторые другие режимы и константы генераторов случайных чисел: