Siirry sisältöön

SHA-käskylaajennukset

ArkkitehtuuriviiteFeex

Tunnetaan myös nimellä SHA

Alkuperäinen x86 SHA -laajennus nopeuttaa valittuja operaatioita, joita käytetään SHA-1- ja SHA-256-algoritmeissa. Yleinen SHA-ominaisuusmerkintä ei takaa laitteistotukea jokaiselle SHA-algoritmille.

Mitä sinun tulee tietää

Alkuperäinen x86 SHA -laajennus nopeuttaa valittuja operaatioita, joita käytetään SHA-1- ja SHA-256-algoritmeissa. Yleinen SHA-ominaisuusmerkintä ei takaa laitteistotukea jokaiselle SHA-algoritmille.

Miten se toimii

Alkuperäinen laajennus tarjoaa käskyt viestiaikataulun ja kierrosten käsittelyyn SHA-1:lle ja SHA-256:lle. Ohjelmisto huolehtii edelleen täytteestä (padding), lohkojen hallinnasta ja tiivisteen täydellisestä muodostamisesta. SHA-256 kuuluu SHA-2-perheeseen, mutta SHA-512:lla ja SHA-3:lla on erilaiset algoritmit, eikä niitä tule päätellä alkuperäisestä ominaisuusbitistä.

Missä siitä on hyötyä

Tiivistyskirjasto voi valita erikoistuneen SHA-256-tiivistysrutiinin, kun laajennus on käytettävissä. Pienillä viesteillä voi kulua huomattavasti aikaa alustukseen ja ympäröivään koodiin, kun taas suuremmat työkuormat riippuvat myös muistista ja rinnakkaisuudesta.

Tuen ja käyttöönoton tarkistaminen

Tarkista alkuperäisen SHA-laajennuksen osalta CPUID.07H.00H:EBX-bitti 29 varmistettuasi leaf-tuen. Tarkista kirjaston pyytämä algoritmi ja tarkka käskyperhe, äläkä luota pelkkään apuohjelman näyttämään yleiseen sha-merkintään.

Käytä ylläpidettyä kryptografiatoteutusta, joka käsittelee ominaisuuksien valinnan, virhetilat ja täydellisen algoritmin. Laitteistokiihdytys tarjoaa primitiivejä; avainten hallinta, todennus, kertakäyttönumeroiden säännöt ja protokollien valinnat pysyvät ohjelmiston vastuulla.

Mitä ominaisuus ei takaa

Käskyn olemassaolo ei tee SHA-1:stä sopivaa uuteen tietoturvaprotokollaan. Laitteistokiihdytys ei muuta algoritmin törmäyskestävyyttä eikä korjaa turvatonta protokollasuunnittelua. Myöhemmillä SHA512-laajennuksilla on erillinen enumerointi.

Yhteensopivuus ja suorituskyky käytännössä

Ominaisuuskenttä ei ole tuotesertifiointi tai todiste siitä, että tietty sovellus on turvallinen. Suorituskyky riippuu viestien koosta, tilasta, eräajosta ja muusta protokollasta. Tarkista todellinen tarjoaja ja pidä sen tietoturvapäivitykset ajan tasalla.

Käytännön tarkistuslista todentamiseen

  1. Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
  2. Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
  3. Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
  4. Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
  5. Tee yksi tuettu muutos kerrallaan ja toista sama työkuorma. Pidä alkuperäinen kokoonpano ja palautuspolku saatavilla.

Jos ominaisuus on luettelossa, mutta ohjelmisto ei voi käyttää sitä

Aloita tarkasta vikaantuvasta komponentista. Laitteistotietokanta kuvaa tallennettua kykyä; käyttöjärjestelmä tai hypervisori voi tuoda esiin erilaisen todellisen ympäristön. Virheellisen käskyn virhe vaatii myös todellisen virheellisen käskyn ja binaarikäännöksen tutkimista, koska korruptio tai liittymätön tukematon käsky voi aiheuttaa samanlaisen oireen.

Asenna kyseiselle alustalle tuettu sovellus-, ajuri- tai ajoympäristöversio ja käytä tarvittaessa toimittajan dokumentoitua perus- tai varakäännöstä. Ohjelmistopäivitys ei voi luoda käskyä, joka suorittimelta puuttuu. Laiteohjelmisto- ja tietoturvakäytäntömuutosten tulee noudattaa järjestelmävalmistajan menettelyä ja palautussuunnitelmaa yleisen optimointiohjeen sijaan.

Tämän selityksen lähteet ja laajuus

Intel 64 and IA-32 Architectures Software Developer's Manual · NIST Secure Hash Standard, FIPS 180-4

Nämä viitteet määrittävät arkkitehtuurisen käyttäytymisen ja ohjelmistovaatimukset. Ne eivät itsenäisesti vahvista kaikkia ominaisuusarvoja linkitetyllä laitteistomallisivulla. Mallikohtaista tukea varten käytä kyseisen sivun valmistajan todisteita ja tarkista todellinen järjestelmäkokoonpano. Tämä artikkeli ei tarjoa suorituskykytestiä, sertifiointia tai riippumatonta arviointipäivämäärää.

Lähteet ja vahvistus

Toimituksellinen omistajuus: Feex. Riippumatonta tarkistuspäivämäärää ei ole kirjattu. Miten tutkimme.

Oliko tämä artikkeli hyödyllinen?

Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.

Oliko tämä artikkeli hyödyllinen?