Hajautusgeneraattori
Luo kryptografisia hajautuksia mistä tahansa tekstistä.
Mika on tiivistefunktio?
Tiivistefunktio (hash) muuntaa mielivaltaisen syotteen kiinteapituiseksi merkkijonoksi (tiivisteeksi). Sama syote tuottaa aina saman tiivisteen, mutta pienenkein muutos syotteessa tuottaa taysin erilaisen tuloksen. Tiivisteet ovat kryptografian, tietojen eheyden, salasanojen tallennuksen ja digitaalisten allekirjoitusten perusta.
Hyva tiivistefunktio on nopea laskea, tuottaa tasaisen jakautuman, tekee kaytannossa mahdottomaksi loytaa kaksi eri syotetta, jotka tuottavat saman tiivisteen (toormayskestaeyyys), ja tekee mahdottomaksi paatella syotetta tiivisteestae (esikuvaresistenssi).
Tiivistealgoritmit
- SHA-1: SHA-1 tuottaa 160-bittisen tiivisteen. Ei turvallinen kryptografiseen kayttoon (toormaysturvallisuus murrettu 2017), mutta kaytetaan edelleen Gitissa ja ei-turvallisuustarkoituksissa.
- SHA-256: SHA-256 tuottaa 256-bittisen tiivisteen. SHA-2-perheen jaseen, laajalti kaytetty TLS-sertifikaateissa, lohkoketjussa (Bitcoin) ja digitaalisissa allekirjoituksissa. Taman hetken standardi turvallisuuskriittisiin sovelluksiin.
- SHA-384: SHA-384 tuottaa 384-bittisen tiivisteen. Tarjoaa suuremman turvamarginaalin kuin SHA-256 hieman suuremmalla tulosteella.
- SHA-512: SHA-512 tuottaa 512-bittisen tiivisteen. Voi olla nopeampi kuin SHA-256 64-bittisilla prosessoreilla. Kaytetaan, kun tarvitaan suurin mahdollinen turvamarginaali.
Yleisia kayittoitarkoituksia
- Salasanojen tallennus — salasanat tiivistetaan (suolalla) tietokantaan. Vuodon sattuessa alkuperaisia salasanoja ei paljasteta.
- Tietojen eheys — latausten tarkistussummat varmistavat, etta tiedosto ei ole muuttunut tai vaurioitunut siirron aikana.
- Digitaaliset allekirjoitukset — asiakirjan tiiviste allekirjoitetaan yksityisella avaimella todistaen sen aitouden.
- Versionhallinta — Git tunnistaa jokaisen commitin, puun ja blobin SHA-1-tiivisteella.
- Lohkoketju — lohkot linkitetaan toisiinsa edellisen lohkon tiivisteella, luoden muuttamattoman ketjun.
Tiivistaminen vs. salaus
Tiivistaminen on yksisuuntainen operaatio: syotteesta tiivisteeseen, ei takaisin. Salaus on kaksisuuntainen: selkotekstista salatekstin kautta takaisin selkotekstiksi avaimella. Tiivistamista kaytetaan eheyden tarkistamiseen (onko data muuttunut?). Salausta kaytetaan luottamuksellisuuteen (vain oikeutetut osapuolet voivat lukea datan).
Turvallisuusnakokohtia
MD5 on rikottu — tormayksia voidaan generoida sekunneissa. Ala kayta turvallisuustarkoituksiin. SHA-1 on heikentynyt — teoreettisia tormayksia on osoitettu. Kayto ei suositella uusiin jarjestelmiin. SHA-256 ja SHA-3 ovat talla hetkella turvallisia kryptografiseen kayttoon. BLAKE3 on uudempi vaihtoehto, joka on erittain nopea ja turvallinen.
Usein kysytyt kysymykset
Mika on tiivistamisen ja salauksen ero?
Tiivistaminen on yksisuuntaista — alkuperaista syotettaa ei voi palauttaa tiivisteestae. Tiivisteet ovat aina saman pituisia riippumatta syotteen koosta. Salaus on kaksisuuntaista — salattu viesti voidaan purkaa oikealla avaimella. Salattu tuloste vaihtelee kooltaan syotteen mukaan.
Voiko tiivisteen purkaa takaisin alkuperaiseksi?
Ei. Tiivistefunktiot ovat yksisuuntaisia. Voit kuitenkin kayttaa sateenkaaritaulukoita tai brute force -hyokkayksiae yleisten syotteiden (kuten salasanojen) loytamiseen. Siksi salasanat tiivistetaan suolalla (satunnaisella lisadatalla) ja hitailla algoritmeilla kuten bcrypt, ei pelkallae SHA:lla.