{"id":11,"date":"2026-06-10T09:12:57","date_gmt":"2026-06-10T09:12:57","guid":{"rendered":"https:\/\/shattered.io\/fi\/2026\/06\/10\/hash-funktiot\/"},"modified":"2026-06-10T09:12:57","modified_gmt":"2026-06-10T09:12:57","slug":"hash-funktiot","status":"publish","type":"post","link":"https:\/\/shattered.io\/fi\/cryptography\/hash-funktiot\/","title":{"rendered":"Kryptografiset tiivistefunktiot: ominaisuudet ja k\u00e4ytt\u00f6"},"content":{"rendered":"<h2 id=\"mika-on-tiivistefunktio\">Mik\u00e4 on tiivistefunktio<\/h2>\n<p>Tiivistefunktio on algoritmi, joka ottaa mink\u00e4 tahansa kokoisen sy\u00f6tteen ja tuottaa siit\u00e4 kiinte\u00e4nmittaisen tuloksen, jota kutsutaan tiivisteeksi tai hash-arvoksi. Sy\u00f6te voi olla yksitt\u00e4inen sana, kokonainen asiakirja tai usean gigatavun tiedosto, mutta tulos on aina saman pituinen. Tiiviste toimii ik\u00e4\u00e4n kuin datan tiivistettyn\u00e4 sormenj\u00e4lken\u00e4.<\/p>\n<p>Kaikki tiivistefunktiot eiv\u00e4t kuitenkaan ole samanlaisia. On t\u00e4rke\u00e4\u00e4 erottaa toisistaan tavalliset, ei-kryptografiset tiivistefunktiot ja kryptografiset tiivistefunktiot. Ne palvelevat eri tarkoituksia, ja niilt\u00e4 vaaditaan eri asioita.<\/p>\n<h2 id=\"kryptografisen-tiivisteen-ydinominaisuudet\">Kryptografisen tiivisteen ydinominaisuudet<\/h2>\n<p>Jotta tiivistefunktiota voidaan kutsua kryptografiseksi, sen t\u00e4ytyy t\u00e4ytt\u00e4\u00e4 joukko tiukkoja vaatimuksia. N\u00e4m\u00e4 ominaisuudet erottavat sen tavallisesta tiivisteest\u00e4 ja tekev\u00e4t siit\u00e4 turvallisen k\u00e4ytt\u00e4\u00e4 tietoturvasovelluksissa.<\/p>\n<p><strong>Deterministisyys.<\/strong> Sama sy\u00f6te tuottaa aina saman tiivisteen. Ilman t\u00e4t\u00e4 ominaisuutta tiivistett\u00e4 ei voisi k\u00e4ytt\u00e4\u00e4 vertailuun lainkaan, koska sama tiedosto tuottaisi eri tuloksia eri kerroilla.<\/p>\n<p><strong>Nopea laskenta.<\/strong> Tiivisteen laskemisen t\u00e4ytyy olla tehokasta. Suurenkin tiedoston tiiviste pit\u00e4\u00e4 voida laskea nopeasti, jotta funktio on k\u00e4yt\u00e4nn\u00f6llinen.<\/p>\n<p><strong>Esikuvan vastustus.<\/strong> Annetusta tiivisteest\u00e4 ei pid\u00e4 pysty\u00e4 laskemaan takaisin alkuper\u00e4ist\u00e4 sy\u00f6tett\u00e4. Funktio toimii vain yhteen suuntaan. T\u00e4m\u00e4 on syy siihen, miksi salasanojen tiivisteist\u00e4 ei suoraan saada selville alkuper\u00e4isi\u00e4 salasanoja.<\/p>\n<p><strong>Toisen esikuvan vastustus.<\/strong> Kun tietty sy\u00f6te on annettu, ei pid\u00e4 pysty\u00e4 l\u00f6yt\u00e4m\u00e4\u00e4n toista, erilaista sy\u00f6tett\u00e4, joka tuottaa saman tiivisteen. Toisin sanoen hy\u00f6kk\u00e4\u00e4j\u00e4 ei voi ottaa olemassa olevaa tiedostoa ja rakentaa sille korvaajaa samalla tiivisteell\u00e4.<\/p>\n<p><strong>T\u00f6rm\u00e4ysvastus.<\/strong> Ei pid\u00e4 pysty\u00e4 l\u00f6yt\u00e4m\u00e4\u00e4n mit\u00e4\u00e4n kahta eri sy\u00f6tett\u00e4, jotka tuottavat saman tiivisteen. T\u00e4m\u00e4 on vahvin vaatimus, ja juuri sen pett\u00e4minen oli SHA-1:n kohtalo vuoden 2017 SHAttered-tutkimuksessa, jossa tuotettiin kaksi eri PDF-tiedostoa samalla SHA-1-tiivisteell\u00e4.<\/p>\n<p><strong>Lumivy\u00f6ryvaikutus.<\/strong> Pienikin muutos sy\u00f6tteess\u00e4 muuttaa tiivisteen t\u00e4ysin. Yhden bitin vaihtaminen tuottaa tuloksen, jolla ei ole mit\u00e4\u00e4n n\u00e4kyv\u00e4\u00e4 yhteytt\u00e4 edelliseen. T\u00e4m\u00e4 est\u00e4\u00e4 hy\u00f6kk\u00e4\u00e4j\u00e4\u00e4 p\u00e4\u00e4ttelem\u00e4st\u00e4 sy\u00f6tteen ja tiivisteen v\u00e4list\u00e4 suhdetta.<\/p>\n<h2 id=\"ero-ei-kryptografisiin-tiivisteisiin\">Ero ei-kryptografisiin tiivisteisiin<\/h2>\n<p>Tavalliset tiivistefunktiot ovat yleisi\u00e4 ohjelmoinnissa. Niit\u00e4 k\u00e4ytet\u00e4\u00e4n esimerkiksi hajautustauluissa, joissa tavoitteena on jakaa data tasaisesti ja l\u00f6yt\u00e4\u00e4 alkiot nopeasti. T\u00e4llaisilta funktioilta vaaditaan ennen kaikkea nopeutta ja hyv\u00e4\u00e4 jakautumista, mutta ei turvallisuutta.<\/p>\n<p>Ei-kryptografisella tiivisteell\u00e4 ei ole v\u00e4li\u00e4, vaikka joku pystyisi tarkoituksella tuottamaan t\u00f6rm\u00e4yksen tai p\u00e4\u00e4ttelem\u00e4\u00e4n sy\u00f6tteen tiivisteest\u00e4. Kryptografisessa funktiossa juuri t\u00e4m\u00e4 on koko pointti. Kryptografinen tiiviste on suunniteltu kest\u00e4m\u00e4\u00e4n aktiivista hy\u00f6kk\u00e4\u00e4j\u00e4\u00e4, joka yritt\u00e4\u00e4 murtaa sen tahallaan. T\u00e4st\u00e4 syyst\u00e4 ei-kryptografista tiivistefunktiota ei saa koskaan k\u00e4ytt\u00e4\u00e4 salasanojen suojaamiseen, allekirjoituksiin tai muuhun turvallisuuskriittiseen tarkoitukseen.<\/p>\n<h2 id=\"yleisimmat-kayttotarkoitukset\">Yleisimm\u00e4t k\u00e4ytt\u00f6tarkoitukset<\/h2>\n<p>Kryptografiset tiivistefunktiot ovat l\u00e4sn\u00e4 l\u00e4hes kaikkialla, miss\u00e4 verkossa tarvitaan luottamusta ja eheytt\u00e4. T\u00e4ss\u00e4 keskeisimm\u00e4t k\u00e4ytt\u00f6kohteet.<\/p>\n<p><strong>Salasanojen tallennus suolan kanssa.<\/strong> Vastuulliset palvelut eiv\u00e4t koskaan tallenna salasanoja sellaisenaan. Sen sijaan tallennetaan salasanan tiiviste. Jokaiseen salasanaan lis\u00e4t\u00e4\u00e4n lis\u00e4ksi satunnainen suola-arvo ennen tiivist\u00e4mist\u00e4. Suola varmistaa, ett\u00e4 kaksi samaa salasanaa tuottaa eri tiivisteen, mik\u00e4 est\u00e4\u00e4 valmiiksi laskettujen taulukoiden k\u00e4yt\u00f6n. T\u00e4ll\u00f6in tietokantavuoto ei suoraan paljasta k\u00e4ytt\u00e4jien salasanoja. On hyv\u00e4 huomata, ett\u00e4 salasanojen tallennukseen k\u00e4ytet\u00e4\u00e4n mielell\u00e4\u00e4n tarkoitukseen suunniteltuja, tahallaan hitaita funktioita, jotka tekev\u00e4t arvauksesta kalliimpaa.<\/p>\n<p><strong>Eheystarkistukset.<\/strong> Kun lataat tiedoston, voit varmistaa sen eheyden laskemalla tiivisteen ja vertaamalla sit\u00e4 julkaisijan ilmoittamaan arvoon. Jos arvot t\u00e4sm\u00e4\u00e4v\u00e4t, tiedosto on muuttumaton. Jos eiv\u00e4t, jotain on mennyt vikaan siirrossa tai tiedostoa on muokattu.<\/p>\n<p><strong>Digitaaliset allekirjoitukset.<\/strong> Allekirjoitusta ei lasketa koko viestin yli vaan sen tiivisteen yli. T\u00e4m\u00e4 tekee allekirjoittamisesta tehokasta riippumatta viestin koosta ja sitoo allekirjoituksen tiukasti sis\u00e4lt\u00f6\u00f6n. Juuri t\u00e4st\u00e4 syyst\u00e4 t\u00f6rm\u00e4ys tiivistefunktiossa on niin vaarallinen allekirjoitusten kannalta.<\/p>\n<p><strong>Lohkoketjut.<\/strong> Lohkoketjuteknologiat, kuten Bitcoin, k\u00e4ytt\u00e4v\u00e4t tiivisteit\u00e4 lohkojen linkitt\u00e4miseen toisiinsa. Jokainen lohko sis\u00e4lt\u00e4\u00e4 edellisen lohkon tiivisteen, mik\u00e4 muodostaa katkeamattoman ketjun. Yhden lohkon muuttaminen muuttaisi sen tiivisteen ja rikkoisi kaikki sit\u00e4 seuraavat linkit, mik\u00e4 tekee historian peukaloinnista k\u00e4yt\u00e4nn\u00f6ss\u00e4 mahdotonta.<\/p>\n<h2 id=\"miksi-funktion-valinnalla-on-valia\">Miksi funktion valinnalla on v\u00e4li\u00e4<\/h2>\n<p>Tiivistefunktion turvallisuus ei ole pysyv\u00e4 ominaisuus. SHA-1 oli aikoinaan laajalti luotettu, mutta tutkimus paljasti sen heikkoudet, ja SHAttered osoitti murron k\u00e4yt\u00e4nn\u00f6ss\u00e4. T\u00e4m\u00e4 on muistutus siit\u00e4, ett\u00e4 kryptografiset valinnat vaativat yll\u00e4pitoa. Vanhentuneista algoritmeista on siirrytt\u00e4v\u00e4 vahvempiin ajoissa.<\/p>\n<p>Nyky\u00e4\u00e4n suositeltuja valintoja ovat SHA-2-perheen funktiot, kuten SHA-256, sek\u00e4 uudempi SHA-3, joka perustuu t\u00e4ysin erilaiseen rakenteeseen. Kun k\u00e4yt\u00e4t tunnettua ja ajantasaista funktiota oikein, tiivisteet tarjoavat vankan perustan eheydelle ja luottamukselle digitaalisessa maailmassa.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mik\u00e4 on tiivistefunktio Tiivistefunktio on algoritmi, joka ottaa mink\u00e4 tahansa kokoisen sy\u00f6tteen ja tuottaa siit\u00e4 kiinte\u00e4nmittaisen tuloksen, jota kutsutaan tiivisteeksi tai hash-arvoksi. Sy\u00f6te voi olla yksitt\u00e4inen sana, kokonainen asiakirja tai\u2026<\/p>\n","protected":false},"author":2,"featured_media":24,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-11","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":0,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/posts\/11\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media\/24"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/media?parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/categories?post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/fi\/wp-json\/wp\/v2\/tags?post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}