SHA, lyhenne sanoista Secure Hash Algorithm, on salaushajautusalgoritmiperhe, jonka on julkaissut National Institute of Standards and Technology (NIST) pitääksesi tietosi suojattuna. Vuonna 1995 NIST hyväksyi Secure Hash -standardin, FIPS PUB 180-1, joka sisälsi yhden suojatun hash-algoritmin, SHA-1. Vuonna 2003 hyväksyttiin uusi Secure Hash Signature Standard (SHS), FIPS PUB 180-2, lisäämällä kolme hash-algoritmia, jotka pystyvät tuottamaan suurempia viestihahmoja, ylittäen FIPS 180-1: n. FIPS PUB 180-2 määrittelee neljä suojattua hash-algoritmia, SHA-1, SHA-256, SHA-384 ja SHA-512 - ne kaikki ovat iteratiivisia, ts. Yksisuuntaiset hash-toiminnot, jotka voivat käsitellä viestin tiivistetyssä edustus, jota kutsutaan viestien sulatukseksi. Pääasiassa niiden tehokkuuden vuoksi kryptografisilla hash-toiminnoilla on keskeinen merkitys salausalgoritmeille ja protokollille.
Tämä artikkeli keskittyy pääasiassa nykyään käytössä oleviin kahteen suosittuun salaustekniikkaan liittyvään hajautustoimintoon - SHA-1 ja SHA-256. Osa SHS-standardia (SHS), SHA-1 oli varhaisimpia hash-algoritmeja, joita SSL-varmentajat usein käyttävät varmenteiden allekirjoittamiseen. Se julkaistiin vuonna 1993 nimellä SHA, mutta tietoturvavirheen vuoksi se korvattiin myöhemmin turvallisemmalla SHA-1: llä. Se on ylivoimaisesti yksi eniten käytettyjä ja käyttöön otettuja salaustekniikan hajautusfunktioita. SHA-256: lla on sama taustalla oleva rakenne ja se käyttää samantyyppisiä modulaarisia aritmeettisia ja loogisia binäärioperaatioita kuin SHA-1. SHA-256 kuuluu SHA-2-perheeseen, jolla on samanlaisia hash-toimintoja, joilla on eri lohkokoko, toinen on SHA-512. Se on hash-toiminto, jota käytetään yleisesti Blockchain-järjestelmässä.
SHA-1 on yksi yleisimmin käytetyistä ja käyttöön otetuista kryptografisista hash-toiminnoista, joita SSL-varmentajaviranomaiset käyttävät usein varmenteiden allekirjoittamiseen. Se oli yksi vanhimmista hash-algoritmeista, jotka Yhdysvaltain liittohallitus on määritellyt käytettäväksi. Sen ovat kehittäneet NIST ja NSA. SHA-1 julkaistiin liittovaltion hallintostandardina vuonna 1995 päivityksenä SHA: lle, joka julkaistiin vuonna 1993. Se ottaa syötteen ja tuottaa 160-bittisen (20 tavun) hash-arvon, joka tunnetaan sanomien yhteenvedona, tyypillisesti edustettuna. 40-numeroisella pitkällä heksadesimaalisella merkkijonolla. SHA-1 on suunniteltu siten, että laskennallisesti on mahdotonta löytää viestiä, joka vastaa annettua viestiluetteloa, tai löytää kaksi erilaista viestiä, jotka tuottavat saman viestiluettelon..
SHA-256 on uudempi, turvallisempi kryptografinen hash-toiminto, jota ehdotettiin vuonna 2000 uuden sukupolven SHA-toiminnoiksi ja joka otettiin käyttöön FIPS-standardina vuonna 2002. SHA-256-algoritmi tuottaa 256-bittisen hash-arvon pehmustetusta 512-bittisestä. viesti estää, ja alkuperäisen viestin koko on enintään 264-1 bittiä. SHA-256 laskee aina 256-bittisen tiivisteen sisäisesti turvallisuuden vuoksi, mutta tämä tuloksena voidaan katkaista joko 196 tai 128 bitin tulostamiseen ja varastointiin. Täten katkaistu SHA-256 tuottaa huomattavan hyödyn ihmisen käytettävyydelle painetussa viitteessä ja parantaa merkittävästi turvallisuutta MD5: ään liittyvän pienen suorituskyvyn heikkenemisen kustannuksella. Toisin kuin MD5-algoritmi, katkaistuun SHA-256: een ei kohdistu mitään tunnettuja hyökkäyksiä.
- SHA-1 on yksi yleisimmin käytetyistä ja käyttöön otetuista kryptografisista hash-toiminnoista, joita SSL-varmentajaviranomaiset käyttävät usein varmenteiden allekirjoittamiseen. Se oli yksi vanhimmista hash-algoritmeista, jotka Yhdysvaltain liittohallitus on määritellyt käytettäväksi. SHA-256 on uudempi, turvallisempi kryptografinen hash-toiminto, jota ehdotettiin vuonna 2000 SHA-toimintojen uudeksi sukupolveksi ja joka otettiin käyttöön FIPS-standardina vuonna 2002. SHA-256 kuuluu SHA-2-ryhmään kryptografisia hash-algoritmeja, joilla on samanlainen hash toiminnot, mutta erilainen lohkokoko, toiset ovat SHA-384 ja SHA-512.
- SHA-1 on 160-bittinen tiiviste, joka ottaa syötteen, ja tuottaa 160-bittisen (20 tavun) hash-arvon, joka tunnetaan nimellä sanomakokoonpano, jota tyypillisesti edustaa 40-numeroinen pitkä heksadesimaalijono. SHA-1 on suunniteltu siten, että laskennallisesti on mahdotonta löytää viestiä, joka vastaa annettua viestiluetteloa, tai löytää kaksi erilaista viestiä, jotka tuottavat saman viestiluettelon. SHA-256-algoritmi tuottaa 256-bittisen tiivistearvon pehmustetuista 512-bittisistä viestilohkoista, ja alkuperäinen viestikoko on enintään 264-1 bittiä.
- Laskentatehon kasvaessa myös SHA-1: n murtamisen toteutettavuus on parantunut. Se oli yksi vanhimmista hash-algoritmeista, jotka Yhdysvaltain liittohallitus on määritellyt käytettäväksi, ja pienemmän bittinsä vuoksi se on alttiimpi hyökkäyksille. Vaikka SHA-256: lla on sama taustalla oleva rakenne ja se käyttää samantyyppisiä modulaarisia aritmeettisia ja loogisia binäärioperaatioita kuin SHA-1, siitä on tullut olennainen osa monissa sovelluksissa. SHA-256 laskee aina 256-bittisen tiivisteen sisäisesti turvallisuuden parantamiseksi, mikä parantaa huomattavasti turvallisuutta kustannuksella, joka johtuu MD5: ään liittyvän pienen suorituskyvyn heikkenemisestä..
Lyhyesti sanottuna, SHA-256 on luotettavampi ja turvallisempi kuin SHA-1. SHA-256 kuuluu NSA: n suunnittelemien SHA-2-kryptografisten hash-toimintojen perheeseen ja sitä käytetään yleisesti Blockchainissa. SHA-1 oli varhaisimpia salaustekniikan hash-toimintoja, joita SSL-varmentajaviranomaiset käyttivät usein varmenteiden allekirjoittamiseen. Pienemmän bittinä ja tietoturva-aukkojensa vuoksi se on kuitenkin tullut alttiimpi hyökkäyksille ajan myötä, mikä lopulta johti sen arvon alenemiseen SSL-sertifikaattien myöntäjiltä.