1. [Wiki](https://feex.it/wiki/)
2. [Hardver](https://feex.it/wiki/hardware/)
3. [Sistemi i arhitektura](https://feex.it/wiki/hardware/system/)
4. SHA proširenja instrukcija

# SHA proširenja instrukcija

Referenca arhitekture: Feex

Takođe se naziva SHA

Originalna x86 SHA ekstenzija ubrzava odabrane operacije koje se koriste u SHA-1 i SHA-256. Generička SHA oznaka funkcije ne uspostavlja hardversku podršku za svaki SHA algoritam.

## Šta treba da znate

Originalna x86 SHA ekstenzija ubrzava odabrane operacije koje se koriste u SHA-1 i SHA-256. Generička SHA oznaka funkcije ne uspostavlja hardversku podršku za svaki SHA algoritam.

## Kako funkcioniše

Originalna ekstenzija pruža instrukcije za raspored poruka i obradu rundi za SHA-1 i SHA-256. Softver i dalje vrši dopunjavanje (padding), upravljanje blokovima i kompletno kreiranje heša. SHA-256 pripada familiji SHA-2, ali SHA-512 i SHA-3 imaju različite algoritme i ne smiju se pretpostavljati na osnovu originalnog bita funkcije.

## Đe je korisno

Biblioteka za heširanje može odabrati specijalizovanu SHA-256 rutinu kompresije kada je ekstenzija upotrebljiva. Male poruke mogu potrošiti značajno vrijeme na podešavanje i okolni kôd, dok veća radna opterećenja takođe zavise od memorije i paralelizma.

## Kako provjeriti podršku i omogućenost

Za originalnu SHA ekstenziju, provjerite CPUID.07H.00H:EBX bit 29 nakon validacije podrške za leaf. Provjerite algoritam i tačnu familiju instrukcija koju biblioteka zahtijeva, a ne samo generičku sha oznaku koju prikazuje uslužni program.

Koristite održavanu kriptografsku implementaciju koja upravlja izborom funkcija, uslovima neuspjeha i kompletnim algoritmom. Hardversko ubrzanje obezbjeđuje primitive; upravljanje ključevima, autentifikacija, pravila za jednokratne brojeve i izbori protokola ostaju odgovornost softvera.

## Šta ova funkcija ne utvrđuje

Postojanje instrukcije ne čini SHA-1 pogodnim za novi bezbjednosni protokol. Hardversko ubrzanje ne mijenja otpornost algoritma na kolizije niti popravlja nebezbjedan dizajn protokola. Kasnije SHA512 ekstenzije imaju zasebnu enumeraciju.

## Kompatibilnost i performanse u praksi

Polje funkcije nije sertifikacija proizvoda niti dokaz da je određena aplikacija bezbjedna. Performanse zavise od veličine poruke, režima, grupisanja i ostatka protokola. Provjerite stvarnog pružaoca usluga i održavajte njegova bezbjednosna ažuriranja aktuelnim.

## Praktična lista za provjeru verifikacije

1. Zabilježite tačan model procesora ili platforme, kao i verzije aplikacije, OS-a i runtime-a koji se koriste. Sačuvajte formulaciju stvarne greške ili zahtjeva.
2. Provjerite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju đe se program izvršava.
3. Uporedite svaki zahtjev odabranog binarnog koda ili backend-a. Funkcija sličnog naziva, alias ili široka tehnološka oznaka nijesu dovoljni.
4. Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtjevi nijesu ispunjeni.
5. Napravite po jednu podržanu promjenu u isto vrijeme i ponovite isto radno opterećenje. Držite originalnu konfiguraciju i putanju oporavka dostupnima.

## Ako je funkcija navedena, ali je softver ne može koristiti

Počnite sa tačnom komponentom koja otkazuje. Baza podataka hardvera opisuje zabilježenu sposobnost; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahtijeva istragu stvarne instrukcije koja je izazvala kvar i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.

Instalirajte verziju aplikacije, drajvera ili runtime-a podržanu za tačnu platformu i koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača ako je potrebno. Ažuriranje softvera ne može stvoriti instrukciju koja procesoru nedostaje. Promjene firmvera i bezbjednosnih politika treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.

## Povezane funkcije i korisne razlike

[AES-NI](https://feex.it/wiki/l/cnr/hardware/system/aes-ni/) · [PCLMULQDQ i CLMUL](https://feex.it/wiki/l/cnr/hardware/system/pclmulqdq/) · [AVX2](https://feex.it/wiki/l/cnr/hardware/system/avx2/)

## Izvori i obim ovog objašnjenja

[Intel 64 and IA-32 Architectures Software Developer's Manual](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html) · [NIST Secure Hash Standard, FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final)

Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verifikuju nezavisno svaku vrijednost funkcije na povezanoj stranici hardverskog modela. Za podršku modela, koristite dokaze proizvođača sa te stranice i provjerite efektivnu konfiguraciju sistema. Ovaj članak ne pruža benčmark, sertifikaciju niti datum nezavisnog pregleda.

## Povezano

Ovi entiteti su povezani sa ovim člankom. Tip je prikazan na svakom linku.

[AES-NI: Referenca arhitekture](https://feex.it/wiki/l/cnr/hardware/system/aes-ni/)[PCLMULQDQ i CLMUL: Referenca arhitekture](https://feex.it/wiki/l/cnr/hardware/system/pclmulqdq/)[AVX2: Referenca arhitekture](https://feex.it/wiki/l/cnr/hardware/system/avx2/)

## Izvori i verifikacija

Uredničko vlasništvo: Feex. Nije zabilježen datum nezavisne recenzije. [Kako istražujemo](https://feex.it/wiki/research/).

- [Intel 64 and IA-32 Architectures Software Developer's Manual ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· Tomovi 1 i 2 opisuju imenovane familije instrukcija i CPUID; Tom 3 opisuje stanje, straničenje, VMX i kontrole zaštite. Dokumentacija o arhitekturi ne utvrđuje podršku za određeni model.
- [NIST Secure Hash Standard, FIPS 180-4 ](https://csrc.nist.gov/pubs/fips/180-4/upd1/final)· Definiše imenovane SHA algoritme. Definicije algoritama ne impliciraju da originalna x86 SHA ekstenzija ubrzava svakog člana.

## Da li je ovaj članak bio koristan?

Dovoljno je da označite sa da ili ne. Izaberite razlog ako želite, ili dodajte kratku napomenu.

Brze činjenice

Kratak pregled identiteta ove stranice. Specifikacije, izvori i kompletna priča ostaju u članku.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/cnr/hardware/system/sha/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
