PCLMULQDQ and CLMUL
També anomenat PCLMULQDQ, CLMUL
PCLMULQDQ realitza una multiplicació sense transport en operands de 64 bits seleccionats. CLMUL és un nom curt habitual per a aquesta operació, que és útil en aritmètica polinomial binària i algorismes d'autenticació.
El que cal saber
PCLMULQDQ realitza una multiplicació sense transport en operands de 64 bits seleccionats. CLMUL és un nom curt habitual per a aquesta operació, que és útil en aritmètica polinomial binària i algorismes d'autenticació.
Com funciona
La multiplicació sense transport combina patrons de bits desplaçats amb XOR en lloc dels transports d'enters ordinaris, produint un producte polinòmic de 128 bits a partir de dues entrades de 64 bits. Un valor immediat selecciona una paraula quàdruple de cada font de 128 bits. La reducció mòdul d'un polinomi escollit és un pas algorítmic separat.
On és útil
Una implementació d'AES-GCM pot utilitzar productes sense transport per accelerar GHASH. L'ordre correcte dels operands, la representació dels bytes i la reducció són essencials; la instrucció per si sola no implementa tota la funció d'autenticació. Altres sumes de verificació polinòmiques poden utilitzar tècniques relacionades amb els seus propis polinomis.
Com comprovar el suport i l'habilitació
El bit 1 de CPUID.01H:ECX enumera la instrucció heretada PCLMULQDQ. Comproveu el bit separat de multiplicació sense transport vectorial i les regles d'estat d'AVX/AVX-512 quan utilitzeu codificacions més amples. Confirmeu que l'alternativa de la biblioteca mantingui la mateixa aritmètica polinomial.
Utilitzeu una implementació criptogràfica mantinguda que gestioni la selecció de característiques, les condicions de fallada i l'algorisme complet. L'acceleració de maquinari proporciona primitives; la gestió de claus, l'autenticació, les regles de nonces i les opcions de protocol continuen sent responsabilitats del programari.
El que la característica no estableix
PCLMULQDQ no és una multiplicació d'enters normal, una instrucció d'encriptació AES ni un autenticador de missatges complet. Una etiqueta genèrica de CLMUL no estableix compatibilitat més àmplia amb VPCLMULQDQ. El temps i el rendiment depenen de la implementació.
Compatibilitat i rendiment a la pràctica
Un camp de característiques no és una certificació de producte ni una evidència que una aplicació en concret sigui segura. El rendiment depèn de les mides dels missatges, el mode, el processament per lots i la resta del protocol. Comproveu el proveïdor real i manteniu actualitzades les seves actualitzacions de seguretat.
Una llista de verificació pràctica
- Enregistreu el model exacte de processador o de plataforma i les versions d'aplicació, SO i entorn d'execució implicades. Conserveu la redacció de l'error o del requisit real.
- Comproveu la referència del fabricant per a aquest model exacte, i després inspeccioneu la capacitat efectiva i l'estat habilitat en l'entorn on s'executa el programa.
- Compareu cada requisit del binari o dorsal seleccionat. Una característica amb un nom similar, un àlies o una etiqueta de tecnologia àmplia no és suficient.
- Confirmeu que l'aplicació ha seleccionat la implementació prevista. Utilitzeu els seus diagnòstics documentats i una alternativa compatible quan no es compleixin els requisits.
- Feu un únic canvi admès a la vegada i repetiu la mateixa càrrega de treball. Manteniu disponibles la configuració original i la via de recuperació.
Si la característica apareix a la llista però el programari no la pot utilitzar
Comenceu pel component exacte que falla. Una base de dades de maquinari descriu la capacitat registrada; el sistema operatiu o l'hipervisor poden exposar un entorn efectiu diferent. Un error d'instrucció il·legal també requereix investigar la instrucció defectuosa real i la compilació del binari, perquè una corrupció o una instrucció no admesa no relacionada poden produir un símptoma similar.
Instal·leu la versió d'aplicació, controlador o entorn d'execució admesa per a la plataforma exacta, i utilitzeu la compilació base o alternativa documentada pel fabricant si cal. Una actualització de programari no pot crear una instrucció que li manqui al processador. Els canvis de microprogramari i de polítiques de seguretat han de seguir el procediment del fabricant del sistema i un pla de recuperació en lloc d'una recepta genèrica d'optimització.
Fonts i abast d'aquesta explicació
Intel 64 and IA-32 Architectures Software Developer's Manual
Aquestes referències estableixen el comportament arquitectònic i els requisits de programari. No verifiquen de manera independent cada valor de característica en una pàgina de model de maquinari enllaçada. Per al suport de models, utilitzeu l'evidència del fabricant d'aquesta pàgina i comproveu la configuració efectiva del sistema. Aquest article no proporciona cap data de prova de referència, certificació o revisió independent.
Fonts i verificació
Propietat editorial: Feex. No s'ha registrat cap data de revisió independent. Com investiguem.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Els volums 1 i 2 descriuen les famílies d'instruccions anomenades i CPUID; el volum 3 descriu l'estat, la paginació, VMX i els controls de protecció. La documentació d'arquitectura no estableix el suport per a un model en particular.
Ha estat útil aquest article?
Un sí o un no és suficient. Trieu un motiu si voleu, o afegiu una breu nota.
Gràcies. Això ens ajuda a millorar aquesta pàgina.