Подтвердить что ты не робот

Скорость различных алгоритмов 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 и режим вы используете, и почему? Я знаю, что это зависит от ситуации, уровня безопасности и т.д., Но приведите несколько примеров.

4b9b3361

Ответ 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.