Как узнать поддерживаемые режимы для данного шифра в mcrypt? - PullRequest
0 голосов
/ 25 ноября 2011

PHP имеет функции:

Можно ли предположить, что все другие шифры, реализованные в mcrypt, поддерживают режимы блочного шифрования CBC, OFB, NOFB, CFB и ECB?

Теоретически они должны. Мне интересно, так ли это на практике.

Спасибо!

1 Ответ

1 голос
/ 25 ноября 2011

На странице введения библиотеки в документации PHP написано:

Это интерфейс к библиотеке mcrypt, который поддерживает широкий спектр блочных алгоритмов, таких как DES, TripleDES, Blowfish (по умолчанию), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 и ГОСТ в режимах шифрования CBC, OFB, CFB и ECB.

Это похоже на библиотекупредназначен для поддержки различных режимов работы, ортогональных выбору блочного шифра, что в целом кажется хорошей идеей.Кроме того, как вы уже узнали, есть две функции mcrypt_list_algorithms и mcrypt_list_modes для доступа к ним независимо

С другой стороны, домашняя страница базовой библиотеки libmcrypt говорит:

Следует помнить, что не все режимы будут работать со всеми блочными шифрами, либо из-за ограничений реализации, либо из-за конструктивных ограничений.

Нет указания, какой режим будет илихотя с каким шифром работать не получится - может быть, это может зависеть от размера блока?

Похоже, подробные ответы можно найти только в источниках libmcrypt или оболочки PHP.

...