Скорость различных алгоритмов PHP mcrypt - PullRequest
12 голосов
/ 30 апреля 2011

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

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

Протестированные алгоритмы: Cast-128,Gost, Rijndael-128, Twofish, Cast-256, Loki97, Rijndael-192, Saferplus, Blowfish-compat, Des, Rijndael-256, Serpent, Xtea, Blowfish, Rc2, Tripledes .

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

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

BLOWFISH 0.5217170715332

BLOWFISH COMPAT 0.46304702758789

CAST 128 0.19502091407776

CAST 256 0.28649806976318

DES 0.45267295837402

ГОСТ 0.19383502006531

LOKI97 0.27537798881531

RC2 0.44201898574829

RIJNDAEL 128 0.25606012344

RIJNDAEL 192 0.33414602279663

RIJNDAEL 256 0.42553782463074

SAFERPLUS 0.32848501205444

* 1065SERPENT
0,391037940979

TRIPLEDES 0,65123796463013

TWOFISH 0,27349305152893

XTEA 0,378296811

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

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

Ответы [ 2 ]

3 голосов
/ 03 июля 2014

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

mcrypt vs. openSSL benchmark

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

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

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

1 голос
/ 30 апреля 2011

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

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

...