
Më 2 qershor, Erik Biggers (inxhinier nga Google) prezantoi implementime të reja AES-XTS për një performancë shumë më të lartë të procesorëve Intel/AMD duke përdorur setet e reja të kodit AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 dhe VAES + AVX10/512.
Kodi AES-NI GCM zëvendëson atë të mëparshmin, të shkruar nga Intel, dhe eliminon problemet ekzistuese të identifikuara:
«Ky set përditësimesh shton në VAES dhe AVX512/AVX10 implementimin AES-GCM (modaliteti Galois/Counter), duke rritur performancën e AES-GCM deri në 162%. Për më tepër, zëvendëson kodin e vjetër AES-NI GCM nga Intel me kodin e ri, i cili është pak më i shpejtë dhe zgjidh një sërë problemesh, përfshirë madhësinë e madhe të skedarit binar, që tejkalon 250 KB. Detajet mund të shihen në korrigjimet.
Shtimi përfundimtar i kodit assembler x86_64 AES-GCM është se ne marrim dy skedare assembleri: një gjeneron kodin AES-NI me AVX ose pa të, ndërsa tjetri gjeneron kodin VAES me AVX512/AVX10 me vektorë 256-bit ose 512-bit. Ai nuk përfshin mbështetje për VAES të vetme (pa AVX512/AVX10). Kjo paksa ndryshon nga ajo që bëra me AES-XTS, ku një skedar gjeneron kod me AVX dhe AVX512/AVX10, duke përfshirë kodin që përdor vetëm VAES (pa AVX512/AVX10), ndërsa skedari tjetër gjeneron vetëm kodin që është ndryshe nga AVX. Megjithatë, deri tani, kjo duket si zgjedhja e duhur për çdo algoritëm specifik, duke marrë parasysh se kufizimi në 16 regjistrat SIMD dhe vektorët 128-bit ka çuar në disa zgjidhje konstruktive ndjeshëm të ndryshme në AES-GCM, por jo aq shumë për AES-XTS. Procesorët që dërgohen vetëm me VAES gjithashtu duken si një fenomen kalimtar, prandaj ndoshta nuk duhet të përpiqemi shumë të mbështesim këtë kombinim.
Burimi: linux.org.ru
