
Eric Biggers (inžinier v spoločnosti Google) predstavil 2. júna nové implementácie AES-XTS pre oveľa vyšší výkon na procesoroch Intel/AMD pomocou nových kódových sád AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 a VAES + AVX10/512 .
Kód AES-NI GCM nahrádza predchádzajúci kód napísaný spoločnosťou Intel a rieši existujúce identifikované problémy:
„Táto súprava aktualizácií pridáva implementáciu AES-GCM (režim Galois/Counter) do VAES a AVX512/AVX10, čím zvyšuje výkon AES-GCM až o 162 %. Okrem toho nahrádza starý kód AES-NI GCM spoločnosti Intel novším kódom. kód, ktorý je o niečo rýchlejší a opravuje množstvo problémov vrátane obrovskej veľkosti binárneho súboru nad 250 kB. Podrobnosti nájdete v záplatách.
Konečným stavom kódu zostavy x86_64 AES-GCM je, že máme dva súbory zostavy: jeden generuje kód AES-NI s alebo bez AVX a druhý generuje kód VAES s AVX512/AVX10 s 256-bitovým alebo 512-bitovým vektory. Chýba mu podpora pre jeden VAES (bez AVX512/AVX10). Je to trochu iné ako to, čo som urobil s AES-XTS, kde jeden súbor generuje kód AVX a AVX512/AVX10 vrátane kódu iba pomocou VAES (nie AVX512/AVX10) a druhý súbor generuje iba kód, ktorý nie je AVX. V súčasnosti sa však zdá, že je to správna voľba pre každý špecifický algoritmus, vzhľadom na to, že obmedzenie na 16 registrov SIMD a 128-bitové vektory viedlo k niektorým výrazne odlišným návrhovým rozhodnutiam v AES-GCM, ale nie až tak v prípade AES-XTC. . Procesory dodávané iba s VAES sa tiež zdajú byť dočasným javom, takže sa možno nebudeme chcieť príliš snažiť podporovať túto kombináciu.“
Zdroj: linux.org.ru
