sunnuntai 5. joulukuuta 2010

Pieni ajatus salausmenetelmistä ja sotukusta.

Salaaminen liitetään usein viesteihin ja merkitykseen. Esimerkiksi kreationistien informaatioluennoilla kohtaa toistuvasti tilanteen, jossa esitetään jokin sekamelska, joka sitten paljastuukin epäsatunnaiseksi : Siitä saadaan purettua salausavaimella selväkielinen teksti. Tällä yritetään vakuuttaa seuraajat siitä, että satunnaiselta näyttävä voikin pitää sisällään merkitystä. Että satunnainen merkkijono onkin itse asiassa täynnä merkitystä.

Caesarin salauksessa selvätekstin aakkoset vaihdettiin kirjaimiksi ja kirjain vaihdettiin niin, että siihen lisättiin joku luku. Näin esimerkiksi A:sta saadaan toinen kirjain. (Jos lisätään kolme 1+3=4=D) Jos merkit menivät yli aakkosten viimeisen kirjaimen, siirryttiin aakkosten alkuun. (Ö+3=C ...) Tämä oli melko helppo murtaa. Kun vaihdettiin salasanatyyppiseen ratkaisuun, on ratkaisu vaikeampaa. Esimerkiksi jos joka toiseen voidaan lisätään vaikkapa 3 ja vaikapa joka toiseen vaikkapa 1, on vaihtoehtoja enemmän, useampia vaihtoehtoja joudutaan käymään läpi. Avaimen pituutta voidaan tietysti tehdä vieläkin mutkikkaammaksi ja pidemmäksi.

Tämäkin voidaan murtaa, koska kielessä eri kirjaimia on eri määriä. Suomen kielessä Q on paljon harvinaisempi kuin vaikkapa A. Koska avain toistuu, syntyy avaimen mittainen frekvenssisarja joka toistaa kirjainten todennäköisyyksiä kielessä. Asian voikin kiertää siten, että avain on yhtä pitkä kuin viesti. Ja avain on valittu satunnaisesti. Tällöin purkaminen muuttuu itse asiassa mahdottomaksi.

Syynä on se, että satunnainen merkki voi tuottaa mistä tahansa kirjaimesta minkä tahansa toisen kirjaimen, eikä ole mitään toistuvaa sarjaa, jonka kautta se selviäisi viestistä. Näin ollen viestin pituus on ainut indikaattori. Esimerkiksi jos meillä on merkkisarja "RDFGPOYTQF" on olemassa avain joka tekee siitä vaikkapa viestin "HYÖKKÄÄNYT", mutta toinen avain sanookin että "OSTAOMENIA" ja kolmas avain sanoo että "VEDÄKÄTEEN". Purkaja ei voi tietää mitä näistä (tai jokin muu mahdollinen) viesti on alun perin pitänyt sisällään. Oikea sisältö selviää vasta kun on tiedossa se oikea avain.

Samoin tässä salausmenetelmässä on sellainen jännittävä piirre, että jos meillä on viesti, joka muutetaan joka kerta eri avaimella, syntyy samasta viestistä aina erilainen salakielinen teksti. Eri avain johtaa erilaiselta näyttävään lopputulokseen. Viestistä saadaan itse asiassa mikä tahansa merkkijono : Jokaiseen merkkijonoon on olemassa salausavain, joka tuottaa sen.
1: Tälläisen voi kaivaa jälkikäteen, A muuttuu B:ksi jos muutos on +1, joten salausavaimeen tässä kohden A. Jos halutaan C, niin täytyy tietysti lisätä 2, joten B... Näin voidaan tehdä jokaisen kirjaimen kohdalla. Kun salausavain arvotaan, on mikä tahansa merkkijono salausavaimena yhtä todennäköinen kuin jokin toinen.

Tämänlainen yhden kerran toistuvan avaimen järjestelmä on murtamaton. Sen ongelmana on tietysti avaimen siirtäminen. Tälle tarvitaan kanava. Ja jos tämä kanava on luotettava, ei salausta edes tarvita koska varsinaista viestiä voidaan kuljettaa tätä turvallista kanavaa käyttäen. Avaimenkaappausta ei yleensä pidetä matemaattisesti salauksen purkamisena. Mutta salausmenetelmän käytännön sovellusten kautta se on selvästi tärkeä.

Yllä olevalla on jännittäviä asioita myös itse merkityksen kanssa. Useinhan salausjärjestelmää lähestytään arkikielessä nimen omaan tarkoituksen kautta. Ajatellaan että kun salatusta viestistä löytyy lause, jossa on merkitys, on löytynyt oikea ratkaisu. Kuitenkin vihkoesimerkkini näyttää yksinkertaisen tavan, jossa viesti on muutettava useaksi sisällöltään hyvin erilaiseksi viestiksi jolla on suomen kielessä merkitys. Ulkopuoliselle ei ole keinoa erottaa mikä on ollut viestin oikea sisältö.

Toisin sanoen salausta voidaan lähestyä hajeen kautta. Salaaminen lisää viestiin häiriötä, jonka avaaja osaa poistaa. Näin ollen informaatio näyttää tuhoutuvan viestiä avaavalle. Kun lisätään satunnainen merkki jokaiseen kohtaan, on tuloksessa valtavastu hajetta. Jos tiedetään mitä on tehty, hajetta ei itse asiassa ole. Kanava on häiriöinen yhdelle ja häiriötön toiselle, näiden kahden ero on systeemiä koskevassa tiedossa.

Toisaalta salausmenetelmä ei itse asiassa perustu siihen että viestissä on sisältöä. Voi olla että salauskanavaa testataan lähettämällä satunnainen merkkijono "HLMBFGFIDA". Salausavain on vain tuottanut tästä "RDFGPOYTQF":än. Koska menetelmä on mekaaninen, se ei välitä merkkijonon merkityksestä vaan sille kyseessä on pelkkä symbolijono. Asiaa voi mutkistaa vielä sillä, että kenties "HLMBFGFIDA" onkin salainen koodi. Jossain on vaikkapa lista jossa on erilaisia projekteja. Tuo lyhenne voi vaikkapa tarkoittaa tilannekuvausta, jossa "Blofeldin kissa on väijynyt James Bondia Istanbulissa." Merkitys ei itse asiassa olekaan itse viestissä. Symbolijono on vain mielivaltainen sopimus. Tämän vuoksi ihmiset joutuvat opettelemaan kieliä, jotta oppisivat merkityksen.

Syykin on tavallaan selvä : Symbolijono viittaa itsensä ulkopuolelle. Sekamelskassa ei itsessään ole merkitystä. Purkaminen muuttaa merkkijonon, joten tarvitaan tieto prosessointitavasta. Lisäksi tarvitaan sopimusjärjestelmä, kieli tai muu sopimus.

Ei kommentteja: