AES-NI
AES-NI er en x86-instruksjonsutvidelse for AES-kryptering og -dekrypteringsrunder samt relatert nøkkelplanleggingsarbeid. Den akselererer deler av en kryptografisk implementering i stedet for å levere en hel sikker protokoll.
Dette må du vite
AES-NI er en x86-instruksjonsutvidelse for AES-kryptering og -dekrypteringsrunder samt relatert nøkkelplanleggingsarbeid. Den akselererer deler av en kryptografisk implementering i stedet for å levere en hel sikker protokoll.
Slik fungerer det
Instruksjoner som AESENC og AESDEC transformerer en 128-bits AES-tilstand, mens separate former håndterer avsluttende runder og bistår nøkkelutvidelse. En AES-implementering velger antall og rekkefølge på runder for sin nøkkellengde. Instruksjonene velger ikke en modus, allokerer ikke noncer, autentiserer ikke meldinger og beskytter ikke lagrede nøkler på egen hånd.
Hvor det er nyttig
Et vedlikeholdt kryptografisk bibliotek kan rute til AES-NI for en støttet AES-modus. AES-GCM trenger også autentiseringsbehandling, ofte akselerert med menteløs multiplikasjon. Protokollforhandling, postoppsett og meldingslengde påvirker ende-til-ende-ytelse.
Slik kontrolleres støtte og aktivering
CPUID.01H:ECX bit 25 indikerer eldre AES-NI. Kjøremiljøet må håndtere XMM-tilstand. Kontroller VAES- og vektortilstandskrav separat for bredere VEX- eller EVEX-implementeringer, og bruk det kryptografiske bibliotekets støttede rutingsfunksjoner.
Bruk en vedlikeholdt kryptografisk implementering som håndterer funksjonsvalg, feiltilstander og den fullstendige algoritmen. Maskinvareakselerasjon leverer primitiver; nøkkelhåndtering, autentisering, nonceregler og protokollvalg forblir programvarens ansvar.
Hva funksjonen ikke etablerer
AES-NI-støtte er ikke en sikkerhetssertifisering, skadevarevurdering eller garanti mot sidekanaler i omkringliggende kode. AES er ikke SHA. VAES enumereres separat, og en gjest kan skjule AES-NI selv når verten har det.
Kompatibilitet og ytelse i praksis
Et funksjonsfelt er ikke en produktsertifisering eller bevis på at en bestemt applikasjon er sikker. Ytelse avhenger av meldingsstørrelser, modus, puljering og resten av protokollen. Sjekk den faktiske leverandøren og hold dens sikkerhetsoppdateringer oppdaterte.
En praktisk sjekkliste for verifisering
- Registrer den nøyaktige prosessor- eller plattformmodellen og de involverte applikasjons-, OS- og kjøretidsversjonene. Bevar ordlyden i den faktiske feilen eller kravet.
- Sjekk produsentreferansen for akkurat den modellen, og undersøk deretter den faktiske kapasiteten og aktiverte tilstanden i miljøet der programmet kjører.
- Sammenlign ethvert krav til den valgte binærfilen eller baksiden. En lignende navngitt funksjon, et alias eller en bred teknologietikett er ikke tilstrekkelig.
- Bekreft at applikasjonen valgte den tiltenkte implementeringen. Bruk dens dokumenterte diagnostikk og en støttet reservemetode når kravene ikke er oppfylt.
- Gjør én støttet endring om gangen og gjenta den samme arbeidsbelastningen. Hold den opprinnelige konfigurasjonen og gjenopprettingsstien tilgjengelig.
Hvis funksjonen er oppført, men programvare ikke kan bruke den
Start med den nøyaktige komponenten som feiler. En maskinwaredatabase beskriver registrert kapasitet; operativsystemet eller hypervisoren kan eksponere et annet reelt miljø. En feil om ulovlig instruksjon krever også undersøkelse av den faktiske feilende instruksjonen og binærbyggingen, fordi korrupsjon eller en urelatert, ustøttet instruksjon kan gi et lignende symptom.
Installer applikasjonen, driveren eller kjøretidsversjonen som støttes for den nøyaktige plattformen, og bruk om nødvendig leverandørens dokumenterte grunnlinje- eller reservebygg. En programvareoppdatering kan ikke opprette en instruksjon som prosessoren mangler fastvare. Endringer i fastvare og sikkerhetspolicy bør følge systemprodusentens prosedyre og en gjenopprettingsplan i stedet for en generisk optimaliseringsoppskrift.
Kilder og omfang for denne forklaringen
Intel 64 and IA-32 Architectures Software Developer's Manual
Disse referansene etablerer arkitektonisk oppførsel og programvarekrav. De verifiserer ikke uavhengig hver funksjonsverdi på en koblet maskinvaremodells side. For modellstøtte, bruk den sidens produsentdokumentasjon og kontroller den reelle systemkonfigurasjonen. Denne artikkelen oppgir ikke en referansemåling, sertifisering eller dato for uavhengig gjennomgang.
Kilder og verifisering
Redaksjonelt eierskap: Feex. Ingen uavhengig vurderingsdato er registrert. Hvordan vi gjør undersøkelser.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Bind 1 og 2 beskriver de navngitte instruksjonsfamiliene og CPUID; bind 3 beskriver tilstands-, sidevekslings-, VMX- og beskyttelseskontroller. Arkitekturdokumentasjon etablerer ikke støtte for en bestemt modell.
Var denne artikkelen nyttig?
Et ja eller nei holder. Velg en grunn hvis du vil, eller legg til en kort kommentar.
Takk. Det hjelper oss med å forbedre denne siden.