Kryptologia

Wikipediasta
(Ohjattu sivulta Salakirjoitusmenetelmä)
Siirry navigaatioon Siirry hakuun
Saksalainen Lorenz-kone, jota käytettiin toisen maailmansodan aikana esikunnan viestien salaamiseen.

Kryptologia (kreikan sanoista κρυπτός kryptós, "piilossa, salainen"; ja -λογία -logia, "oppi", tai γράφειν graphein, "kirjoitus")[1] tai salakirjoitustekniikka viittaa turvallisen viestinnän menetelmien tutkimiseen ja harjoittamiseen kolmansien osapuolten (vastustajien) läsnäolossa.[2] Se viittaa yleisemmin vastustajien vaikutusvallan ylittävien protokollien kehittämiseen ja analysointiin.[3] Näissä protokollissa sovelletaan useaa tietoturvan näkökohtaa, kuten datan luottamuksellisuutta, datan eheyttä, todennusta ja kiistämättömyyttä.[4] Modernilla kryptografialla on päällekkäisyyksiä matematiikan, tietojenkäsittelytieteen ja sähkötekniikan tieteenhaarojen kanssa. Kryptografiaa sovelletaan muun muassa pankkiautomaateissa, salasanoissa ja sähköisessä kaupankäynnissä.

Ennen modernia aikakautta kryptografia oli käytännöllisesti katsoen synonyyminen salauksen kanssa. Salaus on prosessi, jonka avulla muunnetaan luettavissa oleva tieto näennäiseksi hölynpölyksi. Salatun viestin lähettäjä jakoi salauksen purkuun tarvittavat tiedot vain tarkoitetun vastaanottajan kanssa. Kryptologian menetelmät ovat ensimmäisen maailmansodan ja tietokoneiden keksimisen jälkeen muuttuneet yhä monimutkaisemmiksi ja niitä sovelletaan yhä laajemmin.

Moderni kryptografia pohjautuu hyvin paljon matemaattiseen teoriaan ja tietojenkäsittelytieteen käytäntöön. Kryptografiset algoritmit on suunniteltu laskennallisen kovuuden olettamuksien ympärille. Tämä tekee sellaisista algoritmeista vaikeita murtaa käytännössä. On teoreettisesti mahdollista murtaa sellainen järjestelmä, mutta se olisi epäkäytännöllistä tunnetuilla käytännön keinoilla. Näitä järjestelmiä kutsutaan siksi laskennallisesti turvallisiksi. Teorian kehittyminen (kuten edistysaskelet kokonaislukujen tekijöihinjako -algoritmeissa) ja nopeutuva tietotekniikka vaativat, että näitä ratkaisuja kehitettäisiin jatkuvasti. On olemassa järjestelmiä, jotka on todistettu murtamattomiksi edes rajoittamattomalla määrällä laskentatehoa. Yksi esimerkki on one-time pad. Nämä järjestelmät ovat kuitenkin vaikeampia toteuttaa kuin parhaat teoreettisesti murrettavat mutta laskennallisesti turvalliset mekanismit.

Kryptologian keskeisimpänä maksiimina voidaan pitää ns. Kerchoffin periaatetta. Periaatteen mukaan järjestelmän tulee perustua avainten salassa pitämiseen. Vihollisen on oletettava tuntevan varsinaisen salakirjoitusjärjestelmän. Kerchoffin periaatteen seuraus on se, että kuka tahansa voi avoimesti kokeilla järjestelmän turvallisuutta. Järjestelmän turvallisuus joutuu näin todelliseen koetukseen (ruuvipenkkiin). Luotettavimmat julkisissa tietoverkoissa käytettävät salakirjoitusmenetelmät noudattavat Kerchoffin periaatetta. Kuitenkin vielä nykyisin erityisesti mobiilin tietoliikenteen ja sotilassovellutusten puolella pyritään kehittämään järjestelmiä, jotka Kerchoffin periaatteen vastaisesti perustuvat itse salakirjoitusjärjestelmän salassapitämiseen.

Kryptologia sisältää kryptografian ja kryptoanalyysin.[5][6] Kryptografia pyrkii salaamaan tiedon semanttisen merkityksen ja estämään tiedon käytön tai muokkaamisen ilman oikeutta.[7] Kryptoanalyysi on matemaattisten menetelmien tutkimista, jolla pyritään voittamaan kryptografisen menetelmät tai tietoturvaratkaisut.[8]

Salakirjoitusten ja niiden murtamisen historiaa

[muokkaa | muokkaa wikitekstiä]

Aluksi kirjoitettujen viestien harvinaisuus suojasi viestejä. Kun useampi kuin yksi osasi kirjoittaa, sanoman salakirjoittaminen muuttui tarpeelliseksi.

Eräs vanhimmista tiedonsalaustavoista oli käytössä Egyptissä. Viesti kirjoitettiin viestinviejän kaljuksi ajettuun päähän. Tukan kasvettua viesti oli valmis lähetettäväksi. Tällä tavalla ymmärrettynä ensimmäiset salakirjoitukset olivat viestin peittämistä, eli steganografiaa.

Atbash-koodi ja Caesarin salakirjoitus

[muokkaa | muokkaa wikitekstiä]

Yksi vanhimmista varsinaisista salakirjoituksista on Atbash-koodi. Siinä kirjaimistossa aakkosjärjestyksessä viimeinen kirjain vaihdetaan ensimmäiseen, toiseksi viimeinen toiseen, ja niin edelleen. Nimi atbash tulee heprean kirjaimista alef-tav-bet-shin. Suomalaisilla aakkosilla se toimisi siten, että A:sta tulisi Ö ja B:stä Ä. Atbash-koodausta käytettiin yleisesti tietyissä piireissä satoja vuosia ennen ajanlaskun alkua, ja onpa Raamatussakin Jeremian kirjassa Atbash-koodattuja nimiä.lähde?

Suetonius kuvaa teoksessaan De vita Caesarum Julius Caesarin käyttäneen kenraaliensa kanssa viestiessään salakirjoitusta, jossa kirjain korvataan aakkosjärjestyksessä 3 kirjainta eteenpäin löytyvällä kirjaimella, ja aakkoston lopussa kierretään takaisin alkuun. Tällöin, A:sta tulee D, B:stä tulee E ja niin edespäin. Nykyisin Caesar-salauksella tarkoitetaankin tämän yleistystä, jossa aakkostossa siirrytään sovittu määrä kirjainta eteenpäin. Caesar-salauksen erästä muotoa, Rot13, jossa siirrytään 13 kirjainta eteenpäin, käytetään edelleen esimerkiksi Internet-keskusteluissa, koska koodaus toimii samalla purkuna englannin kielen aakkostolla, jossa on 26 merkkiä.

Atbash-koodin ja Caesar-salakirjoituksen murtaminen

[muokkaa | muokkaa wikitekstiä]

Atbash-koodilla on vain yksi mahdollinen avain, joten se on hyvin heikko salakirjoitus.

Caesar-koodi ja sen muunnokset on murrettavissa kokeilemalla kaikki N siirrosta aakkostossa (N = aakkoston kirjainten määrä), siis esimerkiksi englannin kielessä (= 26 aakkosta) maksimissaan 26 kokeilulla.

Kehittyneempi versio eli sekoitettu Caesar, jossa selväkielistä A:ta vastaa mielivaltainen salakirjoitettu kirjain, B:tä mielivaltainen jäljellä olevista kirjaimista jne., sisältää periaatteessa N! (N:n kertoma) määrän mahdollisia avaimia. Englantilaisella aakkosistolla (26 aakkosta) erilaisia sekoitettuja Caesar-avaimia on 26! eli 4,0329 · 1026 mahdollisuutta. Tällaista määrää on liki mahdotonta käydä yksitellen läpi.

Kuitenkin mikäli tiedetään, millä kielellä salattu viesti on kirjoitettu, on sekoitettu Caesar helppo murtaa yhden vähänkin pidemmän sanoman perusteella frekvenssianalyysillä. Eri kielille voidaan muodostaa tilastollinen jakauma eri kirjainten käytöstä. Esimerkiksi englannin kielessä yleisin kirjain on E. Jos siis englanninkielisessä sekoitettua Caesaria käyttävässä koodatussa sanomassa on eniten W-kirjaimia, hyvä arvaus on, että W vastaa E-kirjainta. Vastaavasti suomen kielessä A on yleisin kirjain.

Kehittyneemmistä versioista

[muokkaa | muokkaa wikitekstiä]

Seuraava kehittyneempi versio on muuttaa salakirjoitusaakkosistoa esimerkiksi viiden kirjaimen jälkeen, jolloin tilastollinen ratkaisumenetelmä vaikeutuu oleellisesti. Tätä versiota käytti esimerkiksi suomalainen salakirjoitusviivain eli ns. "matolaatikko"- menetelmä. Tämän menetelmän kehittyneempään muunnelmaan perustui myös saksalaisten toisen maailmansodan aikana käyttämä ENIGMA-salauslaite.

Edellä mainituista esimerkeistä selviää, että salakirjoituksen murtaminen on ainakin matematiikkaa, kielitiedettä ja tilastotiedettä, ja myös yleistä päättelyä.

Murtamaton koodi ja sen ongelmat

[muokkaa | muokkaa wikitekstiä]

Toisin kuin yleensä luullaan on olemassa myös oikein käytettynä kryptografisesti murtamaton salausmenetelmä: kerta-avain (engl. one-time pad, OTP) -- kertakäyttöinen todellisista satunnaisluvuista koostuva avain, joka on yhtä pitkä kuin salattava viesti. Jokainen viestin merkki yhdistetään avaimen vastaavan merkin kanssa. Murtamattomuus perustuu siihen, että jokainen mahdollinen ratkaisu on yhtä todennäköinen, eikä oikeaa selvätekstiä voi erottaa muista vaihtoehdoista.

Historia on osoittanut, että kertakäyttöisiksi tarkoitettuja avainlistoja viitsitään käyttää harvoin vain yhden kerran. Jos "kertakäyttöistä" avainta käytetään useamman kerran, salateksti voidaan murtaa. Toinen mahdollinen heikkous jota vastaan voidaan hyökätä on jos satunnaisluvut ovat vain pseudosatunnaislukuja.

Kertakäyttöisten avainlistojen käyttö on valitettavan epäkäytännöllistä suurien tietomäärien ja monien vastaanottajien kohdalla. Haasteina ovat avainlistojen turvallinen toimittaminen vastaanottajalle sekä niiden alkuperäisen valmistuksen vaatima työ. Avainlista, jonka joku on päässyt kopioimaan matkalla käyttäjälle, on täysin arvoton.

Mikäli avain on lyhyempi kuin viesti tai satunnaisluvut eivät ole aidosti satunnaisia, salaus ei voi olla täydellinen. Silti hyvin tehty salaus voi olla käytännössä äärimmäisen vaikea murtaa.

Arkikielessä murtamattomalla salauksella voidaan tarkoittaa myös salausmenetelmää, jolla salatun viestin purkuun ei tunneta muuta menetelmää kuin kokeilla kaikkia salausmenetelmän sallimia avaimia. Kyseistä purkamismenetelmää kutsutaan raa'alla voimalla (engl. brute force) purkamiseksi. Esimerkiksi AES-salausta pidetään nykyään murtamattomana.

  1. Liddell and Scott's Greek-English Lexicon. Oxford University Press. (1984) (englanniksi)
  2. Ronald Rivest: ”Cryptology”, Handbook of Theoretical Computer Science. Elsevier, 1990. (englanniksi)
  3. Mihir Bellare & Phillip Rogaway: ”Introduction”, Introduction to Modern Cryptography, s. 10. Kalifornian yliopisto, 21.9.2005. (englanniksi)
  4. A. J. Menezes & P. C. van Oorschot & S. A. Vanstone: Handbook of Applied Cryptography. Waterloon yliopisto. ISBN 0-8493-8523-7 Teoksen verkkoversio. (englanniksi)
  5. Gustavus J. Simmons: cryptology britannica.com. Viitattu 1.2.2023. (englanniksi)
  6. cryptology csrc.nist.gov. Viitattu 1.2.2023. (englanniksi)
  7. cryptography csrc.nist.gov. Viitattu 1.2.2023. (englanniksi)
  8. cryptanalysis csrc.nist.gov. Viitattu 1.2.2023. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]