Carry-less Multiplication (CLMUL) è un'estensione del set di istruzioni x86 utilizzato dai microprocessori Intel e AMD, proposto da Intel nel marzo 2008[1] e reso disponibile nei processori Intel Westmere annunciati all'inizio del 2010.
Un uso di queste istruzioni è quello di migliorare la velocità delle applicazioni di cifratura a blocchi in modalità Galois/Counter, che dipende dalla moltiplicazione GF(2k) a campo finito, che può essere implementata in modo più efficiente[2] con le nuove istruzioni CLMUL rispetto al tradizionale set di istruzioni. Un'altra applicazione è il calcolo veloce dei valori CRC,[3] compresi quelli utilizzati per implementare l'algoritmo DEFLATE in zlib e pngcrush della finestra scorrevole LZ77.[4]
- ^ (EN) Intel AVX, su softwareprojects.intel.com, Intel. URL consultato il 18 ottobre 2018 (archiviato dall'url originale il 7 aprile 2008).
- ^ (EN) Shay Gueron, Intel® Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2.02, su software.intel.com, Intel, 13 aprile 2011. URL consultato il 18 ottobre 2018.
- ^ (EN) Vinodh Gopal, Erdinc Ozturk, Jim Guilford, Gil Wolrich, Wajdi Feghali, Martin Dixon e Deniz Karakoyunlu, Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction (PDF), su intel.com, Intel, dicembre 2009. URL consultato il 18 aprile 2018.
- ^ (EN) Vlad Krasnov, Fighting Cancer: The Unexpected Benefit Of Open Sourcing Our Code, in The Cloudflare Blog, 8 luglio 2018. URL consultato il 18 ottobre 2018.