Скорость различных алгоритмов PHP mcrypt


Привет, ребята. Сегодня я тестировал алгоритмы php mcrypt.

Я запускаю тест, чтобы проверить скорость различных алгоритмов mcrypt.

Проверенные алгоритмы: Литой-128, Гост, Рейндаэль-128, Двужильный, Литой-256, Локи97, Рейндаэль-192, Saferplus, Иглобрюх-компат, Des, Рейндаэль-256, Змея, Xtea, Иглобрюх, Rc2, Тройня.

Тест был запущен в режиме ECB (вы также можете использовать: CBC, CFB, CTR, ECB, NCFB, NOFB, OFB).

Я зашифровал простую строку: "Это испытание". Следующие результаты относятся к 1000 итерациям (результаты приведены в секунде).

ИГЛОБРЮХ 0.5217170715332

СРАВНЕНИЕ С ИГЛОБРЮХОМ 0.46304702758789

БРОСОК 128 0.19502091407776

ПРИВЕДЕНИЕ 256 0.28649806976318

DES 0.45267295837402

ГОСТ 0.19383502006531

ЛОКИ97 0.27537798881531

RC2 0.44201898574829

РЕЙНДАЭЛЬ 128 0.2560601234436

РЕЙНДАЭЛЬ 192 0.33414602279663

РЕЙНДАЭЛЬ 256 0.42553782463074

SAFERPLUS 0.32848501205444

ЗМЕЯ 0.391037940979

ТРОЙНЯШКИ 0.65123796463013

ДВУСТВОРЧАТАЯ РЫБА 0.27349305152893

XTEA 0.37829685211182

Конечно, этот процесс время - не самое главное, когда мы говорим о безопасности. Я просто хочу поделиться своими результатами.

Какой алгоритм и режим mcrypt вы используете и почему? Я знаю, что это зависит от ситуации, уровня безопасности и т.д. Но, пожалуйста, приведите несколько примеров.

Author: Tamás Pap, 2011-04-30

2 answers

Я использую AES 256 (MCRYPT_RIJNDAEL_256), почему? Из-за известности алгоритма и его широкого использования. Я также шифрую с помощью режима CBC, я не совсем понимаю причину, но из того, что я читал из разных источников, это намного надежнее (как в безопасном режиме), чем ЕЦБ.

Кроме того, имейте в виду, что когда вы имеете дело с хэшированием и/или скоростью шифрования, это не ваш друг (причина этого проста: если это быстро, то быстрее взломать).

 1
Author: Alix Axel, 2011-04-30 13:01:23

Вот полный тестовый тест для сравнения скорости для MCRYPT по сравнению с OpenSSL в PHP (симметричные шифры):

mcrypt vs. openSSL benchmark

Mcrypt - более старая, но лучше документированная и значительно более медленная библиотека, но очень последовательный вывод. OpenSSL новее, быстрее и менее документирован.

Если вы заботитесь о производительности в первую очередь, тогда используйте OpenSSL CFB/ECB 256-битный алгоритм.

Обратите внимание, что Intel Core i3/i5/i7 поддерживает Набор инструкций AES, который может значительно увеличить пропускную способность ввода-вывода с 11 МБ/с до 700 МБ/с на поток - см. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard.

 3
Author: lubosdz, 2014-07-03 14:32:16