Используйте openssl_encrypt для замены Mcrypt для шифрования 3DES-ECB

У меня есть метод шифрования с mycrypt и шифр 3des, Режим ecb:

mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' )

Теперь я хочу зашифровать его, используя openssl_encryptи не нашел des3-ecb в openssl_get_cipher_methods() список.

2

Решение

теперь я хочу зашифровать его использовать openssl_encryptи не нашел des3-ecb в openssl_get_cipher_methods() список.

Это des-ede3, Симметричное шифрование с блочным шифром требует какого-то режим работы. Если вы посмотрите список, вы увидите что-то вроде des-ede3, des-ede3-cbc, des-ede3-cfb а также des-ede3-ofb, CBC, CFB и OFB имеют все имена, и безымянный шифр должен быть единственным другим распространенным режимом работы: ECB.


Никогда не используйте Режим ЕЦБ. Это детерминированный и, следовательно, не семантически безопасный. Вы должны по крайней мере использовать случайный режим, как CBC или же CTR. Лучше аутентифицировать ваши шифротексты так, чтобы атаки набивка оракула не возможно. Это можно сделать с помощью аутентифицированных режимов, таких как GCM или EAX, или с шифровать-то-MAC схема.

Не используйте Triple DES в настоящее время. Он обеспечивает в лучшем случае только 112-битную защиту, даже если вы используете самый большой размер ключа 192-битный. Если используется более короткий размер ключа, он обеспечивает только 56 или 57 бит безопасности. AES будет быстрее (процессоры имеют специальный набор команд AES-NI) и будет еще более безопасным с минимальным размером ключа 128 бит. Существует также практическое ограничение на максимальный размер зашифрованного текста в 3DES. Увидеть Сравнение безопасности 3DES и AES.

5

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector