Vaje deritto ô cuntenuto

PCLMULQDQ and CLMUL

Riferimento 'e ll'architetturaFeex

Chiammato pure PCLMULQDQ, CLMUL

PCLMULQDQ fa 'a multiplicazzione carry-less 'ncopp'a operande a 64-bit scigliute. CLMUL è nu nomme curto canasciuto pe 'st'operazzione, ca serve assaje int'a ll'aritmètica d' 'e pulinomi binari e ll'algoritmi 'e valida.

Chello ca t'hê 'a sapé

PCLMULQDQ fa 'a multiplicazzione carry-less 'ncopp'a operande a 64-bit scigliute. CLMUL è nu nomme curto canasciuto pe 'st'operazzione, ca serve assaje int'a ll'aritmètica d' 'e pulinomi binari e ll'algoritmi 'e valida.

Comme fonsiona

'A multiplicazzione carry-less mette 'nzieme 'e prugressioni 'e bit spustati cu XOR 'mmece d'ausà 'o riporto normale d' 'e nummere 'ntieri, caccianno nu produtto pulinomiale a 128-bit 'a duje 'ngresse a 64-bit. Nu dato mmediato scerne na quadword da ogne sorgente a 128-bit. 'A reduzzione a mòdulo cu nu pulinomio scigliuto è nu passo algorìtmico c'apparten' a parte.

Addò serve

Na 'mplementazzione AES-GCM po' ausà 'e prudotte carry-less pe fà cchiù 'mpressa 'o GHASH. 'O ròrdeno justo 'e ll'operande, 'a rapresentazzione d' 'e byte e 'a reduzzione songo 'mpurtanti assaje; ll'istruzzione 'a sola nun costruisce tutt' 'a funzione 'e valida. Ate checksum pulinomiali ponno ausà tènneghe 'ncoccate cu 'e pulinomi lloro.

Comme se cuntrolla 'o supporto e ll'abbilitazzione

CPUID.01H:ECX bit 1 enumera 'a vecchia istruzzione PCLMULQDQ. Cuntrollate 'o bit a parte p' 'a multiplicazzione vettoriale carry-less e 'e règole 'e stato AVX/AVX-512 quanno ausate codìfeche cchiù granne. Cunfermate ca 'o fallback d' 'a librarìa mantene 'a stessa aritmètica pulinomiale.

Ausa n'implementazzione crittografeca curata ca gestisce 'a scelta d' 'e funzionalita, 'e cundizziune 'e fallimento e ll'algoritmo 'ntreco. Ll'accelerazzione hardware furnesce 'e base; 'a gestione d' 'e ciave, ll'autenticazzione, 'e rreole d' 'e nonce e 'e scelte d' 'o prutocollo rummaneno respunsabbilita d' 'o software.

Chello ca 'a funzionalita nun stabbilisce

PCLMULQDQ nun è na multiplicazzione normale pe 'ntieri, n'istruzzione pe codificà AES o nu validatore cumpleto pe missagge. N'etichetta gènereca CLMUL nun prova 'o supporto p' 'o cchiù larijo VPCLMULQDQ. Tiempo e pruduzzione càgnano a siconna d' 'a 'mplementazzione.

Cumpatibbilita e prestazziune dint' 'a prateca

Nu campo 'e funzionalita nun e na certificazzione 'e prudotto o na prova ca n'applicazzione specifeche sia secura. 'E prestazziune dipènnene d' 'a grandezza d' 'e messagge, d' 'a modalita, d' 'o batching e d' 'o riesto d' 'o prutocollo. Cuntrolla 'o furnitore overo e tieni aggiornate 'e ccurrezziune 'e sicurezza suje.

Na lista 'e verifeca prateca

  1. Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
  2. Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
  3. Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
  4. Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
  5. Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.

Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà

Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.

Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.

Funte e ambito 'e sta spiegazzione

Intel 64 and IA-32 Architectures Software Developer's Manual

Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.

Funte e verìfeca

Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · 'E Vulume 1 e 2 descrivono 'e ffamiglie 'e struzzione cu nomme e 'o CPUID; 'o Vulume 3 descrive 'o stato, 'a pagginazzione, VMX e 'e cuntrolle 'e prutezzione. 'A documentazzione 'e ll'architettura nun stabbilisce 'o supporto pe nu mudello particulare.

È servuto chist'articulo?

Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.

È servuto chist'articulo?