TKK | Tietoverkkolaboratorio | Opetus

Julkisen ja salaisen avaimen salausmenetelmät

[Johdanto]
[Perusteet]
Salausmenetelmät    [Symmetriset]
   [Asymmetriset]
[Hyökkäykset]
[Tiedon kätkeminen]
[Politiikkaa]
[Sanastoa]
[Linkkejä]
[Tekijät]
Salausmenetelmät voidaan jakaa kahteen pääryhmään: julkisen avaimen, eli asymmetrisiin menetelmiin ja salaisen avaimen eli symmetrisiin menetelmiin. Kuten nimistäkin voi päätellä, näiden käyttäjälle näkyvä ero on juuri avaimissa.

Symmetriset eli salaisen avaimen menetelmät

Salatun avaimen menetelmässä molemmilla osapuolilla on hallussaan sama avain, jolla viestit sekä salataan että avataan. Tästä aiheutuu omat ongelmansa. Jos haluan lähettää viestin sähköpostin välityksellä ystävälleni, meidän on ensin valittava yhteinen avain, jonka molemmat tietävät. Avainta ei voi kuitenkaan sopia sähköpostin välityksellä, koska silloin joku ulkopuolinen saattaisi saada sen tietoonsa.

One-time pad

One-time pad on siinä mielessä poikkeuksellinen algoritmi, että se on oikein toteutettuna täysin murtamaton. Sekä teoriassa että käytännössä. Monia muita algoritmeja pidetään turvallisina, koska ainakaan vielä kukaan ei ole pystynyt osoittamaan, että niiden murtaminen olisi helppoa. Toisaalta useimpien algoritmien kohdalla ei myöskään ole pystyttä todistamaan sitä, että niiden murtaminen olisi jotenkin erityisen hankalaa.

One-time pad on myös siinä mielessä erikoinen algoritmi, että sen avain on aina yhtä pitkä kuin salattava viesti eikä samaa avainta käytetä koskaan kahteen kertaan. Avaimen pituudessa ja kertakäyttöisyydessä piileekin algoritmin salaisuus. One-time padissa avaimen on oltava täysin satunnainen. Mikään lause, sana tai vastaava ei siis kelpaa. Kun täysin satunnainen avain ja salattava viesti yhdistetään, tuloksena on salattu viesti, jonka perusteella on mahdotonta päätellä yhtään mitään alkuperäisestä viestistä.

Algoritmin ongelmat liittyvät avaimeen. Normaali käyttöön one-time pad on kelvoton, koska avaimen on oltava yhtä pitkä kuin salattava viesti ja lisäksi satunnainnen. Jos salattavaa on paljon, avaimia kuluu huimaa vauhtia. Koska molemmilla osapuolilla on oltava juuri samanlaiset avaimet, muodostuu avaimien jakelu ongelmaksi.

Käytännössä one-time padia ei juurikaan käytetä sen ongelmien takia. Tosin verkossa liikkuvat huhut tietävät kertoa, että se olisi erityisesti tiedustelupalveluiden suosiossa. Pitkätkin avaimet kulkevat kätevästi kuriirin salkussa DAT-nauhalle säilöttynä, eikä salattuja viestejä taatusti pura kukaan.

DES (Data Encryption Standard)

Kenties tunnetuin ja kaikkein yleisin salausalgoritmi DES, eli Data Encryption Standard, perustuu IBM:n tutkijoiden 70-luvun alkupuolella kehittämään Lucifer-algoritmiin. Erinäisten vaiheiden kautta Luciferista kehittyi DES, joka 70-luvun puolivälissä valittiin Yhdysvalloissa liittovaltion salausstandardiksi.

DESin syntyhistoriaan liittyy läheisesti NSA, National Security Agency, jonka osuudesta algoritmin kehitykseen kiisteltiin aikoinaan kovasti. Skeptikot epäilivät NSA:n heikentäneen algoritmia tarkoituksella tai lisänneen sinne "takaoven", jonka avulla NSA pystyisi purkamaan helposti minkä tahansa DESillä salatun viestin.

Tekniikaltaan DES on lohkosalausalgoritmi, englanniksi block chipher. Käytännössä tämä tarkoittaa sitä, että DES salaa tietoa 64 bitin palasissa. Algoritmin voi kuvitella olevan laatikko, johon menee sisään 64 bittiä selväkielistä tekstiä ja josta tulee ulos 64 bittiä salattua tekstiä.

Aikoinaan DES oli erittäin turvallinen ja tavallaan se on sitä edelleen. Algoritmista itsestään ei ole löydetty mitään vakavia puutteita, jotka heikentäisivät sen luotettavuutta. Sen sijaan ongelma on DESin käyttämä 56-bittinen avain, joka on niin lyhyt, että se on mahdollista murtaa nykyisin käytössä olevilla laitteilla varsin nopeasti. Ongelman ratkaisuksi on kehitetty 3DES, Triple-DES, jossa käytetään kolme kertaa niin pitkää avainta kuin alkuperäisessä DES:ssä.

Asymmetriset eli julkisen avaimen menetelmät

Julkisen avaimen menetelmässä jokaisella käyttäjällä on kaksi avainta, julkinen ja salainen. Kun joku haluaa lähettää Matille salatun viestin, hän tarvitsee Matin julkisen avaimen. Kun Matti haluaa lukea hänelle lähetetyn viestin, hän tarvitsee oman salaisen avaimensa.

RSA

Tunnetuin asymmetrisistä algoritmeista on kehittäjiensä, Ron Rivestin, Adi Shamirin ja Leonard Adlemanin sukunimistä nimensä saanut RSA. Kuten monet muutkin salausalgoritmit RSA perustuu varsin yksinkertaiseen matemaattiseen ongelmaan, suurten lukujen jakamiseen tekijöihinsä.

Lukuja, jotka ovat jaollisia vain itsellään ja ykkösellä, sanotaan alkuluvuiksi. Alkulukuja ovat esimerkiksi 1,2,3,7 ja 13. Kun jokin luku jaetaan tekijöihinsä, selvitetään mistä alkuluvuista se koostuu. Esimerkiksi 6:n tekijät ovat 2 ja 3, koska 2*3=6. Vastaavasti 33:n tekijät ovat 11 ja 3. Pienillä luvuilla tämä onnistuu varsin helposti, mutta mitä isommaksi luvut muuttuvat, sen hankalampaa tekijöiden löytäminen on. Kun kerrotaan kaksi riittävän isoa alkulukua keskenään, saadaan vielä isompi luku, josta on käytännössä mahdotonta selvittää sen tekijöitä, eli noita kahta alkulukua.

Mielenkiintoiseksi ongelman tekee se, että kukaan ei ole pystynyt osoittamaan, ettei ole olemassa mitään helppoa menetelmää, jolla isotkin luvut pystyisi helposti jakamaan tekijöihinsä. RSA:n luotettavuutta ei siis pystytä todistamaan matemaattisesti.


<< Perusteet         Hyökkäykset >>
Tekijät: Teemu Hyle, Juha Palomäki, Jarkko Rintamäki

Tietoverkkolaboratorio on nyt osa Tietoliikenne- ja tietoverkkotekniikan laitosta. Tällä sivulla oleva tieto voi olla vanhentunutta.

Kurssien ajantasainen tieto on MyCourses-palvelussa.

Tämä sivu on tehty oppilaiden harjoitustyönä. Tietoverkkolaboratorio ei vastaa sivun oikeellisuudesta, ajantasaisuudesta tai ylläpidosta. Vakavissa tapauksissa yhteyshenkilöinä toimivat ja Webmaster.
Sivua on viimeksi päivitetty 27.11.1998 15:46.
URI: http://www.netlab.tkk.fi/opetus/s38118/s98/htyo/39/menetelmat.shtml
[ TKK > Sähkö- ja tietoliikennetekniikan osasto > Tietoverkkolaboratorio > Opetus ]