Mikä on ero SHA-3: n ja SHA-256: n välillä?

Olen uusi salaus, olen oppinut, että SHA-3 (Secure Hash Algorithm 3) on viimeisin jäsen NIST: n julkaisema Secure Hash Algorithm -standardiperhe.

Mutta näin äskettäin SHA-256, mutta en ymmärrä mitä se on verrattuna SHA-3?

Kommentit

  • SHA-256 on SHA-2 ja 256-bittinen lähtö. SHA-2 on SHA-3: n edeltäjä. He jakavat vain vähän nimen ulkopuolella.
  • Mutta nimi vangitsee sisällön, Jos et tee salausta, nämä kaikki ovat Secure Hash -algoritmeja. Sopimus- ja turvallisuusvaatimukset ovat lähes identtisiä .
  • @MeirMaor Kun otetaan huomioon SHA-1: n olemassaolo, joka näyttää olevan rohkea lausunto.
  • @Maeher, SHA1 luotiin olennaisesti samoilla vaatimuksilla, tiedämme nyt, ettei se div id = ”6e74f3d0e9″>

t täyttävät ne. Ainakin törmäyslujuusvaatimukset. Sen ulostulokoko on myös pienempi SHA3: lla voi olla sama ulostulokoko kuin SHA2: lla.

Vastaus

Tärkeimmät erot vanhemman SHA-256: n välillä FIPS 180 : n SHA-2-perheen ja FIPS 202 , ovat:

  • Pidennyshyökkäysten vastustuskyky. SHA-256: lla annettu $ H (m) $ mutta ei $ m $ , on helppo löytää $ H (m \ mathbin \ | m ”) $ tietyille loppuliitteille $ m” $ . Ei niin missään SHA-3-toiminnoissa.

    Tämä tarkoittaa esim , että $ m \ mapsto H (k \ mathbin \ | m) $ ei ole suojattu viestin todennuskoodi avaimen $ k $ alla, kun $ H $ on SHA-256, koska yhden viestin todentajan tunteminen antaa sinun väärentää todentajan toiselle. Pituuslaajennusominaisuus muutti osittain HMAC: n kehitystä.

    Sen sijaan avaimen etuliitteen rakenne on turvallinen MAC: na, kun $ H $ on jokin SHA-3-toiminnoista – tai jompikumpi uudemmista SHA-2-toiminnoista SHA-512/224 ja SHA-512/256. SHA-224: lle, joka on olennaisesti SHA-256: n 224-bittinen katkaisu (mutta eri IV: llä), vastustajalla on mahdollisuus $ 2 ^ {- 32} $ arvailla hävitetyt tuotobitit yhdessä kokeilussa – pieni mutta ei vähäpätöinen.

  • Suorituskyky. SHA-2-toiminnoilla – erityisesti SHA-512, SHA-512/224 ja SHA-512/256 – on yleensä parempi suorituskyky kuin SHA-3-toiminnoilla. Osittain tämä johtui paranoidista ja poliittisista syistä SHA-3-suunnitteluprosessissa.

    (Vastauksena yksi SHA-3-finalisteista kehrättiin paljon nopeammin BLAKE2 , jota käytetään myös laajasti Internetissä tänään, ja SHA-3-voittaja Keccak kehrättiin paljon nopeammin KangarooTwelve . )

  • Täysin erilainen sisäinen muotoilu. SHA-2 käyttää Daviesia –Meyer-rakenne, esimerkki Merkle – Damgård-rakenteesta, jossa on salakoodaus (joskus kutsutaan SHACAL-2), joka on rakennettu ARX-verkosta, kuten MD4; SHA-3 käyttää sienirakennetta Keccakin permutaation kanssa.

    Täällä ei ole käyttäjälle näkyvä eroa, mutta salauskirjoittajien luottamukseen suunnitteluun on ollut merkitystä monien DM: n jälkeen. MD4-pohjaiset ARX-mallit rikkoutuivat 90-luvun lopulla ja 2000-luvun alussa.


Historia. NIST on vakiinnuttanut pitkän hash-toimintojen rivin FIPS 180: ssä, Secure Hash -standardissa ja myöhemmin FIPS 202: ssa SHA-3-standardissa: Permutation-Based and Extendable-Output Toiminnot. Lisätietoja ja historia, mukaan lukien niihin liittyvät MD4- ja MD5-hash-toiminnot, joihin SHA-0, SHA-1 ja SHA-2 – mutta eivät SHA-3 – perustuivat:

\ begin {yhtälö} \ begin {array} {ccc} \ text {hash} & \ text {vuosi} & \ text {coll. res.} & \ text {size (bits)} & \ text {design} & \ text {rikki?} \\ \ hline \ text {MD4} & 1990 & 64 & 128 & \ text {32-bittinen ARX DM} & 1995 \\ \ text {SHA-0 (SHA)} & 1993 & 80 & 160 & \ text {32 -bit ARX DM} & 1998 \\ \ text {MD5} & 1993 & 64 & 128 & \ text {32-bittinen ARX DM} & 2004 \\ \ text {SHA-1} & 1995 & 80 & 160 & \ text {32-bittinen ARX DM} & 2005 \\ \ hline \ text {SHA-256 (SHA-2)} & 2002 & 128 & 256 & \ text { 32-bittinen ARX DM} & \\ \ te xt {SHA-384 (SHA-2)} & 2002 & 192 & 384 & \ text {64-bittinen ARX DM} & \\ \ text {SHA-512 (SHA-2)} & 2002 & 256 & 512 & \ text {64-bittinen ARX DM} & \\ \ hline \ text {SHA-224 (SHA-2)} & 2008 & 112 & 224 & \ text {32-bittinen ARX DM} & \\ \ text {SHA-512/224} & 2012 & 112 & 224 & \ text {64-bittinen ARX DM} & \\ \ text {SHA-512/256 } & 2012 & 128 & 256 & \ text {64-bit ARX DM} & \\ \ hli ne \ text {SHA3-224} & 2013 & 112 & 224 & \ text {64-bittinen Keccak-sieni} & \\ \ text {SHA3-256} & 2013 & 128 & 256 & \ text {64-bittinen Keccak-sieni} & \\ \ text {SHA3-384} & 2013 & 192 & 384 & \ text {64-bittinen Keccak-sieni} & \\ \ text {SHA3-512 } & 2013 & 256 & 512 & \ text {64-bittinen Keccak-sieni} & \\ \ text {SHAKE128} & 2013 & {\ leq} 128 & \ text {any} & \ text {64-bittinen Keccak-sieni} \\ \ text {SHAKE256} & 2013 & {\ leq} 256 & \ text {any} & \ text {64-bittinen Keccak-sieni} \ end {array} \ end {yhtälö}

  • Vuonna 1993 NIST julkaisi FIPS 180 , Secure Hash -standardin, joka määritteli SHA-0 , alun perin juuri nimeltään SHA Secure Hash -algoritmille, tarkoitettu käytettäväksi äskettäin julkaistun DSA: n kanssa. SHA-0 on yksi 160-bittinen hash-toiminto, joka on tarkoitettu 80-bittiseen törmäysturvallisuuteen (ja nyt täysin rikki) , perustuu MD4: n suhteellisen uudesta ja nopeasta suunnittelusta vuonna 1990.

  • Vuonna 1995 NIST veti hiljaa FIPS 180: n ja korvasi sen FIPS 180-1 , joka määrittelee SHA-1 , joka eroaa SHA-0: sta yhden sisällyttämällä siihen bittinen kierto. Kuten SHA-0, SHA-1 on yksi 160-bittinen hash-toiminto, joka on tarkoitettu 80-bittiseen törmäysturvallisuuteen (ja nyt täysin rikki).

    Muutokselle ei annettu julkista selitystä, mutta ei kauan ennen kuin Eli Biham oli julkaissut differentiaalisen salauksen analyysin ja akateeminen yhteisö tajusi, että NSA: n tekemät muutokset DES S-laatikoihin 1970-luvulla parannettiin tietoturvaa (pidä mielessä, että ne pienensivät Luciferin 128-bittisen avainkoon 56 bitiksi DES: lle, tuhoten samalla turvallisuuden). Samana vuonna Dobbertin rikkoi MD4 [1] ja ensi vuonna vakavasti vahingoittunut MD5 [2] . Pian sen jälkeen, vuonna 1998, Florent Chabaud ja Antoine Joux ilmoitti $ 2 ^ {61} $ -cost törmäyshyökkäyksestä SHA-0: ta vastaan [3] .

  • NIST julkaisi vuonna 2002 FIPS 180-2 , jossa määriteltiin SHA-2 , perhe , johon liittyy erikokoisia hash-toimintoja: SHA- 256, SHA-384 ja SHA-512, jotka on nimetty ulostulokokoistaan ja jotka tähtäävät vastaavasti 112-, 128-, 192- ja 256-bittisiin törmäysvastuksiin. SHA -2 toimintoa jatkoi MD4: n, MD5: n, SHA-0: n ja SHA-1: n suunnitteluperiaatteita, enemmän kierroksia ja suurempaa tilaa. Pian sen jälkeen, vuonna 2004, Xiaoyun Wangin tiimi ilmoitti MD5: n ja muiden hash-toimintojen täydellisistä törmäyksistä [4] ja julkaisi vuonna 2005 $ 2 ^ {69} $ -kustannushyökkäys SHA-1: tä vastaan [5] , huomattavasti halvempi kuin yleinen. Kun monet MD4-pohjaisista malleista on nyt rikki, kaikki hermostuivat tästä suunnittelusta, joten…

  • Vuonna 2007 NIST käynnisti SHA-3-kilpailun suunnitellakseen SHA-2: n seuraaja, jos muotoilu osoittautuu huonoksi. Kilpailu järjestetään useita vuosia.

  • Samaan aikaan NIST päivitti vuonna 2008 Secure Hash Standard FIPS 180-3 , lisäämällä SHA-224 SHA-2-perheeseen ja sitten vuonna 2012 NIST päivitti sen uudestaan nimellä FIPS 180-4 (2012) , lisäämällä SHA-512/224 ja SHA-512/256 , nopeammat 256- ja 384-bittiset hash-toiminnot 64-bittisissä koneissa, jotka kestävät pidennyshyökkäyksiä, jotka antavat yhden laskea $ H (m \ mathbin \ | m ”) $ annettu $ H (m) $ ja tietyt $ m” $ ilman tietäen $ m $ .

  • Vuonna 2013 SHA-3 -kilpailu päättyi Keccakin valitsemaksi NIST-voittajaksi jonka he julkaisivat FIPS 202 . SHA-3 sisältää neljä kiinteäkokoista hajautusfunktiota, SHA3-224, SHA3-256, SHA3-384, SHA3-512 ja kaksi laajennettavissa olevan ulostulon hash-toimintoa SHAKE128 ja SHAKE256 , jotka saavuttavat jopa 128-bittisen tai 256 -bitin suojaustaso, jos lähtö on riittävän pitkä.

    SHA-3: n muotoilu eroaa täysin SHA-2: sta, mikä antaa varmuuden siitä, että MD4-pohjaisten mallien kryptaanalyyttiset läpimurrot eivät todennäköisesti vaikuta SHA-3, vaikka puolitoista vuosikymmentä 2000-luvun alun verikylvyn jälkeen ei ole mehiläistä myöskään paljon edistystä SHA-2: n suhteen. Kiinteän koon SHA-3-toiminnoille valitut parametrit suunniteltiin vahingossa ylisuunnitelluiksi poliittisista syistä [6] , joten SHA-3-toiminnot, kuten SHA3-256, ovat hitaammin kuin heidän on oltava, ja sinun tulisi yleensä käyttää vain SHAKE128- tai SHAKE256-kanavia.

Kommentit

  • sano " täysin rikki ", sikäli kuin ymmärrän sen, on mahdollista laskea m1 , m2 siten, että H ( m1 ) = H ( m2 ). Kukaan ei kuitenkaan ole vielä onnistunut laskemaan viestiä m (joka ei ole yhtä suuri kuin M ) kiinteän viestin M avulla, niin että H ( M ) = H ( m ).
  • @MartinBonner Kyllä, puhun törmäysvastuksesta ' m täällä, siksi juuri ennen ”ja nyt täysin rikki” olevat kaksi sanaa ovat ”törmäysturva”. En ' en käsittele ennakkovastusta tässä, koska ennalta kuvankestävän mutta ei törmäyksenkestävän hash-toiminnon turvallinen käyttö on hyvin hienovarainen ja minä ' m yritän jättää ansoja varattomille lukijoille ; Käsittelen MD5: n tilaa ' s preimage vastus muualla , kun se ' kysyi erikseen.

Vastaa

Ero SHA256: n ja SHA3: n välillä

SHA256: n ja SHA3: n tärkein ero on niiden sisäinen algoritmisuunnittelu .

SHA2 (ja SHA1) rakennetaan käyttämällä Merkle – Damgård-rakennetta .

SHA3 puolestaan on rakennettu käyttämällä sienitoiminto ja kuuluu Keccak-perheeseen.

Nimi saattaa olla harhaanjohtava ajatellessaan, että SHA3 verrattuna SHA2: een on vain " uudempi " -algoritmin versio. Kuten SEJPM sanoi: " […] He jakavat vain vähän nimen ulkopuolella." Nimi annetaan juuri osoitteesta NIST ja tarkoittaa " Suojattu hajautusalgoritmi ", virallisten standardien perhe.

Vaikka voit luoda MAC s sekä SHA256: lla että SHA3: lla, SHA3 MAC: ää on helpompi käyttää (katso fgrieun kommentti alla).

Output

SHA256 tuottaa 256-bittisen hash: n. / p>

SHA3 sallii tuloksen

  • 224-bittisestä
  • 256-bittisestä
  • 384-bittisestä
  • 512-bittinen

hash, vaikka SHA2-variantit (SHA256 on yksi näistä muunnelmista) sallivat myös nämä pituudet.

SHA3-algoritmeja voidaan muuttaa " RAVISTA " -algoritmeja, ja ne sallivat mielivaltaisen pituisen ulostulon. Löydät lisätietoja kohdasta tämä aiemmin esitetty kysymys .

Turvallisuus

Hashes, jotka käyttävät vain Merkle – Damgård-rakennetta ja tuottavat täyden hyödyn l (tai melkein täysi) tila on haavoittuvainen pidennyshyökkäyksille .

SHAKE-algoritmit ovat hyödyllisiä myös Optimaalinen epäsymmetrinen salauksen täyte .


Voit tarkastella suoraa vertailua täällä (wikipedia) .

Kommentit

  • Tarkkaan ottaen " Merkle – Damg å rd-rakenne on alttiina pidennyshyökkäyksille " on väärä. Vasta-esimerkkejä ovat SHA-512/256 ja SHA-384, koska ne eivät tuota koko tilaansa. Toinen on SHA-256d, määritelty SHA-256d (m) = SHA-256 (SHA-256 (m)), koska se piilottaa ensimmäisen hash-tilan. Tärkeää on, että " hajautukset, jotka vain käyttävät vain Merkle – Damg å rd-rakennetta ja niiden koko (tai lähes täysi) tila ovat alttiita pidentämishyökkäyksille ". Siellä ' on toinen ero SHA-2: n ja SHA-3: n välillä: myöhempää on helpompi käyttää MAC: nä.
  • Mitä tarkoitat " helpompi käyttää " MAC-tiedostona? Turvallisempi / nopeampi / toteutus?
  • Voimme rakentaa MAC: n suojausargumentilla SHA-3: sta muodossa $ \ text {SHA-3} (K \ | M) $ (tietylle pituudelle $ K $ se riippuu SHA-3-muunnoksesta ja sen pitäisi olla uh, en tiedä varmasti '; kun emme ' ole tällaista argumenttia SHA-2: n kanssa (vaikka pidennysominaisuutta ei sovellettaisikaan). Katso salaustyyppitoimintojen osa 5.1.12.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *