Pacchetto di patch per accelerare la crittografia/decrittografia AES-GCM

Pacchetto di patch per accelerare la crittografia/decrittografia AES-GCM

Il 2 giugno, Eric Biggers (ingegnere di Google) ha presentato nuove implementazioni di AES-XTS per prestazioni notevolmente superiori sui processori Intel/AMD grazie ai nuovi set di istruzioni AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 e VAES + AVX10/512.

Il codice AES-NI GCM sostituisce il precedente, scritto da Intel, e risolve vari problemi noti:

«Questo aggiornamento aggiunge a VAES e AVX512/AVX10 l'implementazione di AES-GCM (modalità Galois/Counter), che aumenta le prestazioni di AES-GCM fino al 162%. Inoltre, sostituisce il vecchio codice AES-NI GCM di Intel con un nuovo codice che è leggermente più veloce e risolve diversi problemi, compreso l'enorme dimensione del file binario, che supera i 250 KB. Maggiori dettagli sono disponibili nelle note di rilascio.»

Lo stato finale del codice assembler x86_64 AES-GCM è che otteniamo due file assembler: uno genera codice AES-NI con o senza AVX, e l'altro genera codice VAES con AVX512/AVX10 con vettori di 256 bit o 512 bit. Non supporta l'uso singolo di VAES (senza AVX512/AVX10). Questo è un po' diverso da quanto ho fatto con AES-XTS, dove un file genera codice AVX e AVX512/AVX10, compreso il codice che usa solo VAES (senza AVX512/AVX10), e l'altro file genera solo codice diverso dall'AVX. Tuttavia, al momento sembra essere la scelta giusta per ogni singolo algoritmo, considerando che la restrizione a 16 registri SIMD e vettori da 128 bit ha portato a decisioni progettuali significativamente diverse in AES-GCM, ma non tanto in AES-XTS. I processori forniti solo con VAES sembrano anche essere un fenomeno temporaneo, quindi potrebbe non essere opportuno cercare troppo di supportare questa combinazione.»

Fonte: linux.org.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster