A274101 TIETORAKENTEET JA ALGORITMIT SALAUKSEN PERUSTEITA Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Kryptologia (math.tut.fi/~ruohonen/k.pdf) HISTORIAA Salausta on käytetty alkeellisella tasolla jo 4000 vuotta sitten egyptiläisten toimesta Hepreankielisissä uskonnollisissa kirjoituksissa 500-600 ekr. käytettiin aakkoston korvaamista (atbash: a=z, b=y, ) Kreikkalaisten kerrotaan käyttäneen scytale (tai skytale)-nimistä sauvaa, jonka ympärille kiedottuun paperiin tai vyöhön viesti kirjoitettiin Rooman imperiumin valtakaudella Julius Caesar käytti yksinkertaista aakkoston korvausta käyttävää salausta v. 40-60 ekr. (kirjainten siirto) 15.11.2005 KyAMK - TiRak, syksy 2005 2 HISTORIAA Salaus ja erityisesti sen murtaminen on vaikuttanut merkittävästi 1. ja 2. maailmansodan lopputulokseen Salausta käytettiin kommunikoinnissa joukkojen välillä pyrittiin estämään tärkeiden tietojen vuotaminen viholliselle, esim. joukkojen sijainti Enigma Natsi-Saksan käyttämä salauslaite, salaus murrettiin puolalaisen matemaatikon toimesta Salauksen käyttö (tai sen synty) ei liity suoraan sodankäyntiin ja hallintoon tai toisaalta siviileihinkään aina kun halutaan yksityisyyttä Intialaisessa Kama Sutrassa kehotetaan harjoittamaan kryptografiaa, jonka avulla rakastavaiset voivat kommunikoida keskenään TIETOTURVA? Salaus on nykyään oleellinen osa tietoturvaa Tietokoneistuminen ja laskentatehon kasvu on tehnyt salauksesta helppoa Meistä kaikista on luottamuksellisia tietoja monissa tietojärjestelmissä: Viranomaisrekisterit Pankit, vakuutuslaitokset, kaupat, Tietoa myös välitetään eri järjestelmien välillä, esim. pankkien rahasiirrot - autentikointi 15.11.2005 KyAMK - TiRak, syksy 2005 3 15.11.2005 KyAMK - TiRak, syksy 2005 4
SALAUS ELI KRYPTAUS Salausta käsittelevä matematiikan osa-alue on kryptologia Viestin kryptauksella tarkoitetaan sisällön salaamista satunnainen lukija ei saa selville mitään viestin sisällöstä Alkuperäinen viesti on nimeltään selväteksti Lähettäjä kryptaa viestinsä Kryptattu viesti on kryptoteksti Vastaanottaja dekryptaa viestin Kryptauksessa tarvitaan avain samoin kuin dekryptauksessakin Kryptosysteemi kuvaa mahdolliset viestit (selvätekstit, kryptotekstit), avaimet sekä enkryptaus- ja dekryptaus-funktiot TERMINOLOGIAA plaintext P alkuper. teksti, selväteksti encrypt, cipher salata, kryptata decrypt, decipher purkaa salaus, dekryptata ciphertext C salattu teksti, kryptoteksti encryption E salausmenetelmä, enkryptaus encryption key K E salausavain decryption D salauksen purku, dekryptaus decryption key K D purkuavain Salaus: C = E K E(P) Purku: D K D(C) = P E ja D voidaan kuvata matemaattisina funktiona 15.11.2005 KyAMK - TiRak, syksy 2005 5 15.11.2005 KyAMK - TiRak, syksy 2005 6 TERMINOLOGIAA Jos salausavain on sama kuin purkuavain (tai ne voidaan saada helposti toisistaan) kyseessä on symmetrinen kryptaus, Jos käytössä eri avaimet (tai niitä ei pienellä työmäärällä saada toisistaan) kyseessä on epäsymmetrinen kryptaus Epäsymmetrisessä kryptauksessa kryptausavain voidaan pitää julkisena ja dekryptausavain salaisena julkisen avaimen kryptaus Symmetristä kryptausta sanotaan myös salaisen avaimen kryptaukseksi PURKAMISESTA Perussääntö: salaajana oleta, että analysoija eli salauksen murtaja tuntee salausmenetelmän E. Nykyisin menetelmät ovat tunnettuja, joskin monimutkaisia Avaimet K ovat isoja, jolloin purkaminen raa alla voimalla kestää liian kauan Esim. Kombinaatiolukko, jossa 10 vaihetta, 10 vaihtoehtoa/vaihe 10 10 vaihtoehtoa 15.11.2005 KyAMK - TiRak, syksy 2005 7 15.11.2005 KyAMK - TiRak, syksy 2005 8
PURKAMISESTA work factor: jos avain 256-bittinen work factor 2 256 Salauksen murtamisen vaikeus tunnetun tiedon mukaan (vaikein ensin): a) Ainoastaan ciphertext (CO) b) Jokin plaintext ja vastaava ciphertext (KP) c) Valittu plaintext ja vastaava ciphertext (CP) d) Valittu ciphertext ja vastaava plaintext (CC) SUBSTITUTION CIPHERS (KORVAUSPERIAATE) Esim. Historiallinen ns. Caesar-salakirjoitus. Plain: A B C D E F G H I J K L M... Cipher: D E F G H I J K L M N O P Kolmen merkin siirto oikealle Esim. Kartta (map): merkki korvataan avaimen merkillä Plain: A B C D E F G H I J K... Cipher: Q W E R T Y U I O P... 15.11.2005 KyAMK - TiRak, syksy 2005 9 15.11.2005 KyAMK - TiRak, syksy 2005 10 SUBSTITUTION CIPHERS (KORVAUSPERIAATE) Yleistermi: monoalphabetic substitution Murtoperiaatteita: Sananpituudet säilyvät Tutkitaan yksittäisten, merkkiparien, merkkikolmikkojen jne. frekvenssejä Englanninkielessä yleisimmät: e, t, o, a, n, th, in, er, re, an, the, ing, and, ion) Jos viesti pakataan, frekvenssitietoa katoaa Mahdollisia avaimia on yleensä melko vähän (esim. Caesar: aakkoston siirrot), jolloin voidaan kokeilla eri avaimia yksi kerrallaan Parannus: annetaan murtajan löytää selväteksti, joka itse asiassa on vielä salattu jollain toisella menettelyllä TRANSPOSITION CIPHERS (SIIRTOPERIAATE) Esim. Valitaan avain: M E G A B U C K 7 4 5 1 2 8 3 6 p l e a s e t r a n s f e r o n e h u n d r e d afnsedtoelnhesurndpaeerr Plaintext matriisiksi, jonka sarakemäärän määrää avaimen merkkimäärä Tässä avaimena MEGABUCK, toteuttaa vaatimuksen, että ei ole toistuvia merkkejä Ciphertext saadaan lukemalla matriisi pystyriveittäin avaimen määräämässä sarakejärjestyksessä: A:ta vastaava ensin, B:tä vastaava sitten jne. Ominaisuuksia: kirjaimet (merkit) esittävät itseään analyysissa lasketaan merkkien frekvenssejä => kieli kokeillaan eri avainpituuksia ja sarakejärjestyksiä, jotta löydettäisiin tavallisia merkkipareja, -kolmikoita jne. 15.11.2005 KyAMK - TiRak, syksy 2005 11 15.11.2005 KyAMK - TiRak, syksy 2005 12
XOR Muunnetaan sanoma biteiksi ja suoritetaan sanomalle XOR-funktio. Purku on yksinkertainen: XOR uudestaan Menetelmä on niin yksinkertainen, että se on harvoin järkevä sellaisenaan (vrt. seuraava kohta) Kuitenkin sitä käytetään osana monivaiheisissa salakirjoituksissa ONE-TIME PAD Otetaan viestin mittainen satunnainen bittijono avaimeksi ja suoritetaan sen ja viestin XOR Purkaminen käy samalla avaimella Tämän jälkeen avainta ei enää käytetä Tämä salausmenetelmä on käytännössä purkamaton, mutta Miten avain siirretään turvallisesti ja muuttumattomana vastaanottajalle? Pitkä viesti vaatii pitkän avaimen, mikä usein tekee menetelmän käytön mahdottomaksi 15.11.2005 KyAMK - TiRak, syksy 2005 13 15.11.2005 KyAMK - TiRak, syksy 2005 14 YLEISIÄ PERIAATTEITA Kaksi yleistä salaukseen liittyvää periaatetta 1. Redundanssi: viestissä toistoa, jolloin vaikeampi generoida vääriä viestejä 2. Viesteihin aikaleima, jolloin playback tulee mahdottomaksi NYKYISIN KÄYTÖSSÄ OLEVIA SALAISEN AVAIMEN ALGORITMEJA Periaatteita: Pitkä avain, jolloin sen selvittäminen työlästä Monimutkainen salausalgoritmi, usein monivaiheinen, vaiheissa sekaisen em. menetelmiä (substitution, transposition, XOR ym.) => termi product cipher 15.11.2005 KyAMK - TiRak, syksy 2005 15 15.11.2005 KyAMK - TiRak, syksy 2005 16
DES (DATA ENCRYPTION Peräisin vuodelta 1977 Käsittelee 64 bitin datalohkoja 19 peräkkäisessä eri vaiheessa Avain 56-bittinen, josta eri funktio eri vaiheissa Purkaminen tapahtuu samalla avaimella käänteisessä järjestyksessä Heikkous: Itse asiassa monoalphabetic substitution, missä sama P tuottaa aina saman C:n Parannuksia: Block Chaining, Input Feedback, Output Feedback DES (DATA ENCRYPTION Murtamisesta: DESin IBM:n kehittämä ja suunniteltu avainpituus oli 128 bit NSA (National Security Agency, USA) vaati pituudeksi 56 bit 1977 suunniteltiin purkukone, jonka hinnaksi arvioitiin 20 M$ ja joka purkaisi viestin (tunnettu C - P) 1 päivässä 1994 vastaavat arviot olivat 1 M$ ja 4 h Pelkällä softwarella arvioitiin tuohon aikaan 140000 PC:ltä vievän aikaa 1 kk:n Epäillään, että NSA:lla on tehokas murtomenetelmä 56 bitin avaimella koodatulle viestille 15.11.2005 KyAMK - TiRak, syksy 2005 17 15.11.2005 KyAMK - TiRak, syksy 2005 18 DES (DATA ENCRYPTION Kehittyneempiä versioita: 2 kertaa 56-bitin DES peräkkäin EDE: IBM:n kehittämä 3-vaiheinen DES, jossa 2 avainta: K1 ja K2 1. Ensin salaus K1:llä 2. Purku K2:lla 3. Salaus K1:llä Käytännössä avaimen pituus on 112 bittiä ja 2 112 -kokoisen avainavaruuden täydellinen läpikäynti on mahdoton IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) Kehitetty 1990-1992 Sveitsissä, siis riippumaton NSA:sta Avainpituus 128 bit Käsittelee 64 bitin datalohkoja 8 vaiheessa, joissa niin raju sekoitus, että jokainen output-bitti riippuu jokaisesta input-bitistä Eri vaiheissa dataa muokataan mm. funktioilla XOR, yhteenlasku sekä mod 2 16 että mod 2 16 + 1 Ei tunnettua murtotekniikkaa Purku samalla algoritmilla Paras block-ciphereistä 15.11.2005 KyAMK - TiRak, syksy 2005 19 15.11.2005 KyAMK - TiRak, syksy 2005 20