Skip to content

Kvanttikryptografiaa Mystery Cache

Hidden : 5/1/2018
Difficulty:
3.5 out of 5
Terrain:
1.5 out of 5

Size: Size:   large (large)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


Tuhansien vuosien ajan viestejä on salakirjoitettu, jotta niitten sisältämä tieto ei joutuisi vihollisen käsiin. Kilpajuoksu entistä varmempien salakirjoitusmenetelmien kehittämisen ja toisaalta niitten murtamisen välillä on jatkunut näihin päiviin asti.

Kaikki aikaisemmat salakirjoitusmenetelmät ovat olleet murrettavissa (poislukien OTP). Tällaisia ovat mm. Caesar, Vigenere, Enigma jne. etc. Uudemmat julkiseen avaimeen perustuvat järjestelmät, kuten RSA ja PGP, ovat teoriassa murrettavissa, mutta kun käytetään riittävän isoja avainlukuja, niin avaamiseen kuluu nykyisiltä tietokoneilta paljon aikaa, vaikkapa tuhat vuotta, niin että viestit ehtivät vanhentua. Kvanttitietokoneitten kehittyminen voi kuitenkin aiheuttaa sen, että RSA:lla koodatut viestit voidaan avata lyhyessä ajassa. Tällöin ehdottoman luotettavaa salausjärjestelmää ei olisi enää olemassa.

Tähän tuo parannuksen kvanttisalaus. Siinä tiedon salattuun välittämiseen käytetään tietyllä tavalla polarisoituja valokvantteja eli fotoneja. Kvanttisalauksella ei välitetä varsinaisia viestejä lähettäjältä vastaanottajalle, vaan ainoastaan salausavain. Fotonien kvanttiluonteesta johtuen fotoniliikennettä ei pystytä ”salakuuntelemaan” ja systeemi havaitsee jo pelkän yrityksen. Varsinaiset viestit koodataan ONE-TIME PAD salauksella (OTP) käyttäen em. salausavainta. Kunhan avain on viestin mittainen, aidosti satunnainen ja sitä käytetään vain kerran, OTP-salausta on mahdotonta murtaa. Kvanttisalakirjoituksella koodinmurtajat on lopullisesti lyöty. - Vai onko?

Kvanttisalakirjoitusta on kuvattu lähemmin mm. Simon Singh:in kirjassa Koodikirja/Code book.

Demonstroimme tätä yksinkertaisella esimerkillä.

Liisa haluaa lähettää Pekalle luottamuksellisen viestin käyttämällä kvanttisalakirjoitusta. Ensin hän lähettää Pekalle erityistä väylää pitkin polarisoimalla koodatuilla valokvanteilla seuraavan bittisarjan:

01100011100000100010100110111100110100000110101000000001001110111101110111101

Sitten Liisa lähettää Pekalla avointa yhteyttä käyttäen (esim. sähköpostilla) seuraavan merkkijonon, jossa + tarkoittaa rektilineaarista polarisaatiota ja x tarkoittaa diagonaalista polarisaatiota. Merkkijonolla ilmoitetaan kummalla tavalla kukin lähetetty bitti on polarisoitu:

+x+xx++x++x+x++x+xx++xx+xx+xxx+xxx+xxx++x+++x+xxx++x+x+x+xxxx++xxxx+x+x+xxxx+

Pekka lähettää Liisalle vastaukseksi samoin avoimella yhteydellä seuraavan merkkijonon, joka ilmoittaa, minkä tyyppisellä ilmaisimella hän on vastaanottanut kunkin bitin. (Todellisuudessa Pekka toimisi hiukan eri tavalla, mutta se olisi hankalampi toteuttaa tässä, eikä vaikuta lopputulokseen.)

x+++xxx++xx++xxxx+x++++x+++xx+x++++xxx+x++xx++xxxxx+++x+xx++xx+++x+x+xxxxx++x

Näillä tiedoilla Liisa ja Pekka luovat yhteisen salausavaimen, jolla koodataan varsinainen viesti. Tämän viestin voi myös lähettää avoimella yhteydellä.

Tässä ONE-TIME PAD:in salausavaimen numerot muodostetaan kolmen bitin ryhmistä. Viestin salaustapa on yhteenlasku Mod 10 ja A=01, B=02,…, Z=26. Koodattu viesti on saatu siis siten, että alkuperäisen selväkielisen viestin kirjaimet on ensin muutttu numeroiksi ja lisätty niihin sitten OTP-salaus-avaimen numerot.

Koodattu viesti on tässä:   ->         62 58 39 27 78

Mitähän asiaa Liisalla oli? Chekkeri tietää!



Additional Hints (Decrypt)

9.5.2018: Ulyägääa ar ovgvg, wbvffn Yvvfnyyn wn Crxnyyn ba byyhg rev gllccvara vyznvfva.

Decryption Key

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

(letter above equals below, and vice versa)