VAES
VAES pruža vektorski kodirane operacije AES rundi, omogućavajući obradu nezavisnih AES blokova u širim registrima gde to podržani format dozvoljava. Zasebno se identifikuje u odnosu na izvorni AES-NI.
Šta treba da znate
VAES pruža vektorski kodirane operacije AES rundi, omogućavajući obradu nezavisnih AES blokova u širim registrima gde to podržani format dozvoljava. Zasebno se identifikuje u odnosu na izvorni AES-NI.
Kako funkcioniše
Šire VAES operacije primenjuju AES runde nezavisno na 128-bitne blokove unutar vektora. One ne menjaju veličinu AES bloka niti kombinuju te blokove u novu šifru. VEX i EVEX formati imaju sopstvene zahteve u pogledu funkcija i stanja, a okolni režim određuje da li su nezavisni blokovi dostupni za zajedničku obradu.
Gde je korisno
Režimi zasnovani na brojaču mogu obezbediti više nezavisnih blokova za vektorizovanu implementaciju. Serijska zavisnost u nekom režimu ili veoma mala poruka mogu ograničiti tu mogućnost. Autentifikacija, proširenje ključa i rukovanje memorijom ostaju zasebni delovi implementacije.
Kako proveriti podršku i omogućavanje
CPUID.07H.00H:ECX bit 9 vrši enumeraciju VAES-a. Takođe pratite preduslove iz SDM-a za izabrani VEX ili EVEX format, uključujući relevantnu AES/vektorsku mogućnost i stanje koje je omogućio OS. Određujte podršku prema tačnom formatu instrukcije, a ne samo prema generičkom nazivu funkcije.
Koristite održavanu kriptografsku implementaciju koja upravlja izborom funkcija, uslovima grešaka i kompletnim algoritmom. Hardversko ubrzanje pruža primitive; upravljanje ključevima, autentifikacija, pravila za jednokratne brojeve (nonce) i izbori protokola ostaju odgovornost softvera.
Šta ova funkcija ne utvrđuje
VAES ne znači da AES ima veću veličinu bloka, jači ključ ili automatsko ubrzanje za svaku šifrovanu aplikaciju. On ne obezbeđuje VPCLMULQDQ niti svaki AVX-512 podskup, i ne obezbeđuje upravljanje jednokratnim brojevima (nonce) niti autentifikaciju protokola.
Kompatibilnost i performanse u praksi
Polje funkcije nije sertifikacija proizvoda niti dokaz da je određena aplikacija bezbedna. Performanse zavise od veličine poruka, režima, grupisanja i ostatka protokola. Proverite stvarnog dobavljača i redovno primenjujte njegova bezbednosna ažuriranja.
Praktična kontrolna lista za verifikaciju
- Zabeležite tačan model procesora ili platforme, kao i verzije aplikacije, operativnog sistema i izvršnog okruženja koji se koriste. Sačuvajte formulaciju stvarne greške ili zahteva.
- Proverite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju u kojem se program izvršava.
- Uporedite svaki zahtev izabrane binarne datoteke ili pozadinskog podsistema. Slično nazvana funkcija, alias ili široka oznaka tehnologije nisu dovoljni.
- Potvrdite da je aplikacija izabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtevi nisu ispunjeni.
- Primenite jednu po jednu podržanu promenu i ponovite isto radno opterećenje. Zadržite originalnu konfiguraciju i putanju za oporavak na raspolaganju.
Ako je funkcija navedena, ali softver ne može da je koristi
Počnite od tačne komponente koja otkazuje. Baza podataka hardvera opisuje zabeležene mogućnosti; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahteva ispitivanje stvarne instrukcije koja izaziva grešku i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.
Instalirajte verziju aplikacije, drajvera ili izvršnog okruženja podržanu za tačnu platformu i po potrebi koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promene firmvera i bezbednosnih smernica treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.
Izvori i obuhvat ovog objašnjenja
Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space
Ove reference utvrđuju arhitektonsko ponašanje i softverske zahteve. One ne verifikuju nezavisno svaku vrednost funkcije na povezanoj stranici modela hardvera. Za podršku modela koristite dokaze proizvođača sa te stranice i proverite efektivnu konfiguraciju sistema. Ovaj članak ne pruža referentni rezultat, sertifikaciju niti datum nezavisnog pregleda.
Izvori i verifikacija
Urednička pripadnost: Feex. Nije zabeležen datum nezavisne recenzije. Kako istražujemo.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Tomovi 1 i 2 opisuju imenovane porodice instrukcija i CPUID; Tom 3 opisuje kontrole stanja, straničenja, VMX i zaštite. Dokumentacija o arhitekturi ne utvrđuje podršku za određeni model.
- Linux kernel: using XSTATE features in user space · Stanje vektora omogućeno operativnim sistemom, dinamički omogućeno stanje pločica, zahtevi za stek signala i tok dozvola za AMX. Ponašanje specifično za Linux ne predstavlja obećanje za drugi operativni sistem.
Da li je ovaj članak bio koristan?
Dovoljno je da odgovorite sa da ili ne. Izaberite razlog ako želite ili dodajte kratku belešku.
Hvala. To nam pomaže da poboljšamo ovu stranicu.