Kalo te përmbajtja

PCLMULQDQ and CLMUL

Referenca e arkitekturësFeex

Quhet gjithashtu PCLMULQDQ, CLMUL

PCLMULQDQ kryen shumëzim pa mbartje (carry-less) mbi operande të zgjedhur 64-bitësh. CLMUL është një emër i shkurtër i zakonshëm për këtë operacion, i cili është i dobishëm në aritmetikën e polinomeve binare dhe algoritmet e autentikimit.

Çfarë duhet të dini

PCLMULQDQ kryen shumëzim pa mbartje (carry-less) mbi operande të zgjedhur 64-bitësh. CLMUL është një emër i shkurtër i zakonshëm për këtë operacion, i cili është i dobishëm në aritmetikën e polinomeve binare dhe algoritmet e autentikimit.

Si funksionon

Shumëzimi pa mbartje kombinon modelet e biteve të zhvendosura me XOR në vend të mbartjeve të zakonshme të numrave të plotë, duke prodhuar një produkt polinom 128-bitësh nga dy hyrje 64-bitëshe. Një vlerë e menjëhershme (immediate) zgjedh një quadword nga çdo burim 128-bitësh. Reduktimi modulo i një polinomi të zgjedhur është një hap algoritmik më vete.

Ku është e dobishme

Një implementim i AES-GCM mund të përdorë produkte pa mbartje për të përshpejtuar GHASH. Renditja e saktë e operandëve, paraqitja e bajteve dhe reduktimi janë thelbësore; instruksioni i vetëm nuk implementon të gjithë funksionin e autentikimit. Shumat e tjera të kontrollit polinomike mund të përdorin teknika të ngjashme me polinomet e tyre.

Si të kontrollohet mbështetja dhe aktivizimi

CPUID.01H:ECX biti 1 numëron instruksionin e trashëguar PCLMULQDQ. Kontrolloni bitin e veçantë të shumëzimit vektorial pa mbartje dhe rregullat e gjendjes AVX/AVX-512 kur përdorni kodime më të gjera. Konfirmoni që alternativa rezervë (fallback) e bibliotekës ruan të njëjtën aritmetikë polinomike.

Përdorni një implementim kriptografik të mirëmbajtur që menaxhon zgjedhjen e veçorive, kushtet e dështimit dhe algoritmin e plotë. Përshpejtimi harduerik ofron primitiva; menaxhimi i çelësave, vërtetimi, rregullat e nonce-ave dhe zgjedhjet e protokollit mbeten përgjegjësi e softuerit.

Çfarë nuk përcakton kjo veçori

PCLMULQDQ nuk është një shumëzim i zakonshëm numrash të plotë, një instruksion enkriptimi AES ose një autentikues i plotë mesazhesh. Një etiketë e përgjithshme CLMUL nuk përcakton mbështetjen për VPCLMULQDQ më të gjerë. Koha dhe rendimenti (throughput) varen nga implementimi.

Përputhshmëria dhe performanca në praktikë

Një fushë veçorie nuk është një certifikim produkti ose dëshmi se një aplikacion i caktuar është i sigurt. Performanca varet nga madhësitë e mesazheve, modaliteti, grumbullimi në grupe dhe pjesa tjetër e protokollit. Kontrolloni ofruesin aktual dhe mbani të përditësuara përditësimet e tij të sigurisë.

Një listë praktike kontrolli për verifikim

  1. Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
  2. Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
  3. Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
  4. Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
  5. Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.

Nëse veçoria listohet por softueri nuk mund ta përdorë atë

Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.

Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.

Burimet dhe fusha e këtij shpjegimi

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

Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.

Burimet dhe verifikimi

Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.

A ishte i dobishëm ky artikull?

Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.

A ishte i dobishëm ky artikull?