Набор от пачове за ускоряване на шифроването/дешифрирането AES-GCM

Набор от пачове за ускоряване на шифроването/дешифрирането AES-GCM

На 2 юни Ерик Бигерс (инженер от Google) представи нови реализации на AES-XTS за значително повишаване на производителността на процесорите Intel/AMD с новите набори кодове AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 и VAES + AVX10/512.

Кодът AES-NI GCM заменя предишния, написан от Intel, и отстранява съществуващите идентифицирани проблеми:

„Този набор от обновления добавя в VAES и AVX512/AVX10 реализация на AES-GCM (режим Galois/Counter), което повишава производителността на AES-GCM до 162%. Освен това, заменя стария код AES-NI GCM от Intel с нов код, който е малко по-бърз и поправя редица проблеми, включително огромния размер на двоичния файл над 250 КБ. Подробности вижте в корекциите.

Крайната форма на асемблерния код x86_64 AES-GCM е, че получаваме два асемблерни файла: един генерира код AES-NI с AVX или без него, а друг генерира код VAES с AVX512/AVX10 с 256-битови или 512-битови вектори. В него няма поддръжка на единичен VAES (без AVX512/AVX10). Това е малко по-различно от това, което направих с AES-XTS, където един файл генерира код AVX и AVX512/AVX10, включително код, който използва само VAES (без AVX512/AVX10), а друг файл генерира само код, различен от AVX. Въпреки това, за момента, това изглежда правилен избор за всеки конкретен алгоритъм, като се има предвид, че ограничението до 16 SIMD регистри и 128-битови вектори е довело до някои съществени различия в конструктивните решения в AES-GCM, но не и толкова в AES-XTS. Процесорите, предлагани само с VAES, също изглеждат като временно явление, така че вероятно не трябва да се стремим прекалено много да поддържаме тази комбинация.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster