Kommentit
- Hajauta sama syöttö uudelleen ja vertaa tiivistettä.
- SHA256 on salaus hash, ei salaus … Ja kyllä, asia on nimenomaan yksisuuntainen. Ehdotan, että opit näiden termien perusteet, esim. jopa Wikipediasta. Sitten voit tulla esittämään tarkempia kysymyksiä …
- Mahdollinen kopio Miksi hajautusfunktiot ovat yksi tapa? Jos tiedän algoritmin, miksi ' t voin laskea siitä syötteen?
Vastaa
Ensinnäkin -sekoitus ja välillä on ero salaus . SHA256 on hajautusfunktio, ei salausfunktio.
Toiseksi, koska SHA256 ei ole salausfunktio, sitä ei voida purkaa. Tarkoitat todennäköisesti kääntämällä sen. Siinä tapauksessa SHA256 ei voida peruuttaa, koska se ”sa yksisuuntainen toiminto . Sen peruuttaminen aiheuttaisi preimage-hyökkäys , joka rikkoo suunnittelutavoitteensa.
Kolmanneksi SHA256-vahvistus toimii laskemalla se uudelleen ja vertaamalla tulosta käsillä olevaan tulokseen. Jos molemmat tulokset vastaavat, vahvistus onnistuu. Teoreettinen tausta on, että on vaikea löytää toista syötettä, joka antaa saman hash-tuloksen. Tämän rikkominen luo toisen preimage-hyökkäyksen , joka rikkoo sen suunnittelutavoitteen.
Lopuksi digitaaliset allekirjoitukset eivät ole vain hash- ja key-yhdistelmiä. Hajautusfunktio voi kuitenkin parantaa sen turvallisuutta.
Answer
SHA256 ei ole salausfunktio, vaan hajautusfunktio . Perusero on se, että vaikka salaus on kaksisuuntainen toiminto (koska avain on annettu), hash on vain yksisuuntainen toiminto: kun otetaan huomioon jotkut tiedot, voit laskea hashin, kun otetaan huomioon hash, tietojen hankkiminen on vaikeaa (ja matemaattisesti mahdotonta) .
Sanoin, että tietoja hashista on matemaattisesti mahdotonta löytää, koska tavallisesti hash-funktiolla on pieni koodiverkko (esimerkiksi 256bit SHA256: lle) mutta iso verkkotunnus (voit hajauttaa minkä tahansa merkkijonon), joten törmäyksiä tapahtuu: eri merkkijonoja samalla hashilla.
Tästä syystä, jos salasanasi tallennetaan tiivistettyyn muotoon, on olemassa ääretön salasana (mutta ne voivat olla hyvin pitkiä), joka avaa tilisi lukituksen.
Hyvä uutinen on, että törmäykset ovat harvinaisia, kun käytät -salausfunktioita , joten tilisi on edelleen turvassa.
Vastaaminen kysymyksesi ensimmäiseen osaan, tietojen todentaminen on helppoa: jos Alice lähettää Bobille tiedoston hash-tarkistussummalla, Bob voi helposti laskea t arkistoi saamansa asiakirjan ja vertaa sitä Alicelta saamaansa hashiin. Tämä riittää yleensä selvittämään, onko lähetyksen aikana ollut virheitä (joten tiedosto on vioittunut), mutta se ei riitä, jos joku hyökkääjä, joka myös muutti hashia, on muuttanut lähetystä. Joten Alice ja Bob tarvitsevat suojattu kanava tiivisteen lähettämiseksi (esimerkiksi https-sivu, jolla on voimassa oleva varmenne), tai heidän on allekirjoitettava hash jollakin tavalla.
Joten siirrymme vastaukseen toiseen kysymykseesi: Alice voi allekirjoittaa hajauttaa yksityisen avaimensa ennen kuin lähettää sen Bobille, joten hyökkääjä ei voi manipuloida sitä tekemättä allekirjoitusta mitätöimättä.
Nyt voit kysyä, miksi Alice allekirjoittaa vain RSA (tai vastaavalla) avaimellaan hash eikä kaikki viestit, tämä johtuu siitä, että RSA: n laskeminen on hitaampaa kuin hash: n laskeminen (joten hänen on tehtävä hidas asia vain pienellä merkkijonolla: hash). Tämä oli totta varsinkin kun PGP luotiin ja tietokoneet olivat hitaampia.