
A Linux 6.19-es kernelben jelentős kripto-teljesítmény-javítás érkezik az AES-GCM (Galois/Counter Mode) blokkrejtjelezési algoritmushoz, amely akár 74 %-os gyorsulást is eredményezhet AMD Zen 3 processzorokon. A fejlesztést a Google mérnöke, Eric Biggers készítette, aki az utóbbi években számos, a Linux kernel kriptográfiai alrendszerét érintő optimalizálásért volt felelős.
Gyorsabb titkosítás TLS, IPsec, WPA3 és SSH kapcsolat esetén
Az AES-GCM széles körben használt titkosítási mód a TLS, IPsec, Wi-Fi WPA3, HTTP/3 és SSH protokollokban is. Az új kód különösen azokra a processzorokra fókuszál, amelyek támogatják az AVX2 és VAES utasításkészleteket, de nem rendelkeznek AVX-512 támogatással – ilyenek többek között az AMD Zen 3 architektúrára épülő CPU-k, mint a Ryzen 5000 vagy a EPYC Milan sorozat.
Az új optimalizált kódszál (code path) kifejezetten ezekre a processzorokra készült, és a tesztek szerint az AES-GCM titkosítás sebessége akár 74 %-kal is nőhet, ami érezhető gyorsulást jelent a hálózati titkosított kommunikáció és a rendszerbiztonsági folyamatok során.
Eric Biggers magyarázata
A fejlesztő így foglalta össze a változtatások lényegét a beküldött javítási sorozatban:
„Ez a patchkészlet lecseréli az AES-GCM 256 bites vektoralapú megvalósítását az x86_64 platformon egy olyan verzióra, amely AVX2-t használ AVX-512 helyett. Ez jelentősen javítja az AES-GCM teljesítményét azokon a CPU-kon, amelyek rendelkeznek VAES, de nem AVX-512 támogatással – például akár 74 %-kal az AMD Zen 3 esetében.
Emellett az 512 bites vektoralapú AES-GCM megvalósítást mostantól AVX-512 név alatt tartjuk nyilván, és további optimalizálásokat is kapott.”
A fejlesztés a Linux 6.19-be kerül
A kód már bekerült Eric Biggers „libcrypto-next” fejlesztői ágába, és várhatóan a Linux 6.19-es verzióban fog megjelenni, amely 2025 elején válik elérhetővé. A korai benchmarkok az AMD EPYC Milan és más Zen 3 alapú processzorokon már most figyelemreméltó gyorsulást mutatnak.
AES-256-GCM encryption throughput change, CPU vs. message length in bytes: | 16384 | 4096 | 4095 | 1420 | 512 | 500 | ----------------------+-------+-------+-------+-------+-------+-------+ AMD Milan (Zen 3) | 67% | 59% | 61% | 39% | 23% | 27% | | 300 | 200 | 64 | 63 | 16 | ----------------------+-------+-------+-------+-------+-------+ AMD Milan (Zen 3) | 14% | 12% | 7% | 7% | 0% | AES-256-GCM decryption throughput change, CPU vs. message length in bytes: | 16384 | 4096 | 4095 | 1420 | 512 | 500 | ----------------------+-------+-------+-------+-------+-------+-------+ AMD Milan (Zen 3) | 74% | 65% | 65% | 44% | 23% | 26% | | 300 | 200 | 64 | 63 | 16 | ----------------------+-------+-------+-------+-------+-------+ AMD Milan (Zen 3) | 12% | 11% | 3% | 2% | -3% |
Mit jelent ez a gyakorlatban?
A felhasználók számára ez a fejlesztés gyorsabb titkosított hálózati adatátvitelt, hatékonyabb VPN-kapcsolatokat és alacsonyabb CPU-terhelést hoz majd, különösen a szerverek és virtualizált környezetek esetében, ahol az AES-GCM széles körben használt biztonsági protokoll.
