Vigenéren salaus ja sen murtaminen

Samankaltaiset tiedostot
(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

RSA-salausmenetelmä LuK-tutkielma Tapani Sipola Op. nro Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2017

Salakirjoitusmenetelmiä

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Lineaariset kongruenssiyhtälöryhmät

Latinalaiset neliöt ja taikaneliöt

Matematiikan tukikurssi

Koostanut Juulia Lahdenperä ja Rami Luisto. Salakirjoituksia

MS-A0402 Diskreetin matematiikan perusteet

Diofantoksen yhtälön ratkaisut

1 Lukujen jaollisuudesta

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

{ 2v + 2h + m = 8 v + 3h + m = 7,5 2v + 3m = 7, mistä laskemmalla yhtälöt puolittain yhteen saadaan 5v + 5h + 5m = 22,5 v +

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Koodausteoria, Kesä 2014

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

1 Aritmeettiset ja geometriset jonot

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

a ord 13 (a)

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

NÄIN TOIMII. alakirjoituksen historia ulottuu tuhansien

Matematiikan tukikurssi, kurssikerta 3

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Koodausteoria, Kesä 2014

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Salausmenetelmät 2015/Harjoitustehtävät

MAB3 - Harjoitustehtävien ratkaisut:

MATEMATIIKKA. Matematiikkaa pintakäsittelijöille. Ongelmanratkaisu. Isto Jokinen 2017

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

Rakenteisen ohjelmoinnin harjoitustyö

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

Kryptologia Esitelmä

Algoritmit 2. Luento 13 Ti Timo Männikkö

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Käänteismatriisin. Aiheet. Käänteismatriisin ominaisuuksia. Rivioperaatiot matriisitulona. Matriisin kääntäminen rivioperaatioiden avulla

MS-C1340 Lineaarialgebra ja

MAB3 - Harjoitustehtävien ratkaisut:

Mat Sovellettu todennäköisyyslasku A

Tehtävä 2: Loppuosataulukko

1 Kannat ja kannanvaihto

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Lukuteorian kertausta

OSA 2: MATEMATIIKKAA TARVITAAN, LUKUJONOT JA SUMMAT SEKÄ SALAKIRJOITUS

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla:

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

Tehtävä 1. Jatka loogisesti oheisia jonoja kahdella seuraavaksi tulevalla termillä. Perustele vastauksesi

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

S BAB ABA A aas bba B bbs c

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Approbatur 3, demo 5, ratkaisut

RSA-salakirjoitus. Simo K. Kivelä, Apufunktioita

a b 1 c b n c n

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Cantorin joukon suoristuvuus tasossa

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot

Diskonttaus. Diskonttaus. Ratkaistaan yhtälöstä (2) K 0,jolloin Virallinen diskonttauskaava. = K t. 1 + it. (3) missä

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle = Luvussa ei esiinny missään kohtaa numeroa 0.

Turun seitsemäsluokkalaisten matematiikkakilpailu Tehtävät ja ratkaisut

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Tekijä MAA2 Polynomifunktiot ja -yhtälöt = Vastaus a)

10 y 2 3 x D 100; D D a: Vastaavasti sadalla kilometrillä kulutettavan polttoaineen E10 energiasisältö on x a C 10

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Reaalilukuvälit, leikkaus ja unioni (1/2)

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

LIITE 1 VIRHEEN ARVIOINNISTA

1. Esitä rekursiivinen määritelmä lukujonolle

4 LUKUJONOT JA SUMMAT

Tekijäryhmiä varten määritellään aluksi sivuluokat ja normaalit aliryhmät.

Aritmeettinen lukujono

Luku 8. Aluekyselyt. 8.1 Summataulukko

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

Rollen lause polynomeille


n. asteen polynomilla on enintään n nollakohtaa ja enintään n - 1 ääriarvokohtaa.

2. laskuharjoituskierros, vko 5, ratkaisut

Ryhmäteoreettinen näkökulma Rubikin kuutioon Harjoitus 6, ratkaisuehdotus (5 sivua)

Matematiikan tukikurssi

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo Ratkaisut ja pisteytysohjeet

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Algebra I, harjoitus 5,

Tehtävä 2. Osoita, että seuraavat luvut ovat algebrallisia etsimällä jokin kokonaislukukertoiminen yhtälö jonka ne toteuttavat.

Transkriptio:

Vigenéren salaus ja sen murtaminen LuK-tutkielma Janita Puhakka Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2017

Sisältö Johdanto 1 1 Vigenéren salaus 1 2 Vigenerén taulukko 2 2.1 Vigenerén taulukon käyttö.................... 3 2.1.1 Tekstin salaus....................... 3 2.1.2 Selkotekstin salaus.................... 3 2.1.3 Salaustekstin purkaminen................ 4 2.1.4 Salaustekstin avaaminen................. 4 3 Salauksen turvallisuus 5 4 Salauksen murtaminen 5 4.1 Sattumisen indeksin IndCo laskeminen............. 6 4.2 Yhteisen sattumisen indeksin MutIndCo laskeminen...... 9 4.3 Salatun viestin murtaminen................... 12 Lähdeluettelo 19

Johdanto Vigenerén salausmenetelmä on nimetty Blaise de Vigenerén (1523-1596) mukaan. Vigenerén salaus on moniaakkosellinen salaus, koska se käyttää kahta tai useampaa salaus-aakkosta tiedon salaamiseen. Salaus toimi aluksi tehokkaasti ja 1917 sitä kuvailtiinkin mahdottomaksi purkaa. Näin ei kuitenkaan ole, sillä purkutekniikka on ratkaistu ja julkaistu jo 1800-luvulla. Kuitenkin jo 1500-luvulla todella taidokkaat kryptoanalyytikot ovat pystyneet joskus murtamaan Vigenèren salauksen, vaikka silloin ei tiedettykään yleistä ratkaisua koodille. Vigenerén salauksessa yksinkertainen kirjainten esiintymistiheyteen perustuva analyysi ei toimi, mutta jos avainsanan pituus saadaan selville voidaan jokainen kirjain murtaa. On olemassa myös menetelmiä avainsanan pituuden määrittämiseksi. Vigenerén salausmenetelmä on symmetrinen salausmenetelmä avainsanojen lukumäärän perusteella, sillä viestin lähettäjällä ja vastaanottajalla on sama yhteisesti sovittu avainsana. Vigenerén salausta murrettaessa käytetään Kasiskin metodia avainsanan pituuden selvittämiseksi. Ensimmäisenä tästä metodista kertoi saksalainen armeijan virkamies Friedrich Kasiski kirjassaan Die Geheimschriften und die Dechirir-kunst (1863) [2]. Tässä tutkielmassa on käytetty pääasiallisena lähteenä kirjaa J. Hostein, J. Pipher, J.H. Silverman: An Introduction to Mathematical Cryptography [1]. 1 Vigenéren salaus Vigenéren salaus on salausmenetelmä, jonka avulla salataan aakkosellista tekstiä. Vigenerén salausmenetelmässä avainsana tai -lause luodaan useasta Caesarin järjestelmän avaimesta, joita sovelletaan jaksollisesti. Salausta aloittaessa tulee päättää avainsana, jonka myös salatun viestin vastaanottaja tietää. Avainsanan kirjaimia käytetään yksi kerrallaan siihen, kuinka paljon tulee siirtää jokaista salattavan tekstin kirjainta. Samaistetaan kirjaimet A-Ö numeroiksi 0 28. Jos avainsanan kirjain on A, niin ei tarvitse selkokielen kirjainta siirtää, sillä A vastaa numeroa 0. Jos avainsanan kirjain on B, tulee selkokielen kirjainta siirtää yhden kirjaimen verran eteenpäin ja jos avainsanan kirjain on Ö, tulee selkokielen kirjainta siirtää 28 kirjaimen verran eteenpäin. Avainsanaa kirjoitetaan peräkkäin, kunnes se on salattavan viestin mittainen. Salattu kirjain saadaan, kun selkotekstin kirjainta siirretään aakkostossa eteenpäin avainsanan kirjaimen siirron verran. 1

2 Vigenerén taulukko Vigenerén taulukko on kätevä työkalu salattaessa ja purettaessa salausta. Taulukossa 1 on suomenkielisen aakkoston mukaisesti 29 kirjainta A-Ö. Neliössä kirjaimet on sijoitettu aakkosjärjestyksessä allekkaisille riveille kuitenkin niin, että seuraava rivi on aina yhden kirjaimen verran vasemmalla kuin edellinen rivi. Kirjaimen Ö jälkeen aakkoset lähtevät alusta kirjaimesta A. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö B B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A C C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B D D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C E E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D F F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E G G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F H H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G I I J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H J J K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I K K L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J L L M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K M M N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L N N O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M O O P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N P P Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P R R S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q S S T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R T T U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S U U V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T V V W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U W W X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V X X Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V W X Z Z Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V W X Y Å Å Ä Ö A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Ä Ä Ö A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ö Ö A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Taulukko 1: Vigenerén taulukko 2

2.1 Vigenerén taulukon käyttö 2.1.1 Tekstin salaus 1. Ylimmältä vaakariviltä etsitään salattava kirjain. 2. Ensimmäiseltä pystyriviltä etsitään avainsanan kirjain. 3. Näiden kahden kirjaimen yhdyskohdasta saadaan salattu kirjain. 2.1.2 Selkotekstin salaus Salataan teksti Suomen kesä on kaunis avainsanalla Raha. Koska avainsana on neljän kirjaimen mittainen täytyy selkokielinen teksti jakaa neljän kirjaimen osioihin: SUOM ENKE SÄON KAUN IS. Seuraavaksi teemme alla olevan taulukon, missä P tarkoittaa selkokielen tekstin jakamista avainsanan mittaisiin osioihin, K tarkoittaa avainsanan jakamista samansuuruisiin osioihin kuin avainsana itse: P SUOM ENKE SÄON KAUN IS K RAHA RAHA RAHA RAHA RA. Salaamme jokaisen selkokielisen kirjaimen käyttämällä Taulukkoa 1. Selkokielen ensimmäinen kirjain S ja avainsanan kirjain R tuottaa Taulukon 1 mukaan salatun kirjaimen G. Toisena selkokielen kirjain U ja avainsanan kirjain A tuottaa Taulukon 1 mukaan salatun kirjaimen U. Selkokielen kirjain K ja avainsanan kirjain R tuottavat Taulukon 1 mukaan salatuksi kirjaimeksi Ä. Näin jatketaan, kunnes kaikki kirjaimet ovat salattu. Kirjataan nyt lisäksi ylläolevaan taulukkoon rivi C, johon merkitään salatut kirjaimet: P SUOM ENKE SÄON KAUN IS K RAHA RAHA RAHA RAHA RA C GUVM VNRE GÄVN ÄAÄN ZS. Lopuksi jaetaan salattu teksti miellyttävän kokoisiin osiin, tässä tapauksessa kolmen kirjaimen osioihin, sillä se jakaa tekstin saman suuruisiin osiin. Lähetettävä teksti on GUV MVN REG ÄVN ÄAÄ NZS. 3

2.1.3 Salaustekstin purkaminen 1. Ensimmäiseltä pystyriviltä etsitään avainsanan kirjain. 2. Seurataan avainsanan kirjaimen riviä, kunnes löydetään salattu kirjain. 3. Noustaan salatun kirjaimen kohdalta ensimmäiselle vaakariville, jolloin vaakarivin kirjain on avattu kirjain. 2.1.4 Salaustekstin avaaminen Avataan salattu teksti ÄWFZ RVDZ MJÄD VÅLC GLYÄ GNH sovitulla avaimella Ryhmä. Koska avainsana on viiden kirjaimen mittainen täytyy salausteksti jakaa viiden kirjaimen osioihin: ÄWFZR VDZMJ ÄDVÅL CGLYÄ GNH. Seuraavaksi teemme alla olevan taulukon, missä C tarkoittaa salaustekstin jakamista avainsanan mittaisiin osioihin ja K tarkoittaa avainsanan jakamista samansuuruisiin osioihin kuin avainsana itse: C ÄWFZR VDZMJ ÄDVÅL CGLYÄ GNH K RYHMÄ RYHMÄ RYHMÄ RYHMÄ RYH. Avaamme jokaisen salaustekstin kirjaimen käyttämällä Taulukkoa 1. Salaustekstin ensimmäinen kirjain Ä ja avainsanan kirjain R tuottaa Taulukon 1 mukaan avatuksi kirjaimeksi K. Toisena salaustekstin kirjain W ja avainsanan kirjain Y tuottaa Taulukon 1 mukaan avatuksi kirjaimeksi Ä. Salaustekstin kirjain Å ja avainsanan kirjain M tuottavat Taulukon 1 mukaan avatuksi kirjaimeksi O. Näin jatketaan, kunnes kaikki kirjaimet ovat avattu. Kirjataan nyt lisäksi ylläolevaan taulukkoon rivi P, johon merkitään avatut kirjaimet: C ÄWFZR VDZMJ ÄDVÅL CGLYÄ GNH K RYHMÄ RYHMÄ RYHMÄ RYHMÄ RYH P KÄÄNT EISAL KIOON OLEMA SSA. Lopuksi luetaan avattu teksti riviltä P : KÄÄNTEISALKIO ON OLEMASSA. 4

3 Salauksen turvallisuus Vigenerén järjestelmässä selkokielen kirjain voi esiintyä monena eri kirjaimena salaustekstissä. Jos avainsana on lyhyt, selkokielen tekstissä voi olla taipumusta toistuviin osiin, jotka toistuvat samassa kohtaa avainsanaa, jolloin ne toistuvat myös salaustekstissä. Johtopäätöksenä pidemmät avainsanat ovat turvallisempia kuin lyhyet, mutta lyhyet avainsanat ovat helpompi muistaa. Siispä käytännön kryptograassa käydään nimellisesti ikuista taistelua tehokkuuden, helppokäytöisyyden ja turvallisuuden kesken. Vigenerén salausta voidaan saada entistä turvallisemmaksi sekoittamalla ensimmäisen rivin kirjaimia Vigenerén taulukossa ja sitten pyörittää sekoitetut kirjaimet peräkkäisiin riveihin. Kuitenkin sekoittamalla kirjaimia salauksesta ja sen avaamisesta tulee hankalakäyttöistä, sillä henkilöiden täytyy muistaa sekä oma avainsanansa, että sekoitetut kirjaimet. Jos haluamme olla todellakin varmoja, että salaus on todella turvallinen, voimme käyttää erilaisia sattumanvaraisesti sekoitettuja kirjaimia joka rivillä Vigenerén taulukossa. Jos näin toimitaan, tarvitaan uudesta taulukosta kopio, joka on suuri turvallisuusriski. 4 Salauksen murtaminen Salauksen murtamiseksi ensimmäinen askel on selvittää avainsanan pituus. Tämä voidaan toteuttaa etsimällä toistuvia osia salaustekstistä. Salaustekstissä toistuvien samanlaisten osien esiintymispaikkojen erotus jaetaan alkulukutekijöihin. Alkulukutekijöistä voidaan päätellä oikea avainsanan pituus. Tätä menetelmää kutsutaan Kasiskin metodiksi. Siispä yleisesti ottaen ei ole kovin hankalaa löytää avainsanan pituutta salaustekstistä. On olemassa toinenkin tapa selvittää avainsanan pituus. Oletetaan, että avainsanan pituus, jolla selkoteksti on salattu olisi viisi. Tällöin joka viides kirjain on salattu käyttäen samaa kirjainta. Muodostetaan salausteksti viideksi jonoksi, joihin jokaiseen jonoon kuuluu joka viides kirjain salaustekstistä. Tällöin jokainen yksittäinen jono on salattu käyttäen samaa kirjainta. Toisaalta, jos avainsanan pituus on avattu väärin ja avainsanan pituus ei olekaan viisi, tällöin muodostetut jonot on enemmän tai vähemmän satunnaisia. 5

Määritelmä 4.1. Olkoon jono s = c 1 c 2 c 3 c n n-kokoisen aakkoston kirjaimia. Sattumisen indeksi IndCo(s) kertoo jonon s sattumisen indeksin, joka on todennäköisyys, että kaksi satunnaisesti valittua kirjainta jonossa s ovat täysin samoja. Johdetaan kaava sattumisen indeksille. On miellyttävää samaistaa aakkoset A-Ö vastaavasti numeroiksi 0, 1, 2..., 28. Olkoon F i aakkosen i esiintymiskertojen lukumäärä jonossa s, missä i = 0, 1, 2,..., 28. Esimerkiksi, jos kirjain H esiintyy 23 kertaa jonossa s, niin F 7 = 23. Aakkonen i voidaan valita jonosta s kahdesti ( F i ) 2 = F i (F i 1) tavalla. Toisaalta on olemassa ( ) 2 n 2 = n(n 1) tapaa valita kaksi mielivaltaista kirjainta 2 jonosta s. Todennäköisyys, että valitaan kaksi täysin samaa kirjainta on IndCo(s) = 1 n(n 1) 28 4.1 Sattumisen indeksin IndCo laskeminen Olkoon s jono i=0 F i (F i 1). (1) s = Permutaatioita yhdistämällä päädytään permutaatioon. Jätetään huomiotta sanojen välit, jolloin jono s sisältää 48 kirjainta. Lasketaan jokaiselle jonossa s esiintyvälle kirjaimelle esiintymistiheydet. Ne ovat esitetty alla olevassa taulukossa: A D E H I L M N O P R S T U Y Ä i 0 3 4 7 8 11 12 13 14 15 17 18 19 20 24 27 F i 5 2 2 1 4 2 3 2 3 3 2 1 7 2 2 7. Ylläolevassa taulukossa aakkosen arvo i = 0, 1, 2,..., 28 ja F i on kirjaimen esiintymiskertojen lukumäärä tekstissä. Kaavan (1) mukaan sattumisen indeksi on: IndCo(s) = 1 n(n 1) 28 i=0 F i (F i 1) 1 = (5 4 + 2 1 + 2 1 + 1 0 +... + 2 1 + 7 6) 48(48 1) = 1 2256 148 0.065603. (2) 6

Oletetaan, että jono s koostuu satunnaisista kirjaimista. Todennäköisyys, että kaksi kirjainta c i = c j ovat samat on 1, jolloin voimme olettaa, että satunnaisista kirjaimista koostuvalle jonolle s sattumisen indeksi 29 IndCo satunnainen (s) 1 0.034483. Jos jono s koostuu suomenkielisestä 29 tekstistä oletamme, että suomenkielen aakkosten suhteelliset tiheydet ovat Taulukon 2 mukaiset. Taulukko 2: Suomen kielen aakkosten esiintymistiheydet [3]. Tällöin sattumisen indeksi IndCo suomi (s) jonolle s, joka koostuu suomenkielisestä tekstistä, olisi IndCo suomi (s) = = 1 n(n 1) 1 n(n 1) i=0 28 i=0 28 F i (F i 1) (p i n)(p i n 1) i=0 28 p i n 1 = p i n 1, 7

missä p i on kirjaimen esiintymistodennäköisyys Taulukosta 2. Jos n on tarpeeksi suuri, niin p in 1 on noin p n 1 i, jolloin 28 IndCo suomi (s) i=0 p 2 i ( ) 2 ( ) 2 12.1301% 10.7608% = + 100% 100% ( ) 2 ( ) 2 9.6175% 0.0006% + +... + 100% 100% 0.072821. (3) Laskettaessa sattumisen indeksiä IndCo suomi on käytetty kaavoja lähteestä [4]. Tekstille laskettua ominaista sattumisen indeksiä IndCo(s) verrataan satunnaisista kirjaimista koostuvan jonon s sattumisen indeksiin IndCo satunnainen (s) ja suomenkielen kirjaimista koostuvan jonon s sattumisen indeksiin IndCo suomi (s): 1. Jos IndCo(s) 0.072821, niin jono s näyttää suomenkieleltä. 2. Jos IndCo(s) 0.034483, niin jono s näyttää satunnaisilta kirjaimilta. Huomautus 4.1. Kappaleen 5.1 esimerkin sattumisen indeksin IndCo(s) laskemisesta saatu tulos IndCo(s) 0.065603, on lähempänä arvoa 0.072821, josta voidaan päätellä, että teksti voisi olla suomenkieltä. Oletamme, että olemme saaneet siepattua viestin s ja uskomme, että se on salattu käyttäen Vigenerén salausta. Seuraavaksi haluamme tietää, onko viesti salattu avainsanan pituudella k. Ensimmäiseksi jaamme viestijonon s k kokoisiin osiin s 1, s 2,..., s k, missä s 1 sisältää jokaisen k. kirjaimen alkaen ensimmäisestä kirjaimesta, s 2 sisältää jokaisen k. kirjaimen alkaen toisesta kirjaimesta ja näin jatketaan. Tällöin s i = c i c i+k c i+2k c i+3k.... Jos olemme arvanneet oikein avainsanan pituuden k, silloin jokainen jono s i koostuu osista, jotka on salattu käyttäen samaa kirjainta, vaikka osiot eivät muodostakkaan avattaessa suoranaisia sanoja. On muistettava, että jono s i on joka k. kirjain tekstistä. Toisaalta, jos avainsanan pituus ei olekaan arvauksemme k, niin jono s i tulisi näyttämään enemmän tai vähemmän satunnaiselta. 8

Siispä jokaiselle avainsanan pituudelle k lasketaan IndCo(s i ) arvo, jossa i = 1, 2, 3,..., k ja tutkitaan, onko saatu arvo lähellä arvoa 0.072821. Näin tehdään jokaiselle avainsanan pituudelle k = 3, 4, 5,..., kunnes löydetään arvo k, jolle arvojen IndCo(s 1 ), IndCo(s 2 ),..., IndCo(s k ) keskiarvo on suurempi kuin 0.070. Tällöin k on luultavasti oikea avaimen koko. Olemme nyt päätelleet, että avaimen pituus on k. Seuraavaksi vertaamme jonoja s 1, s 2,..., s k toisiinsa. Tätä työkalua, jolla vertailemme erilaisia jonoja keskenään sanotaan yhteiseksi sattumisen indeksiksi. Jokainen jono s on salattu käyttämällä eri kirjainta. Jos jono s i on salattu käyttäen kirjainta β i ja jono s j on salattu käyttäen kirjainta β j, niin jono β j on saatu jonosta β i siirtämällä jonon s i kirjaimia eteenpäin σ verran. Tällöin σ β j β i (mod 29). (4) Määritelmä 4.2. Olkoon s = c 1 c 2 c 3... c n ja t = d 1 d 2 d 3... d m aakkosellisista kirjaimista koostuvia jonoja. Jonojen s ja t yhteinen sattumisen indeksi on MutIndCo(s, t). Se on todennäköisyys, että satunnaisesti valittu kirjain jonosta s ja satunnaisesti valittu kirjain jonosta t ovat samoja. Oletamme, että F i (s) ilmaisee aakkosen i esiintymiskertoja jonossa s ja F i (t) ilmaisee aakkosen i esiintymiskertoja jonossa t. Olkoot n ja m ovat kirjainten lukumäärät jonoissa s ja t. Kun valitaan kirjain jonosta s, niin todennäköisyys, että valittu kirjain on aakkonen i on F i(s). Vastaavasti, kun valitaan kirjain n jonosta t, niin todennäköisyys, että valittu kirjain on aakkonen i on F i(t). m Yhteinen sattumisen indeksi jonoille s ja t on MutIndCo(s, t) = 1 nm 28 i=0 F i (s)f i (t). (5) 4.2 Yhteisen sattumisen indeksin MutIndCo laskeminen Olkoot s ja t jonoja s = Matematiikan historia on hyvin pitkä, t = Yksi plus yksi on kaksi. Lasketaan yhteinen sattumisen indeksi käyttäen kaavaa (5) MutIndCo(s, t) = 1 nm 28 = 1 32 19 i=0 28 F i (s)f i (t) F i (s)f i (t). (6) i=0 9

Kirjataan ylös jonojen s ja t kirjainten esiintymistiheydet. Nämä tiheydet ovat esitetty allaolevissa taulukoissa: jono s A E H I K M N O P R S T Ä i 0 4 7 8 10 12 13 14 15 17 18 19 27 F i 4 1 1 5 2 2 2 2 1 1 1 4 1 jono t A I K L N O P S U Y i 0 8 10 11 13 14 15 18 20 23 F i 1 3 4 1 1 1 1 4 1 2. Lasketaan jonoille s ja t yhteinen sattumisen indeksi MutIndCo(s, t): MutIndCo(s, t) = 1 [4 1 + 1 0 + 1 0 + 5 3 +... 2 0 + 1 0] 32 19 = 1 36 0.059211. 608 Yhteisellä sattumisen indeksillä on samanlaisia ominaisuuksia kuin sattumisen indeksillä. Jos kaksi jonoa s ja t ovat salattu käyttäen samaa kirjainta, silloin yhteinen sattumisen indeksin MutIndCo arvo on yleensä suurempi, johtuen kirjainten epätasaisista esiintymistiheyksistä. Toisaalta, jos jonot s ja t ovat salattu käyttäen eri kirjainta, tällöin jonoilla ei ole yhteyttä toisiinsa ja yhteinen sattumisen indeksin MutIndCo arvo tulee olemaan paljon pienempi. Nyt tiedämme, että avainsanan pituus on k ja olemme jakaneet salaustekstin k pituisiin osiin s 1, s 2,..., s k. Jokaisen osion kirjaimet ovat salattu käyttäen samaa kirjainta, jolloin β i = luku, jolla osio s i on siirretty. Seuraavaksi vertaamme jonoa s i jonoon s j +σ, joka saadaan siirtämällä jonoa s j σ verran eteenpäin. Oletetaan, että σ olisikin samansuuruinen kuin β i β j. Tällöin s j + σ ja s i oltaisiin salattu käyttäen samaa kirjainta, jolloin yhteisen sattumisen indeksin MutIndCo(s, t) arvo olisi suuri. Jos taas σ β i β j, niin silloin s j + σ ja s i oltaisiin salattu käyttäen eri kirjainta, tällöin yhteisen sattumisen indeksin MutIndCo(s, t) arvo olisi pieni. Lasketaan kaikki yhteiset sattumisen indeksit MutIndCo(s i, s j + σ), missä 1 i < j k ja 0 σ 28. 10

Tarkastellessa kyseisiä arvoja ja valitaan ne arvot, jotka ovat suurempia kuin 0.070. Jokainen yhteisen sattumisen indeksin MutIndCo(s i, s j + σ) laskettu arvo, joka on suurempi kuin 0.070 tarkoittaa, että on jonot s i ja s j + σ on salattu käyttäen samaa kirjainta, jolloin pätee β i β j σ (mod 29). (7) Jotkin näistä muodostuneista kongruenssisyhtälöistä voivat olla harhaanjohtavia, mutta joidenkin kokeilukertojen ja virheiden jälkeen päädytään arvoihin γ 2,..., γ k, jotka tuottavat yksikäsitteiset ratkaisut β 2 = β 1 + γ 2, β 3 = β 1 + γ 3, β 4 = β 1 + γ 4,..., β k = β 1 + γ k. (8) Jos avainsana sattuu alkamaan kirjaimella A, niin avainsanan toinen kirjain voisi olla kirjain A siirrettynä siirrolla γ 2, kolmas avainsanan kirjain voisi olla kirjain A siirrettynä siirrolla γ 3 ja niin edelleen. Samoin, jos avainsana sattuisi alkamaan kirjaimella B, silloin sen toinen kirjain olisi kirjain B siirrettynä siirrolla γ 2, ja kolmas kirjain olisi B siirrettynä siirrolla γ 3 ja niin edelleen. Todellisuudessa meidän tarvitsee vain kokeilla jokaista mahdollista avainsanan aloittavaa 29 kirjainta ja avata viesti käyttäen jokaista 29 vastaavaa avainsanaa. Jos arvot γ 2,..., γ k toimivat, niin avattaessa salaustekstiä jollakin muodostetulla avainsanalla muodostuu selkotekstiä. 11

4.3 Salatun viestin murtaminen Olemme saaneet napattua Taulukon 3 viestin. DWVSXI VEHOVT MEBOAÄ KQRAOU MXZSUS MSBAFT BCPRKV WEÖKKÄ QSFOOÄ CMGAKR MXRÄZM QXCXAI QMÄIÖM VYIÄSS ÅWÄOAI MVÄSOT KQPIWU QXCNOT XMGBBL QWGKWI CIAKAQ WOÄKYV ZMZXUG HXPXXM LPPROQ BXPOAÄ KLRÄCI MWZKXD WÖPIXÄ ÅMASÖQ UPAKXÅ UXP Taulukko 3: Napattu salausteksti. Etsimme Kasiskin metodin avulla toistuvia tekstinosia Taulukosta 3. Löydämme Taulukon 4 mukaiset osat. Toistuva osio Esiintymispaikka Erotus alkulukuihin jaettuna AÄ 17 ja 155 138 = 2 3 23 MX 25 ja 61 36 = 2 2 3 2 QX 67 ja 103 36 = 2 2 3 2 XP 152 ja 188 36 = 2 2 3 2 AK 123 ja 183 60 = 2 2 3 5 QW 115 ja 126 11 ÄC 54 ja 160 106 = 2 53 PR 39 ja 147 108 = 2 2 3 2 PI 99 ja 171 72 = 2 3 3 2 ÄS 82 ja 93 11 ZM 65 ja 133 68 = 2 2 17 MV 78 ja 91 13 Taulukko 4: Taulukon 3 toistuvat osat. Taulukosta 4 näemme, että lukua 2 3 = 6 esiintyy eniten. Oletamme, että teksti on salattu käyttäen avainsanaa, jolloin 2 2 3 2 = 36 olisi hyvin pitkä avainsanaksi. Toisaalta myös 2 ja 3 olisivat hyvin lyhyita avainsanak- 12

si, eikä kumpikaan esiinny suuresti yksin erotuksissa. Näin ollen kokeillaan avainsanaa, jonka pituus on 6. Voimme varmistaa tämän arvauksemme sattumisen indeksin avulla. Jaamme tekstin s i -kokoisiin osiin avainsanan pituuden mukaan ja laskemme jokaiselle jonolle s i sattumisen indeksin. Lopuksi otamme keskiarvon sattumisen indekseistä jokaiselle avainsanan pituudelle ja vertaamme näitä arvoja. Tehdään avainsanan pituudelle 6 sattumisen indeksin laskeminen, samalla tavalla tehdään myös muille avainsanan pituuksille sattumisen indeksin laskeminen. Arvot ovat laskettu Taulukossa 6. Jaamme tekstin kuuteen jonoon s i, missä i = 1, 2,..., 6, ottamalla joka kuudennen kirjaimen (Taulukko 5). s 1 =DVMKMMBWQCMQQVÅMKQXQCMZHLBKMWÅUU s 2 =WEEQXSCESMXXMYWVQXMWIOMXPXLWÖMPX s 3 =VHBRZBPÖFGRCÄIÄÄPCGGAÄZPPPRZPAAP s 4 =SOOASARKOAÄIÄÖSINBKKKXXROÄÄKISK s 5 =XVAOUFKKOKZAÖSAOWOBWAYUXOACXXÖX s 6 =ITÄUSTVÄÄRMIMSITUTLIQVGHQÄIDÄQÅ Taulukko 5: Salaustekstin jakaminen jonoihin s i. Laskemme joka jonolle s i sattumisen indeksin käyttäen kaavaa (1), esimerkiksi avainsanan pituudella kuusi jonolle s 1 IndCo(s 1 ) = 1 (2 1 + 2 1 +... + 2 1) 32 31 0.074597. Näin teemme jokaiselle jonolle s i, missä i = 1, 2,..., 6. Taulukosta 6 näemme, että avainsanalla, jonka pituus on 6, on kaikista korkein sattumisen indeksin keskiarvo, joka vahvistaa arvauksemme avainsanan pituudesta Kasiskin metodilla. Avainsanan pituus Sattumisen indeksin keskiarvo Jonojen s i ominaiset sattumisen indeksit 4 0.043738 0.039894, 0.046253, 0.035153, 0.053654 5 0.042545 0.042674, 0.045519, 0.041252, 0.042674, 0.040541 6 0.078638 0.074597, 0.086694, 0.076613, 0.086022, 0.077419, 0.070968 7 0.046602 0.039886, 0.042735, 0.034188, 0.02849, 0.068376, 0.051282, 0.061254 Taulukko 6: Sattumisen indeksit eri avainsanan pituuksilla. 13

Verrataan jonoa s i jonoon s j + σ, missä σ = 0, 1, 2,..., 28. Taulukossa 7 on laskettu yhteiset sattumisen indeksit MutIndCo(s i, s j + σ), missä 1 i < j 6 ja 0 σ 28, ja olemme alleviivanneet Taulukosta 7 ne arvot, jotka ovat suurempia kuin 0.070. i j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 0.057 0.024 0.032 0.030 0.050 0.019 0.021 0.027 0.071 0.034 0.027 0.016 0.025 0.028 1 3 0.016 0.054 0.014 0.022 0.029 0.047 0.041 0.025 0.024 0.021 0.050 0.023 0.029 0.016 1 4 0.023 0.008 0.092 0.036 0.037 0.011 0.045 0.028 0.044 0.019 0.028 0.029 0.066 0.035 1 5 0.026 0.025 0.079 0.027 0.010 0.013 0.039 0.036 0.032 0.019 0.038 0.039 0.051 0.022 1 6 0.041 0.027 0.035 0.030 0.079 0.036 0.026 0.018 0.037 0.035 0.026 0.018 0.045 0.031 2 3 0.018 0.029 0.018 0.026 0.020 0.022 0.057 0.041 0.066 0.018 0.019 0.019 0.029 0.023 2 4 0.037 0.023 0.043 0.013 0.059 0.056 0.042 0.013 0.041 0.033 0.031 0.017 0.040 0.053 2 5 0.054 0.039 0.050 0.023 0.035 0.024 0.012 0.013 0.041 0.044 0.030 0.018 0.043 0.044 2 6 0.028 0.018 0.036 0.044 0.076 0.035 0.048 0.040 0.017 0.015 0.030 0.025 0.026 0.021 3 4 0.030 0.042 0.033 0.032 0.021 0.051 0.020 0.071 0.017 0.025 0.013 0.035 0.026 0.030 3 5 0.026 0.061 0.033 0.032 0.023 0.052 0.043 0.054 0.026 0.018 0.018 0.034 0.024 0.037 3 6 0.026 0.021 0.022 0.023 0.027 0.018 0.021 0.054 0.046 0.061 0.040 0.032 0.025 0.028 4 5 0.059 0.017 0.009 0.024 0.053 0.024 0.024 0.028 0.027 0.042 0.034 0.016 0.011 0.041 4 6 0.041 0.017 0.079 0.024 0.019 0.018 0.041 0.033 0.024 0.028 0.057 0.040 0.046 0.016 5 6 0.008 0.026 0.081 0.043 0.045 0.022 0.039 0.037 0.029 0.028 0.039 0.037 0.052 0.034 i j 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 2 0.028 0.014 0.037 0.034 0.067 0.040 0.016 0.023 0.044 0.042 0.019 0.018 0.041 0.065 0.034 1 3 0.054 0.039 0.054 0.018 0.028 0.020 0.044 0.023 0.029 0.018 0.075 0.027 0.059 0.011 0.028 1 4 0.032 0.022 0.044 0.021 0.049 0.006 0.023 0.035 0.055 0.042 0.024 0.023 0.026 0.058 0.031 1 5 0.011 0.018 0.066 0.034 0.043 0.023 0.038 0.047 0.048 0.027 0.014 0.044 0.038 0.059 0.020 1 6 0.061 0.026 0.008 0.018 0.051 0.024 0.031 0.019 0.054 0.048 0.039 0.039 0.022 0.028 0.033 2 3 0.033 0.027 0.066 0.037 0.044 0.011 0.027 0.025 0.044 0.036 0.039 0.037 0.059 0.037 0.021 2 4 0.047 0.043 0.020 0.017 0.034 0.018 0.018 0.019 0.030 0.076 0.039 0.035 0.017 0.043 0.024 2 5 0.020 0.020 0.024 0.027 0.048 0.036 0.021 0.041 0.048 0.074 0.035 0.012 0.016 0.051 0.038 2 6 0.060 0.056 0.028 0.031 0.018 0.012 0.036 0.027 0.028 0.027 0.042 0.085 0.033 0.017 0.019 3 4 0.021 0.052 0.025 0.081 0.021 0.042 0.022 0.058 0.014 0.023 0.010 0.027 0.043 0.051 0.024 3 5 0.024 0.071 0.032 0.039 0.010 0.018 0.022 0.064 0.027 0.032 0.029 0.033 0.028 0.027 0.021 3 6 0.023 0.025 0.022 0.070 0.030 0.051 0.014 0.022 0.019 0.041 0.027 0.040 0.028 0.052 0.040 4 5 0.049 0.038 0.045 0.043 0.042 0.042 0.026 0.020 0.018 0.055 0.035 0.018 0.012 0.040 0.026 4 6 0.005 0.031 0.033 0.020 0.030 0.045 0.062 0.047 0.026 0.035 0.022 0.036 0.029 0.048 0.027 5 6 0.018 0.037 0.044 0.032 0.019 0.012 0.034 0.036 0.039 0.039 0.034 0.041 0.028 0.032 0.014 Taulukko 7: Yhteiset sattumisen indeksit Taulukon 5 jonoille. 14

Taulukosta 8 näemme nämä alleviivatut arvot ja siirtojen suhteet. i j Siirto MutIndCo Siirron suhde 1 4 2 0.092 β 1 β 4 = 2 1 5 2 0.079 β 1 β 5 = 2 4 6 2 0.079 β 4 β 6 = 2 5 6 2 0.081 β 5 β 6 = 2 1 6 4 0.079 β 1 β 6 = 4 2 6 4 0.076 β 2 β 6 = 4 3 4 7 0.071 β 3 β 4 = 7 1 2 8 0.071 β 1 β 2 = 8 3 5 15 0.071 β 3 β 5 = 15 3 4 17 0.081 β 3 β 4 = 17 2 4 23 0.076 β 2 β 4 = 23 2 5 23 0.074 β 2 β 5 = 23 1 3 24 0.075 β 1 β 3 = 24 2 6 25 0.085 β 2 β 6 = 25 Taulukko 8: Suurimmat yhteisen sattumisen indeksin MutIndCo arvot ja niiden väliset siirtosuhteet. Seuraavaksi ratkaisemme lineaariset yhtälöt Taulukosta 8 muistaen, että kaikki arvot ovat laskettu käyttämällä moduloa 29. Taulukossa 8 on 14 yhtälöä ja 6 muuttujaa β 1, β 2, β 3, β 4, β 5, β 6. Vaikka yhtälöille ei ole yksikäsitteistä ratkaisua, voidaan hetken kongruenssiyhtälöiden pyörittelyn jälkeen huomata, että ratkaisu saadaan muuttujan β 1 avulla. Taulukon 8 yhtälöistä huomataan, että jokainen muuttuja β i, missä i 1, voidaan suoraan ratkaista muuttujan β 1 avulla. Esimerkiksi eli Koska β 1 β 2 8 (mod 29) β 2 β 1 8 (mod 29). 8 21 (mod 29), 15

niin β 2 β 1 + 21 (mod 29). Samalla tavalla saadaan ratkaisut muille muuttujille, jolloin β 3 β 1 + 5 (mod 29), β 4 β 1 + 27 (mod 29), β 5 β 1 + 27 (mod 29), β 6 β 1 + 25 (mod 29). Taulukon 8 yhtälöistä voidaan päätellä, että jonoja s 4 ja s 5 on siirretty jonosta s 2 6 kirjaimen verran eli 21 + 6 = 27. Myös jonot s 4 ja s 5 saadaan siirtämällä jonoa s 6 2 kirjaimen verran eteenpäin eli 25 + 2 = 27. Voimme olettaa, että jonot s 4 ja s 5 on saatu siirtämällä jonoa s 1 27 kirjaimen verran. Myös yhtälöt β 2 β 6 + 25 (mod 29) ja β 3 β 4 + 7 (mod 29) toteuttavat laskemamme arvot. Taulukossa 8 on kolme yhtälöä, jotka eivät toteuta laskemiamme arvoja, mutta voimme muiden yhtälöiden perusteella olettaa laskemamme arvot oikeiksi. Jonoja s 2,..., s 6 on siis siirretty 21, 5, 27, 27, 25 kirjaimien verran eteenpäin kuin jonoa s 1. Olemme selvittäneet avainsanan pituuden, joka on kuusi ja olemme selvittäneet kuinka paljon ensimmäistä avainsanan kirjainta tulee siirtää, että saadaan loput avainsanan kirjaimet. Nyt lähdemme kokeilemaan eri 29 avainsanan alkamiskirjainta ja toivomme saavamme jonkin kuusi kirjaimisen avainsanan, joka salaustekstiä avattaessa tuottaisi ymmärrettävää selkotekstiä. Jos avainsana alkaa kirjaimella A (siirto β 1 = 0) siirretään seuraavaa kirjainta 21 kirjainta eteenpäin ja näin jatketaan. Seuraavaksi kokeillaan jos avainsana alkaa kirjaimella B (siirto β 1 = 1) siirretään seuraavaa kirjainta 21 kirjainta eteenpäin ja näin jatketaan. Kokeilemme avata muodostuneilla avainsanoilla ja Taulukon 1 avulla pienen pätkän salaustekstiä (Taulukko 3). Taulukosta 9 voidaan nyt nähdä, että avattu teksti ensimmäisellä salasanalla ei muistuta millään tavalla selkokielistä tekstiä. Näin ollen jatketaan etsintää avainsanan löytämiseksi. Valmiit salasanat ja salaustekstin avaukset voidaan nähdä Taulukosta 10. 16

C DWVSXI VEHOVT MEBOAÄ KQRAOU K AVFÄÄZ AVFÄÄZ AVFÄÄZ AVFÄÄZ P DBQUZM VMCQXX MNZQCC KYMCNY Taulukko 9: Avainsanalla AVFÄÄZ avattu salausteksti. Siirto Avainsana Avattua salaustekstiä 0 AVFÄÄZ DBQUZMVMCQXXMNZQCCKYMCNY 1 BWGÖÖÅ CAPTULULBPWWLLYPBBJXLBPX 2 CXHAAÄ BÖOSXKTKAOVVKKXOAAIWKAOW 3 DYIBBÖ AÄNRWJSJÖNUUJJWNÖÖHVJÖNV 4 EZJCCA ÖÅMQVIRIÄMTTIIVMÄÄGUIÄMU 5 FÅKDDB ÄZLPUHQHÅLSSHHULÅÅFTHÅLT 6 GÄLEEC ÅYKOTGPGZKRRGGTKZZESGZKS 7 HÖMFFD ZXJNSFOFYJQQFFSJYYDRFYJR 8 IANGGE YWIMRENEXIPPEERIXXCQEXIQ 9 JBOHHF XVHLQDMDWHOODDQHWWBPDWHP 10 KCRIIG WUGKPCLCVGNNCCPGVVAOCVGO 11 LDQJJH VTFJOBKBUFMMBBOFUUÖNBUFN 12 MERKKI USEINAJATELLAANETTÄMATEM 13 NFSLLJ TRDHMÖIÖSDKKÖÖMDSSÅLÖSDL 14 OGTMMK SQCGLÄHÄRCJJÅÅLCRRZKÄRCK.. Taulukko 10: Salaustekstin avaaminen eri avainsanoilla.. Kun siirto β 1 = 12, saadaan avainsana MERKKI. Huomataan, että avainsanalla MERKKI saadaan ymmärrettävää selkotekstiä. Tämä on esitetty Taulukossa 11. C DWVSXI VEHOVT MEBOAÄ KQRAOU K MERKKI MERKKI MERKKI MERKKI P USEINA JATELL AANETT ÄMATEM Taulukko 11: Avainsanalla MERKKI avattu salausteksti. 17

Avainsanalla MERKKI saadaan selkokielistä tekstiä, joka pitää vain tavuttaa, pisteyttää ja pilkuttaa oikein. Avataan koko salausteksti Taulukosta 3 avainsanalla MERKKI. Avattu viesti on: Usein ajatellaan, että matematiikka on tylsää, hankalaa, teoreettista ja tarpeetonta eikä se juuri kosketa arkielämäämme. Todellisuudessa matematiikka on niin käytännönläheistä, että harva asia nykyään toimisi ilman sitä. 18

Lähdeluettelo [1] J. Hostein, J. Pipher, J.H. Silverman: Undergraduate texts in mathematics; An Introduction to Mathematical Cryptography. Springer Science+Business Media, LCC, 2008. [2] F.W. Kasiski: Die Geheimschriften und die Dechirir-kunst. Berlin, 1863. [3] http://saaressa.blogspot.fi/2009/07/kirjainten-yleisyys.html [4] http://www.cs.mtu.edu/~shene/nsf-4/tutorial/vig/vig-ioc.html 19