Модуль определяет следующие константы и открывает доступ к ним только тогда, когда модуль либо собрали в 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
, но оперирует полным размером
блока алгоритма.
Некоторые другие режимы и константы генераторов случайных чисел: