Макрипт очень сбивает с толку

Я искал двоякое шифрование, затем я нашел mcrypt, и они сказали, что я должен использовать шифр: MCRYPT_TWOFISH256 (потому что я хочу 256-битный размер ключа), но он не работал, и я проверил свою версию и версию, чтобы использовать MCRYPT_TWOFISH256.

Это сбило меня с толку: в документальном фильме mcrypt сказано, что мне нужна была также более старая версия, используйте MCRYPT_TWOFISHxxx, а более новая версия использовала только MCRYPT_TWOFISH и никаких чисел после нее, что говорит о размере ключа, поэтому мой вопрос:

Насколько велик размер ключа для шифра: MCRYPT_TWOFISH. Потому что в конце не должно быть никаких чисел, указывающих размер ключа. Пример: MCRYPT_SERPENT_256

1 ответ

Решение

Для MCRYPT_TWOFISH размер ключа составляет 256 бит.

От http://php.net/manual/en/mcrypt.ciphers.php:

Константа MCRYPT_TWOFISH, определенная версией mcrypt 2.4.x и выше, является 256-битной версией Twofish; он использует 1-32-байтовый ключ, 16-байтовый IV и выводит 16-байтовые блоки в режиме CBC.

Беглый взгляд через исходный код PHP и mcrypt, кажется, подтверждает это утверждение. В частности, http://mcrypt.cvs.sourceforge.net/viewvc/mcrypt/libmcrypt-nm/lib/mcrypt_extra.c?view=markup#l60, который содержит MCRYPT_ENTRY(MCRYPT_TWOFISH, 16, 32, 1) где 32 - размер ключа в байтах.

Другие вопросы по тегам