
2. lipnja Eric Biggers (inženjer iz Googlea) predstavio je nove implementacije AES-XTS za znatno veću izvedbu procesora Intel/AMD uz nove skupove kodova AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 i VAES + AVX10/512.
AES-NI GCM kod zamjenjuje prethodni kod koji je napisao Intel i rješava postojeće identificirane probleme:
„Ova skupina ažuriranja dodaje VAES i AVX512/AVX10 implementaciju AES-GCM (Galois/Counter način), što povećava izvedbu AES-GCM do 162%. Također zamjenjuje stari AES-NI GCM kod od Intela novim kodom koji je malo brži i rješava niz problema, uključujući ogroman broj binarnih datoteka koji premašuje 250 KB. Detalje pogledajte u ispravcima.“
Konačno stanje asemberskog koda x86_64 AES-GCM je da dobivamo dvije asemberske datoteke: jedna generira AES-NI kod s AVX ili bez njega, a druga generira VAES kod s AVX512/AVX10 s 256-bitnim ili 512-bitnim vektorima. Ne podržava samotni VAES (bez AVX512/AVX10). To se malo razlikuje od onoga što sam učinio s AES-XTS, gdje jedna datoteka generira AVX i AVX512/AVX10 kod, uključujući kod koji koristi samo VAES (bez AVX512/AVX10), dok druga datoteka generira samo kod koji nije AVX. Međutim, trenutno se ovo čini pravim izborom za svaki pojedinačni algoritam, s obzirom na to da je ograničenje od 16 SIMD registra i 128-bitnih vektora dovelo do nekih značajno različitih konstruktivnih rješenja u AES-GCM-u, ali ne u tolikoj mjeri za AES-XTS. Procesori koji dolaze samo s VAES također se čine prolaznim fenomenom, pa možda ne bismo trebali previše težiti podržavanju te kombinacije.”
Izvor: linux.org.ru
