Sha 256 algoritam jednostavnim riječima. Objasniti kripto-algoritme rudarenju. Još pobjednički

Oleksandr Markov

Skraćenica SHA 256 je skraćenica za Secure Hashing Algoritam - mehanizam zahtjeva za raspršivanjem kreiran od strane NSA faksimila. Ključna zadaća algoritma je transformacija informacije tipa vrijednosti s fiksnom vrijednošću, pri čemu bi trebalo biti moguće razlikovati način identificiranja tih podataka.

Povijest izgleda

Vrlo je značajno da se radi o algoritmu druge generacije, kreaciji na temelju njegovog nasljednika - SHA-1, koji je, sam po sebi, proširen 1995. godine i pokazao se da se koristi u civilne svrhe. Ažurirana verzija Popularni algoritam Nin_ kreirali su stručnjaci Agencije za nacionalnu sigurnost 2002. godine.

Tri godine kasnije pojavio se patent koji mi omogućuje da osvojim algoritam u civilne svrhe. Treća verzija popularnog mehanizma pojavila se 2012. godine, a u razvoju su bili angažirani stručnjaci iz agencija za nacionalne standarde. Inače, SHA-3 će pobijediti svoje prethodnike.

Nemoguće je dešifrirati konvertirane podatke, fragmenti hash zbroja ne mogu se promatrati kao proces šifriranja u klasičnom procesu interpretacije. Jednosmjerni algoritam enkripcije obrađuje neograničenu količinu informacija.

Varto označiti da apsolutno sve osnovne verzije algoritam Secure Hashing Algoritam stvoreni su u skladu s Merkle-Damgardovim principom: informacije su podijeljene u jednake kategorije. Skupina kože podliježe jednostranom zahvatu, nakon čega se koža kože značajno mijenja.

Takva metoda šifriranja može biti neosobna:

  • stiskanje podataka vrši se odmah;
  • nemoguće je izvršiti proces transformacije bez ključeva;
  • imovirníst izgled kolízíy zveda nanívets.

Tehničke karakteristike

Protokol imenovanja podataka, podjela na dijelove, ukupna koža - 64 bajta. Algoritam osigurava konsolidaciju, nakon čega se deklarira 256-bitni kod. Tehnologija enkripcije temelji se na naizgled nezgodnoj rundi, čija je cikličnost 64 puta.

  • Veličina bloka od 64 bajta.
  • Maksimalna duljina koda za šifriranje je 33 bajta.
  • Parametri sažetka upozorenja – 32 bajta.
  • Rozmir za zamovchuvannyam - 4 bajta.
  • Broj ponavljanja na granicama jednog ciklusa je 64.
  • Brzina algoritma je 140 Mb/s.

Kao što je ranije rečeno, protokol SHA-256 temelji se na Merkle-Damgard konceptu, a zatim se prvo dijeli na blokove, a zatim na susjedne riječi.

Prikupljanje informacija za prolazak slučajnog raspona ponavljanja - 64 ili 80. Kožni ciklus je popraćen transformacijom riječi. Hash kod podzbroja generira se nakon podzbroja vrijednosti cob.

Kriptovaluta sa SHA-256 algoritmom

Pogledajmo digitalne valute čije se rudarenje temelji na principima algoritma SHA-256:

  • Bitcoin je valuta koja ne zahtijeva dodatno predstavljanje, kao i prije, najpopularnija je kripto imovina.
  • Peercoin je jedinstven po tome što je kod kreiran na bazi Bitcoina, dok mehanizam pobjeđuje za obranu mjere, a PoW za distribuciju kovanica.
  • Namecoin - tehnologija sa šifrom Postupno ću poboljšati sigurnost, privatnost, decentralizaciju.
  • Unobtanium - karakterizira minimalno ljuljanje prije inflacije. Za vidobot od Unobtanium kovanica potrebno je oko 300 kovanica.
  • Deutsche eMark je digitalna mjera za prijenos različite imovine, na primjer, novčića. Razmjena se vrši bez posrednika.
  • BetaCoin je međunarodni platni sustav koji radi na istom principu kao i Bitcoin sustav.
  • Joulecoin - osigurava najučinkovitiju potvrdu transakcija, temeljenu na Bitcoinu.
  • IXCoin je još jedan projekt s temeljom temeljenom na kodu koji se temelji na principu peer-to-peer.
  • – Blockchain-platforma, vinogradi jaka za objavljivanje jedinstvenog sadržaja.

Varto također znači da algoritam SHA-256 pobjeđuje u Litecoin sustavu, ali ne i u potprogramu. Za rudarenje je instaliran Scrypt protokol.

Rudarenje kriptovaluta na SHA-256 algoritmu

Iz nekog razloga, za dobivanje kovanica, čiji se sustavi koriste za ovaj protokol, moguće je izvršiti na tri načina:

  • ASIC.

Sklopivost rudarenja bez sredine ovisi o tome da postoji način da se pronađe kriptovaluta. Međutim, u svakom slučaju, sam ASIC-priključak karakterizira najveća učinkovitost, čija je glava vrhunske raznolikosti.

Prosječni ASIC rudar košta oko 100 tisuća rubalja (Asic Miner AVALON 821), ali je moguće kupiti i skuplje modele čija cijena može doseći pet milijuna rubalja (Asic Miner BITFORY B8 16NM 50 TH/S) .

Što se tiče vidobootiranja kriptovalute na procesorima, takva metoda je najmanje učinkovita. Pogotovo kada govorimo o digitalnoj valuti Bitcoin.

Najprikladnije rješenje je od video kartica. Prosječna varijanta fermija za stražnjicu je u rasponu od 1000-2000 $. Kako odabrati video karticu za kriptovalutu video kabinu na temelju SHA-256 algoritma?

Ako govorite o Nvidiji, onda najbolja rješenja postati video kartica (1400 MH/s). Očito, u AMD-u ne postoji neprekinuti konkurent, pa se sve kartice Vega serije koriste za rudarenje. Radeon RX Vega video adapter omogućuje rudarenje brzinom od 1200 MH/S. Isti posjed takvog posjeda je sljedeća stvar koju treba osvojiti.

Ako tražite jeftiniju opciju, u ovom slučaju možete nabaviti Radeon 7970, tako da možete vidjeti do 800 MH/s. Ne zaboravite da će video kartica za pokretanje farme trebati više opreme, na primjer, radijatore za hlađenje, stambenu jedinicu, operativna memorija i tako dalje.

Visnovok

Ovo je sve što rudari trebaju znati o SHA-256 algoritmu. Očito je da se puno modernih kriptovaluta temelji na Scrypt protokolu, a rudarenje najpopularnijeg novčića (BTC), kao i prije, slijedi ovaj princip.

Čemu služi SHA - 256?

SHA 256 - skraćenica za Secure Hashing Algoritam - nije popularan kriptografski algoritam za raspršivanje, dijeljenje Agencije za nacionalnu sigurnost - Američka agencija za nacionalnu sigurnost. Zadatak SHA-256 temelji se na činjenici da je potrebno generirati skup podataka s fiksnom vrijednošću, koji će služiti kao identifikator tsikh danikh.

Vrijednosti Otrimana uspoređuju se s duplikatima službenih podataka, jer ih je nemoguće oduzeti. Glavni opseg potpirivanja algoritma je rad u raznim dodacima ili servisima, vezanim za zaštitu informacija, defunkcioniranje i otrimala šire šire. Također pobjeđuje kao tehnologija za rudarenje kriptovaluta.

Ovaj algoritam pripada skupini algoritama za šifriranje SHA-2, koji su razvijeni na temelju algoritma SHA-1, koji je prvi put kreiran 1995. godine za korištenje u civilne svrhe. Sam SHA-2 je razgradila američka Agencija za nacionalnu sigurnost u proljeće 2002. Tri godine je američki NSA izdao patent za korištenje SHA tehnologije u civilnim projektima.

Godine 2012., u Nacionalnom institutu za standarde i tehnologiju, izvršeno je ažuriranje algoritma: SHA - 3. Za godinu dana novi algoritam je usvojen kao pojednostavljeni glavni algoritam SHA - 2, ali je već zastario, ali SHA - 1 i dalje pobjeđuje.

Hash - količina podataka nije šifrirana klasičnom tehnologijom rozumínni, nemogućnost dešifriranja podataka iz knjige povrata. Jednosmjerna enkripcija za bilo koji broj podataka. Svi SHA algoritmi temelje se na Merkle-Damgard metodi: podaci su podijeljeni u jednake skupine, čija koža mora proći kroz jednosmjernu funkciju stiskanja. Na tragu koje dožine, podaci se mijenjaju.

Ova metoda ima dvije značajne prednosti:

  • brzu enkripciju praktički je nemoguće dešifrirati bez ključeva;
  • minimalan rizik od pojave kolizama (iste slike).

Još pobjednički

Današnji skin haker Merezhi, koji zna chi, haker SHA-256: SSL sigurnosni certifikat, vrsta otmice kože web stranice, uključujući algoritam SHA-256. To je potrebno za uspostavu i provjeru autentičnosti zaštićenog z'ednannya s web mjestom.

Plus SHA - 256

SHA-256-sebe proširenja rudarski algoritam sredine ostalih. Vín se pokazao jakim kao zlo (za rijetke greške) i učinkovit algoritam kako za rudarenje tako i za druge svrhe.

Minus SHA - 256

Golovny nedolíkom SHA - 256 ê joga pod kontrolom rudarima: popisi najvećih proračunskih pritisaka oduzimaju većinu kriptovalute, što uključuje jednu temeljna principe kriptovaluta decentralizacija.

Nakon toga, kao veliki investitori, počeli su ulagati novčiće u računski pritisak za industrijsko rudarenje bitcoina, povećala se sklopivost bagator rudarenja i počela je rasti napetost izračunavanja vinatkoviy. Malo je promjena u drugim protokolima, modernim i "zatvorenim" u rudarenju kriptovaluta, kao što je Scrypt. Bez obzira na one koji danas SHA-256 zauzimaju veći dio tržišta kriptovaluta, mi ćemo olabaviti svoj utjecaj dodavanjem tereta više ukradenih i promašenih protokola.

Nakon jednog sata SHA-1 algoritmi su prestali davati potrebnu razinu pouzdanosti kroz immovirnu potvrdu sudara. SHA-256, kao i SHA-512, sigurniji je u slučaju kvara, ali je i dalje prisutna nepomičnost krivnje.

Wiki za kriptovalute

Rudarstvo na SHA - 256

Rudarstvo na SHA - 256, kao i na bilo kojem drugom algoritmu - čini se da je cijeli proces sklopiv. kriptografski zadataka, koje program generira za rudarenje na temelju podataka iz prethodnih blokova.

Postoje tri načina rudarenja s različitim funkcijama SHA-256:

  • CPU (centralna procesorska jedinica);
  • GPU (grafički procesor);
  • specijalizacije Procesor: ASIC.

Za rudarenje, hash je zbroj pobjeda kao identifikator već postojećih blokova i stvaranje novih na temelju prethodnih. Proces rudarenja je prikazan u sučelju na "prihvaćeno f33ae3bc9 ...". De f33ae3bc9 - tse hash - zbroj, dio podataka, prepoznati za dešifriranje. Glavni blok je sastavljen od velikog broja sličnih hashova – zbroja.

Tobto, rudarenje s SHA algoritmom - 256 ê nepogrešiv odabir ispravne hash vrijednosti - zbroj, nabrajanje brojeva za stvaranje novog bloka. Što su vaši pritisci za brojanje veći, veće su šanse za pronalaženje pravog bloka: brzina sortiranja različitih hash zbroja leži u pritiscima.

Pozivanje na one koje Bitcoin traži na SHA - 256 algoritmu, za natjecateljski rudarenje na novim potrepštinama u području velikog umrtvljenog naprezanja. Stoga je za rudarenje bitcoina već odavno unaprijeđena proizvodnja "ASIC-a" - integrirani sklop specifičnog za aplikaciju, t.j. e. integrirani krug posebne namjene. ASIC-ovi omogućuju da se bitcoini i druge kriptovalute rudare na SHA-256 algoritmu bogatije, učinkovitije i jeftinije.

Kako kriptovalute hakiraju algoritam SHA - 256

SHA - 256 je klasični algoritam za kriptovalute: glavna kriptovaluta, Bitcoin, inspirirana je novim. Navodno, isti algoritam je pobjednički za vilice bitcoina: za Bitcoin Cash, Gold, Diamond.

Krim ih, SHA - 256 također pobjednik:

  • Steemit;
  • DigiByte;
  • peercoin;
  • namecoin;
  • Teckcoin;
  • Ocoin;
  • Zetacoin;
  • emercoin.

Također, SHA-256 algoritam pobjeđuje kao podprogram u kriptovaluti Litecoin, a glavni algoritam za rudarenje je Scrypt.

Uz rastuću popularnost kriptovalute, sve više ljudi ju je počelo prihvaćati kao obećavajući financijski instrument. Prote, malo tko se uključuje, kakvu vrijednost oni predstavljaju za znanstveni i tehnološki napredak. Da bismo došli do dna ovog fenomena, potrebno je proći kroz razne kriptografske informacije za razumijevanje, kao i nepoznate i tajne kratice za SHA-256 kod. O tome i timetsya u trenutnom članku.

Što je rudarenje?

Rudarstvo je glavno skladište za mehanizam bilo koje vrste digitalne valute. Princip díí̈ polagaê u grupiranju po rudarima za dovršetak operacije u jednom bloku, koji je već neosobno izmijenjen za instalaciju crvenog hash koda, što omogućuje posebne pomoćnike. Kao da se promatra ista vrijednost, blok je moj i dodan u blockchain novčića. Takva aktivnost brojanja ne daje nikakvu vrstu korozivnosti, zločina promicanja presavijanja generiranja potrebnog bloka. S druge strane, mogu se ubaciti zvona i zviždaljke e-valute koristuvachi, tako da njihov maydanchik neće preuzeti kontrolu i centralizaciju.

Standardna hash funkcija prihvaća blok kao ulaz informacije o pjevanju, vidjevši na izlasku, to nezamislivo značenje. Razbijen je na takav način da ne postoji optimalna metoda da se zna potreban indikator, trebate ponavljati i ponavljati pretragu dok ne pronađete ispravan hash kod.

Jedan od najpopularnijih protokola je SHA-256. Najpoznatija prva kriptovaluta na svijetu je Bitcoin. Štoviše, poboljšanje sigurnosti jednako je algoritmu koji se izvodi 2 puta i već se naziva subvertiranim.

U Bitcoinu, kriterij primjenjivosti hash zahtijeva broj "0" po klipu. Također je važno prikazati sličnu vrijednost, kao što je, na primjer, unos broja automobila, ili elegantnog, koji završava s nekoliko 0. Razumijemo, više je sklopivi za hash funkciju. U danom satu, ispravna vrijednost može uključivati ​​približno 17 nula nula, zbog čega se samo jedna od 1,4 pomnoži s 10 u 20 koraka. Provođenje utakmice, poznavanje sličnog hasha puno je točnije, poznavanje istog hasha usred cijelog svijeta nepoznate mase na planetu.

Agencija je izradila poštansku verziju algoritma SHA-256 nacionalna sigurnost SAD proljeće 2002. Nekoliko mjeseci kasnije, Nacionalno sveučilište za mjeriteljstvo objavilo je novi protokol za šifriranje u FIPS PUB 180-2, usvojen na saveznoj razini, za sigurnu obradu podataka. Vzimku 2004 roku vín popovnivsya drugu verziju algoritma.

Sljedeće 3 godine NSA je izdala patent za SHA 2. generacije pod Royalty-free licencom. Upravo je to dovelo do stagnacije tehnologije u civilnim područjima.

Dobijte poštovanje! Završi činjenica cikavije: koža koristuvach Svijetski pauk, a da i sam ne znam, za sat vremena vlastitog, internet je skuplji od ovog protokola. Kada je web resurs zaštićen SSL sigurnosnim certifikatom, automatski će se pokrenuti prema SHA-256 algoritmu.

Ovaj se protokol temelji na informacijama, podijeljenim na dijelove od 512 bita svaki (ili 64 bajta). Vín opljačkati íí̈ kriptografski "zmíshuvannya", a zatim víd vídê 256-bitni hash kod. Prije skladištenja, algoritam ulazi u jedan jednostavan krug, koji se ponavlja 64 puta.

Osim toga, SHA-256 može postići loše tehničke parametre:

  • Indikator veličine bloka (bajtovi) - 64.
  • Ograničenje dopuštene duljine proširenja (bajtova) - 33.
  • Karakteristika obveznog sažetka obavijesti (bajtovi) – 32.
  • Standardna veličina riječi (bajt) - 4.
  • Parametar duljine interne stanice (bajtova) je 32.
  • Broj iteracija u jednom ciklusu manji je od 64.
  • Brzina koju može postići protokol (MiB/s) je približno 140.

Rad SHA-256 algoritma temelji se na metodi sumptinga Merkle-Damgard, moguće je u određenoj mjeri indeks klipa nakon promjene podijeliti na blokove, a ti, na svoj način, na 16 riječi.

Prikupljanje podataka za prolazak kroz petlju, što je 80 ili 64 iteracije. Kožni stadij karakterizira pokretanje heširanja iz blokova za pohranu. Nekoliko njih obrađuju alati funkcije. Zatim se dodaju rezultati transformacije, nakon što se u rezultatu vidi ispravna oznaka hash koda. Za izradu cherd bloka postavljaju se vrijednosti prednje strane. Da ih prepravimo okremo na jedan način čovjek ne popušta.

Također možete pogoditi 6-bitne operacije na temelju takvog funkcionalnog protokola:

  • "i" - bitna operacija "I";
  • "shr" - pomaknuti vrijednost za potreban broj bitova udesno;
  • "trune" - ekipa je slična po prednjem dijelu, s istom razlikom, što uzrokuje ciklička razaranja;
  • "||" ili konkatenacija - operacija spajanja dijelova linearne strukture, uglavnom redova;
  • "xor" - naredba za odabir "ABO";
  • "+" - uobičajena operacija preklapanja.

Kako možete, molim vas, dovršite tipičan skup operacija za bilo koji algoritam šifriranja.

Za određivanje vrijednosti algoritma potrebno je vratiti se na kriptoanalizu. Tsya disciplina znati metode dešifriranja informacija bez potrebe za posebnim ključem.

Prve studije SHA-256 o prisutnosti čuda počele su prepoznavati lažnjaci 2003. godine. Tada na protokolu nije bilo pomilovanja.

Prote, već sredinom 2008. godine grupa stručnjaka iz Indije uspjela je saznati brojke za 22 iteracije SHA obitelji arhitektura. Nakon nekoliko mjeseci predlaganja, metoda rješavanja kolizija za skraćenu verziju protokola, a zatim za iteraciju 31 raspršivanja samog neposrednog SHA-256.

Za analizu funkcije grla ispod sat vremena potrebno je testirati točnost do 2 različita napada:

  1. Prisutnost prototipa je dešifriranje cob poruke na yogo hash kodu. Opirníst ova vrsta vplyu jamči najbolju obranu rezultata transformacije.
  2. Rebuvannya kolízíy - slični izlazni podaci s različitim ulaznim parametrima. Što se tiče otpornosti na takve razne napade, nalazi se u izravnom ugaru. Elektronički potpisíz vekoristannyam stvarni protokol.

Tvorci još jedne generacije SHA algoritma lagali su da je novi mehanizam enkripcije funkcionalan na temelju drugih principa. Tako se u jesen 2012. godine u svijetu pojavio protokol treće serije, Keccak.

Praktično zastosuvannya i certificiranje tehnologije

Zakoni Sjedinjenih Država dopuštaju korištenje SHA-256 i drugih sličnih metoda raspršivanja u istim državnim programima za zaštitu informacija. S druge strane, komercijalne tvrtke smiju blokirati algoritam.

Važno! Stoga nema ništa iznenađujuće u činjenici da se ovaj protokol koristi za prvu digitalnu valutu. Izdavanje novih bitcoin kovanica utvrđeno je prema redoslijedu važnosti za trenutnu arhitekturu SHA-256.

Kako se uklapa u specijalizirane gospodarske zgrade za vidobotku kriptovalute? Kožnim heklanjem za ovaj algoritam može se postići jednostavan izgled - primitivna bitna operacija i 32-bitno preklapanje (bilo da je netko tko poznaje osnove sklopovlja, to možete lako vidjeti, kao da gledate u hodniku). I za to učinkovit rad asic-rudarima treba samo desetak blokova i koraka do algoritma.

Za razliku od Bitcoina, Litecoina, Dogcoina i drugih sličnih "kovanica", koristi se protokol za šifriranje Scrypt, koji oprema funkcionalnost preklapanja. Tsey algoritam tijekom aktivnosti uzima 1024 različite vrijednosti hash funkcija, a na izlazu posljednje uzimamo rezultat. Zavdyaki tsomu za provedbu protokola zahtijevat će ludo veliki pritisak.

Visnovok

Može se reći da se SHA-256 protokol čini vrlo lakim i danas ne postoje posebni uređaji (tzv. rudari) koji mogu uspješno zaobići jogu. Od tada je postalo potrebno rudariti na procesoru ili odabrati farme s video kartica, ASIC-prilozi omogućuju svojim gospodarima da zarade više novca. Međutim, koji ima Zvorotny Bik. Izbor rudara kako bi se centralizirala kriptovaluta, također je potrebno razviti nove protokole za raspršivanje. Nakon što je postao takav algoritam, Scrypt je daleko napredniji mehanizam koji zahtijeva značajnu produktivnost i teoretski dopušta posebne primjene posebnih prednosti.

Sa pozicije običnog koristuvača nema razlike između SHA-256 i Scrypt protokola. Možete rudariti digitalnu valutu sa svojim računalom ili farmom bilo kojeg protokola.

Algoritam SHA-256 danas posuđuje preko 40% ukupnog tržišta, zaštite, držanja i više. Ne mogu zaustaviti smrad gušenja proslavljenog nasljednika. Dakle, od par novih, potrebno je nagađati o posebno “miner-proof” Dagger protokolu, koji je izabran za pobjedu u decentraliziranom Maidan Efiriumu. Eventualno, i sam ću preuzeti palicu vođe u hashing room-u i prostoru SHA-256.

, "Secure Hash Standard (SHS)", SAD. Odjel za trgovinu, ožujak 2012

Pojmovi:
Federalni standard za obradu informacija FIPS (Federal Information Processing Standard).
SHA Secure Hash algoritam (Strong Hash algoritam).
Riječ - unsigned mijenja se u 32 bita (4 bajta) ili 64 bita (8 bajtova), kako bi padala na isti način kao i SHA algoritam.

SECURE HASH STANDARD (obitelj kriptografskih funkcija SHA-1 i SHA-2)

Obitelj kriptografske funkcije SHA podijelite s dva podmnožaka: algoritam bez međusobne razmjene SHA-1(objavljen 1995. rotsi - FIPS PUB 180-1) i niz algoritama pod naslovom SHA-2(objavljeno 2002. - FIPS PUB 180-2, ažurirano 2008. - FIPS PUB 180-3): SHA-224, SHA-256, SHA-384, SHA-512; Algoritmi su dodani u FIPS PUB 180-4 2012. godine SHA-512/224і SHA-512/256. Gledamo na standard FIPS PUB 180-4, koji pokriva cijelu obitelj SHA-1 i SHA-2 hash funkcija.

Ovaj standard definira sljedeće hash algoritme: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224і SHA-512/256, koji bi se trebao izračunati na temelju izgleda digitalnih podataka (pregled). Kako unijeti hash-algoritam za prijavu poreza, bilo da je to datum, ale manje, niži 264 bita (za SHA-1, SHA-224і SHA-256) ili manje, nižih 2128 bita (za SHA-384, SHA-512, SHA-512/224і SHA-512/256), tada će se dati rezultat, rang obavijest o sažetku ili hash vrijednosti. Raspon hash vrijednosti informacija nalazi se u rasponu od 160 do 512 bita (ili od 20 do 64 bajta), da bi ležao u odabranom algoritmu. Algoritmi SHA zvuče pobjednički zajedno s drugim kriptografskim algoritmima, na primjer, s algoritmima digitalni potpis bilo za sat raspršivanja s ključem za potvrdu autentifikacije (HMAC), bilo za konjugaciju negativnih brojeva (bit).

Hash algoritmi, koji su uključeni u ovaj standard, nazivaju se sigurnima za one koji se nakon danog algoritma ne mogu dalje izračunati: 1) revidirati upozorenja za određeni sažetak upozorenja, inače 2) znati dvije različite obavijesti, koje mogu biti isti sažetak obavijesti (znati usporedbu). Be-yakí zm_ni u povídomlenní, s dzhe vysokoj ymovirnístyu, proizvodi do različitih vrijednosti hash-a. Snaga ovlasti temelji se na kreiranju pretvorbe digitalnih potpisa, autentifikaciji potvrde i stvaranju obrnutih brojeva.

Algoritam kože sastoji se od dvije faze: Prednja obloga taj hash izračun. Prednja obloga uključuje dodatne informacije, razbijanje dodatnog podsjetnika na M- bit blokovi, і postavljanje početnih vrijednosti, koji su pobjednički kada se broje hash. Izračun hash-a se izračunava iterativno M-bitni blok dodatnih informacija, te hakerske funkcije, konstante i operacije nad riječima za dohvaćanje hash vrijednosti. Rezultat robotskog postupka je izračun probavnog procesa hashê digest.

Algoritmi za razlikovanje između blokova i redaka raspršenih podataka i hash vrijednosti - div. stol 1.

Algoritam Rozmir podomlennya (u dijelovima) Rozmir blok (u bitovima) Rozmir riječi (u bitovima) Ružmarin za sakupljanje informacija (u bitovima)
SHA-1 < 2 64 512 32 160
SHA-224 < 2 64 512 32 224
SHA-256 < 2 64 512 32 256
SHA-384 < 2 128 1024 64 384
SHA-512 < 2 128 1024 64 512
SHA-512/224 < 2 128 1024 64 224
SHA-512/256 < 2 128 1024 64 256
Funkcije

SHA-1 slijed nelinearnih funkcija f 0 , f 1 ,..., f 79. Funkcija kože f t, de 0 ≤ t< 79 , koji radi na tri 32-bitne promjene: x, y, і z, što rezultira rotacijom jedne 32-bitne riječi. U SHA-1 algoritmu pobjeđuje napadački skup nelinearnih funkcija f t (x, y, z):
00 ≤ t ≤ 19Ch(x, y, z)
20 ≤ t ≤ 39Paritet (x, y, z)= x XOR y XOR z
40 ≤ t ≤ 59Maj(x, y, z)
60 ≤ t ≤ 79Paritet (x, y, z)= x XOR y XOR z

Booleova algebra.
Vratiti poštovanje, ono što, na primjer, funkcionira CH možete to reći drugačije:
z XOR (x I (y XOR z))
Rezultat se ne mijenja. U drugim implementacijama algoritma takve se opcije mogu koristiti.

SHA-224 i SHA-256 koji koriste nelinearne funkcije:

Ch(x, y, z)= (x I y) XOR (NE x I z)
Maj(x, y, z)= (x I y) XOR (x AND z) XOR (y AND z)

sigma0(x)= ROTR(x, 2) XOR ROTR(x, 13) XOR ROTR(x, 22)
sigma1(x)= ROTR(x, 6) XOR ROTR(x, 11) XOR ROTR(x, 25)

Delta0(x)= ROTR(x, 7) XOR ROTR(x, 18) XOR SHR(x, 3)
Delta1(x)= ROTR(x, 17) XOR ROTR(x, 19) XOR SHR(x, 10)


n bit:
ROTR(x, n) = (x»n) | (x "(32-n))
SHR - zsuv desna ruka n bit:
SHR(x, n) = x » n

SHA-384, SHA-512, SHA-512/224, SHA-512/384 broj nelinearnih funkcija:

Ch(x, y, z)= (x I y) XOR (NE x I z)
Maj(x, y, z)= (x I y) XOR (x AND z) XOR (y AND z)

sigma0(x)= ROTR(x, 28) XOR ROTR(x, 34) XOR ROTR(x, 39)
sigma1(x)= ROTR(x, 14) XOR ROTR(x, 18) XOR ROTR(x, 41)

Delta0(x)= ROTR(x, 1) XOR ROTR(x, 8) XOR SHR(x, 7)
Delta1(x)= ROTR(x, 19) XOR ROTR(x, 61) XOR SHR(x, 6)

Operacije nad riječima (64-bit).
ROTR - ciklički zsuv desna ruka n bit:
ROTR(x, n) = (x»n) | (x "(64-n))
SHR - zsuv desna ruka n bit:
SHR(x, n) = x » n

Constanti

Constanti K t
00 ≤ t ≤ 19 0x5a827999
20 ≤ t ≤ 39 0x6ed9eba1
40 ≤ t ≤ 59 0x8f1bbcdc
60 ≤ t ≤ 79 0xca62c1d6

(Taman što te jelo pogodilo, zvijezde su došle od brojeva, onda bi trebalo biti džerelo:
0x5A827999 = $\sqrt(2) / 4$ , 0x6ED9EBA1 = $\sqrt(3) / 4$ , 0x8F1BBCDC = $\sqrt(5) / 4$ , 0xCA62C1D6 = $\sqrt(10) / pomnoženo sa $svema 232).

64 konstante (32-bitne riječi): K 0 , K 1 ... K 63. (Za dodatke: qi konstante s prva 32 bita snimljenih dijelova kubnih korijena prva 64 prosta broja).

K = [
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
]

80 konstanti (64-bitne riječi): K 0 , K 1 ... K 79. (Za dodatke: qi konstante s prva 64 bita snimljenih razlomaka kubnih korijena prvih 80 prostih brojeva).

K = [
0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc,
0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118,
0xd807aa98a3030242, 0x12835b0145706fbe, 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2,
0x72be5d74f27b896f, 0x80deb1fe3b1696b1, 0x9bdc06a725c71235, 0xc19bf174cf692694,
0xe49b69c19ef14ad2, 0xefbe4786384f25e3, 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65,
0x2de92c6f592b0275, 0x4a7484aa6ea6e483, 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5,
0x983e5152ee66dfab, 0xa831c66d2db43210, 0xb00327c898fb213f, 0xbf597fc7beef0ee4,
0xc6e00bf33da88fc2, 0xd5a79147930aa725, 0x06ca6351e003826f, 0x142929670a0e6e70,
0x27b70a8546d22ffc, 0x2e1b21385c26c926, 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df,
0x650a73548baf63de, 0x766a0abb3c77b2a8, 0x81c2c92e47edaee6, 0x92722c851482353b,
0xa2bfe8a14cf10364, 0xa81a664bbc423001, 0xc24b8b70d0f89791, 0xc76c51a30654be30,
0xd192e819d6ef5218, 0xd69906245565a910, 0xf40e35855771202a, 0x106aa07032bbd1b8,
0x19a4c116b8d2d0c8, 0x1e376c085141ab53, 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8,
0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3,
0x748f82ee5defb2fc, 0x78a5636f43172f60, 0x84c87814a1f0ab72, 0x8cc702081a6439ec,
0x90befffa23631e28, 0xa4506cebde82bde9, 0xbef9a3f7b2c67915, 0xc67178f2e372532b,
0xca273eceea26619c, 0xd186b8c721c0c207, 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178,
0x06f067aa72176fba, 0x0a637dc5a2c898a6, 0x113f9804bef90dae, 0x1b710b35131c471b,
0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c,
0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817
]

Prednja obloga
1. Dodatne informacije

Meta zrobiti podomlennya djeljiva s 512 ili 1024 bita, deponirati na isti način kao i SHA algoritam. Dodatak se može provjeriti prije postupka izračuna hash-a, ili tijekom postupka brojanja hash-a, prije nego što se blok(ovi) dovrše, koji će biti zamijenjeni.

M dorivnyuê l "jedan" k- dakle, rozmír otrimannogo podomlennya buv 64. reda manji od višekratnika 512 ( l+1+k = 448 mod 512). Dali, 64-bitna obavijest dodaje se konačnom rezultatu l vanjska pomoć M "abc" "jedan", zatim 448 - (24+1) = 423 bita «0» , i na primjer 64-bitni prikaz svijeta 24 = 00 ... 011000. Rezultat će imati 512-bitni prikaz u obliku:

Prihvatljivo je da se dovzhina pamti M dorivnyuê l malo. Podsjetnik do kraja "jedan", a zatim nula - na broju k- dakle, kako bi se broj uklonjenih slova proširio za 128 redaka manje od višekratnika 896 ( l+1+k = 896 mod 1024). Dali, 128-bitna obavijest dodaje se konačnom rezultatu l vanjska pomoć M. Na primjer, (ASCII tekst) imamo podsjetnik "abc" dozhinoy 8 * 3 \u003d 24 bita. Dodaemo to podomlennya "jedan", zatim 896 - (24+1) = 871 bita «0» , i na primjer 128-bitni prikaz svijeta 24 = 00 ... 011000. Rezultat će imati 1024-bitni prikaz u obliku:

2. Razbijanje dodatnog podsjetnika na M- bit blokovi

N M-bitni blokovi.

Dodatne informacije dijele se na broj 512- bit blokovi: M(1), M(2) ... M(N). Jer 512 bita se može pretvoriti u 16 (šesnaest) 32-bitnih riječi, zatim prva 32 bita i M 0 (i), dolazi 32 bita M 1 (i), pa idemo na M 15 (i).

Dodatne informacije dijele se na N 1024- bit blokovi: M(1), M(2) ... M(N). Jer 512 bita se može pretvoriti u 16 (šesnaest) 64-bitnih riječi, zatim prvih 64 bita i th blok M 0 (i), dolazi 64 bita M 1 (i), pa idemo na M 15 (i).

3. Postavljanje početnih vrijednosti

Prije postupka za izračunavanje hash-a, algoritam postavlja početne vrijednosti H. Rozmir ta kílkíst slív H depozit prema odabranom algoritmu.

Chotiri 32-bitne riječi.
H0 = 0x67452301
H1 = 0xefcdab89
H2=0x98badcfe
H3 = 0x10325476
H4 = 0xc3d2e1f0

To je 32-bitni slív.

0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4)

To je 32-bitni slív.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19)

(Za dodatke: vrijednosti qi s prva 32 bita razlomaka iz kvadratnog korijena prostih brojeva - redni brojevi: prvih 8).

Ovo je 64-bitni slív.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17,
0x152fecd8f70e5939, 0x67332667ffc00b31, 0x8eb44a8768581511,
0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4)

(Za dodatke: qi vrijednosti s prva 64 bita razlomaka iz kvadratnog korijena prostih brojeva - redni brojevi: od 9. do 16.).

Ovo je 64-bitni slív.
H0, H1, H2, H3, H4, H5, H6, H7 = (


(Za dodatke: qi vrijednosti s prva 64 bita razlomaka iz kvadratnog korijena prostih brojeva - redni brojevi: prvih 8).



H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b,
0xa54ff53a5f1d36f1, 0x510e527fade682d1, 0x9b05688c2b3e6c1f,
0x1f83d9abfb41bd6b, 0x5be0cd19137e2179)











Ovo je 64-bitni slív.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x8C3D37C819544DA2, 0x73E1996689DCD4D6, 0x1DFAB7AE32FF9C82,
0x679DD514582F9FCF, 0x0F6D2B697BD44DA8, 0x77E36F7304C48942,
0x3F9D85A86A1D36C8, 0x1112E6AD91D692A1)

"SHA-512/t" je uobičajeno ime za t-bitnu hash funkciju temeljenu na SHA-512, čiji je rezultat skraćen na t-bit. Verzija kože t-bit hash funkcije zahtijevat će različite vrijednosti inicijalizacije. Za koga se upisuje poseban postupak dodjeljivanje vrijednosti SHA-512/t cob određenoj varijanti t.

SHA-512/t postupak izvođenja vrijednosti cob.
1. Uzimanje cob vrijednosti H u SHA-512 algoritam.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b,
0xa54ff53a5f1d36f1, 0x510e527fade682d1, 0x9b05688c2b3e6c1f,
0x1f83d9abfb41bd6b, 0x5be0cd19137e2179)

2. Robimo sljedeći izračun:
H0' = H0 XOR 0xA5A5A5A5A5A5A5A5
H1' = H1 XOR 0xA5A5A5A5A5A5A5A5
H2' = H2 XOR 0xA5A5A5A5A5A5A5A5
H3' = H3 XOR 0xA5A5A5A5A5A5A5A5
H4' = H4 XOR 0xA5A5A5A5A5A5A5A5
H5' = H5 XOR 0xA5A5A5A5A5A5A5A5
H6' = H6 XOR 0xA5A5A5A5A5A5A5A5
H7' = H7 XOR 0xA5A5A5A5A5A5A5A5

3. Opcijski hash tip niza SHA-512("SHA-512/t") (na primjer t može biti "224" ili "256") s vrijednostima cob H'. Hash vrijednost i bit će vrijednost cob za algoritam SHA-512/t:
H za SHA-512/224 = SHA512(H', "SHA-512/224")
H za SHA-512/256 = SHA512(H', "SHA-512/256")

Ovo je 64-bitni slív.
H0, H1, H2, H3, H4, H5, H6, H7 = (
0x22312194FC2BF72C, 0x9F555FA3C84C64C2, 0x2393B86B6F53B151,
0x963877195940EABD, 0x96283EE2A88EFFE3, 0xBE5E1E2553863992,
0x2B0199FC2C85B8AA, 0x0EB72DDC81C52CA2)

Hash izračun

U algoritmu "+" vídbuvaetsya za modul 2 32 .

Za i = 1 do N:
{
1. i
M 0 (i) na M 15 (i))
80 sliv rozmirom 32 reda (s W0 na W 79):
W t = M t za t = 0..15
W t = ROTL(W t-3 XOR W t-8 XOR W t-14 XOR W t-16 , 1) za t = 16..79
(Cicavo, što je s cob varijantom SHA specifikacije (SHA-0 algoritam) boo
ciklički poziv ulijevo ROTL(x, 1))

2. U početku promijenite a, b, c, d, e.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)

3. Petlja za glavu funkcije utiskivanja
Za t = 0 do 79
TEMP= ROTL(a, 5) + f t (b, c, d) + e + W t + K t
e=d
d=c
c= ROTL(b, 30)
b = a
a = TEMP

4.
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
}

Rezultirajuća hash vrijednost je 160-bitni sažetak sažetka:
H0(N) || H1(N) || H2(N) || H3(N) || H4(N)(5 redaka * 32 bita = 160 bita)

Operacije nad riječima (32-bit).
ROTL - ciklički poziv ulijevo n bit:
ROTL(x, n) = (x "n) | (x" (32-n))

U algoritmu "+" vídbuvaetsya za modul 2 32 .

Za i = 1 do N:
{
1. i-ti blok podrške za pomoć induciranog algoritma
transformirati iz 16 riječi u svijet 32 ​​kategorije (od M 0 (i) na M 15 (i))
64 riječi imaju 32 ranga (z W0 na W 63):
W t = M t za t = 0..15
W t \u003d W t-16 + Delta0(W t-15) + W i-7 + Delta1(W t-2) za t = 16..63

2.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)
f=H5(i-1)
g=H6(i-1)
h=H7(i-1)

3. Petlja za glavu funkcije utiskivanja
Za t = 0 do 63
TEMP1=h+ Sigma1(e) + CH(e, f, g) + Wt + Kt
TEMP2= Sigma0(a)+ bojnik(a, b, c)
h = g
g = f
f=e
e = d + TEMP1
d=c
c = b
b = a
a = TEMP1 + TEMP2

4. Važna srednja hash vrijednost
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
H5(i) = (H5(i-1) + f)
H6(i) = (H6(i-1) + g)
H7(i) = (H7(i-1) + h)
}

Rezultirajuća hash vrijednost je 256-bitni sažetak sažetka:
(8 redaka * 32 bita = 256 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Algoritam će ponovno raditi sa SHA-256 algoritmom. Definitivno u vrijednostima koje inicijaliziraju, H (razd. više) i u načinu na koji se uzima rezultirajući hash. Jer Uzet ćemo 256-bitni sažetak poruke, uzet ćemo samo prva 224 bita da uzmemo konačnu vrijednost hash:

H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N)(7 redaka * 32 bita = 224 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Algoritam je sličan SHA-256, samo su sve promjene koje riječi su 64-bitne.
U algoritmu "+" dodijeljen za modul 2 64 .

Za i = 1 do N:
{
1. i-ti blok podrške za pomoć induciranog algoritma
transformirati iz 16 riječi u svijet 64 kategorije (od M 0 (i) na M 15 (i))
80 sliv rozmirom 64 reda (s W0 na W 79):
W t = M t za t = 0..15
W t \u003d W t-16 + Delta0(W t-15) + W i-7 + Delta1(W t-2) za t = 16..79

2. U početku promijenite a, b, c, d, e, f, g, h.
a = H0(i-1)
b=H1(i-1)
c = H2(i-1)
d=H3(i-1)
e = H4(i-1)
f=H5(i-1)
g=H6(i-1)
h=H7(i-1)

3. Petlja za glavu funkcije utiskivanja
Za t = 0 do 79
TEMP1=h+ Sigma1(e) + CH(e, f, g) + Wt + Kt
TEMP2= Sigma0(a)+ bojnik(a, b, c)
h = g
g = f
f=e
e = d + TEMP1
d=c
c = b
b = a
a = TEMP1 + TEMP2

4. Važna srednja hash vrijednost
H0(i) = (H0(i-1) + a)
H1(i) = (H1(i-1) + b)
H2(i) = (H2(i-1) + c)
H3(i) = (H3(i-1) + d)
H4(i) = (H4(i-1) + e)
H5(i) = (H5(i-1) + f)
H6(i) = (H6(i-1) + g)
H7(i) = (H7(i-1) + h)
}

Dobivena hash vrijednost je 512-bitni sažetak poruke:
H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N) || H6(N) || H7(N)(8 redaka * 64 bita = 512 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Algoritam će ponovno raditi sa SHA-512 algoritmom. Definitivno u vrijednostima koje inicijaliziraju, H (razd. više) i u načinu na koji se uzima rezultirajući hash. Jer uzet ćemo 512-bitni sažetak poruke, uzet ćemo samo prva 384 bita da uzmemo konačnu vrijednost hash:

H0(N) || H1(N) || H2(N) || H3(N) || H4(N) || H5(N)(6 redaka * 64 bita = 384 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Algoritam će ponovno raditi sa SHA-512 algoritmom. Definitivno u vrijednostima koje inicijaliziraju, H (razd. više) i u načinu na koji se uzima rezultirajući hash. Jer trebamo 512-bitni sažetak, uzimamo samo prva 224 bita da uzmemo konačnu hash vrijednost:

H0(N) || H1(N) || H2(N) || prva 32 bita H3 (N)(3 riječi * 64 bita + 32 bita = 224 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Algoritam će ponovno raditi sa SHA-512 algoritmom. Definitivno u vrijednostima koje inicijaliziraju, H (div. više) i u načinu na koji se uzima rezultirajući hash. Jer uzet ćemo 512-bitni sažetak poruke, uzet ćemo samo prvih 256 bita da uzmemo konačnu hash vrijednost:

H0(N) || H1(N) || H2(N) || H3(N)(4 riječi * 64 bita = 256 bita)
Respect: redoslijed bajtova riječi maske "big-endian"

Kriptografski primitivi
Algoritmi s otvorenim ključem RSA DSA
Stream šifre RC4
Hash funkcije

SHA-256 je jednosmjerna funkcija za pretvaranje digitalnog bitcoina u fiksnu duljinu (256 bita, 32 bajta) iz ulaznih podataka do 2,31 eksabajta (2⁶⁴ bita) Algoritam sigurnog hashiranja, verzija 2) objavila NSA 2002. roci.

Obiteljske hash funkcije SHA-2 na temelju strukture Merkle-Damgard.

Tjedna obavijest nakon dodavanja podijeljena je na blokove, kožni blok za 16 redaka. Algoritam prolazi blok ažuriranja kože kroz ciklus od 64 iteracije. Na iteraciji kože, 2 riječi su transformirane, funkcija transformacije je postavljena na druge riječi. Rezultati obrade skin bloka se zbrajaju, zbroj je vrijednosti hash funkcije. Osskílki íníciziranje Postat ću rezultat kružnog toka vanjske jedinice, glasnik se ruga paralelnim blokovima. Grafički prikazuje jednu iteraciju obrade podatkovnog bloka:

Trenutno postoje metode za konstruiranje kolija do 31 iteracije. Kroz algoritamsku sličnost SHA-2 h SHA-1 i prisutnost u preostalim potencijalnim nedosljednostima, odlučeno je da se SHA-3 temelji na drugom algoritmu. Dana 2. srpnja 2012. NIST je potvrdio Keccak SHA-3 algoritam.

Algoritam za rozrahunka vídbitka vvglyadí pseudokod:

Obrazloženje:
Sve promjene su bez predznaka, mogu se proširiti za 32 bita i zbrajaju se nakon modula 232 pri izračunu
poruka- vyhidne dviykove podomlennya
m- Promijenjene obavijesti Inicijalizacija promjena
(prva 32 bita čestice sačmarice kvadratni korijen prvih osam prostih brojeva [tip od 2 do 19]):
h0:=0x6A09E667
h1:=0xBB67AE85
h2:=0x3C6EF372
h3:= 0xA54FF53A
h4:=0x510E527F
h5:=0x9B05688C
h6:=0x1F83D9AB
h7:=0x5BE0CD19 Konstantna tablica
(prva 32 bita čestice sačmarice kubni korijen prva 64 prosta broja [tip 2 do 311]):
k :=
0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2 Prednja obloga:
m:= poruka ǁ [ jedan otkucaj]
m:= m ǁ , de k- meni najmanje nepoznat broj, takav da
(L + 1 + K) mod 512 = 448
m:= mǁ Dovžina(poruka) - duljina izlazne poruke za bitove za 64-bitni broj po bajtovima od visokog do niskog Sljedeće obavijesti obrađuju se u sljedećim dijelovima od 512 bita:
podijeliti obavijesti u shmatki 512 bita
za skin shmatti shmatok na 16 redaka zavdovke 32 bita (po redoslijedu bajtova od starijeg prema mladom u sredini riječi): w Generirajte dodatnih 48 riječi:
za i pogled 16 prije 63
s0:= (w rotr 7) xor(w rotr 18) xor(w shr 3)
s1:= (w rotr 17) xor(w rotr 19) xor(w shr 10)
w[i] := w + s0 + w + s1
Inicijalizacija dodatnih promjena:
a:=h0
b:= h1
c:=h2
d:= h3
e:= h4
f:= h5
g:= h6
h:= h7 Glavna petlja:
za i pogled 0 prije 63
Σ0:= (a rotr 2) xor(a rotr 13) xor(a rotr 22)
Ma:= (a i b) xor(a i c) xor(b i c)
t2:= Σ0 + Ma
Σ1:= (npr rotr 6) xor(e rotr 11) xor(e rotr 25)
Ch:= (npr i f) xor ((ne e) i g)
t1: = h + Σ1 + Ch + k[i] + w[i] h: = g
g:= f
f:=e
e:= d + t1
d:=c
c:=b
b:=a
a:= t1 + t2 Dodajte posljednju vrijednost prethodno izračunatom rezultatu:
h0:= h0 + a
h1:= h1 + b
h2:= h2 + c
h3:= h3 + d
h4:= h4 + e
h5:= h5 + f
h6:= h6 + g
h7:= h7 + h Skinite zbroj hash vrijednosti:
digest = hash = h0 ǁ h1 ǁ h2 ǁ h3 ǁ h4 ǁ h5 ǁ h6 ǁ h7

Algoritam se koristi:

  • bitcoin- emisija kriptovalute kroz traženje zvukova s ​​okvirima iste vrijednosti
  • DNSSEC- Sažetak DNSKEY
  • DSA- dobit za izradu elektroničkog digitalnog potpisa
  • IPSec- u protokolima ESPі IKE
  • OpenLDAP- hešovi lozinke
  • PGP- namig za izradu elektroničkog digitalnog potpisa
  • S/MIME- sažetak pregleda
  • ŠACAL-2- algoritam za šifriranje blokova
  • X.509- dobit za izradu certifikata elektroničkog digitalnog potpisa
Kvarovi