Скорость различных алгоритмов PHP mcrypt
Ребята. Сегодня я тестировал алгоритмы php mcrypt.
Я запускаю тест, чтобы проверить скорость различных mcrypt algos.
Проверенные алгоритмы: 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 2560,28649806976318
DES+0,45267295837402
ГОСТ+0,19383502006531
LOKI970.27537798881531
RC20,44201898574829
RIJNDAEL 1280,2560601234436
RIJNDAEL 1920,33414602279663
RIJNDAEL 2560,42553782463074
SAFERPLUS0,32848501205444
ЗМЕЯ0,391037940979
TripleDES0.65123796463013
Twofish0,27349305152893
XTEA+0,37829685211182
Конечно, это время процесса не самое главное, когда мы говорим о безопасности. Я просто хочу поделиться своими результатами.
Какой mcrypt algo и режим вы используете, и почему?
Я знаю, что это зависит от ситуации, уровня безопасности и т.д., Но приведите несколько примеров.
Ответы
Ответ 1
Я использую AES 256 (MCRYPT_RIJNDAEL_256
), почему? Из-за слаженности алгоритма и широкого использования. Я также шифрую с использованием режима CBC
, я не понимаю точно, почему, но из того, что я читал из разных источников, он намного надежнее (как в безопасности), чем ECB.
Кроме того, имейте в виду, что , когда вы имеете дело с хешированием и/или скоростью шифрования, не является вашим другом (причина в том, что это просто: , если это быстро, быстрее трещины).
Ответ 2
Вот полный тестовый тест для сравнения скорости для 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.