Caesari nihe, ka Caesari šiffer, Caesari salakiri on krüptograafias üks lihtsamaid ja tuntumaid šifreerimismeetodeid. See on üks asendusšifri tüüpidest, kus iga täht algsest krüpteerimata tekstist on asendatud tähega, mis on mingi kindla arvu positsioonide võrra tähestikus taga- või eespool. Näiteks vasaknihke 3 puhul asendatakse täht D tähega A, täht E asendatakse tähega B jne. Selline krüpteerimisviis on nime saanud Julius Caesari järgi, kes kasutas seda isiklikus kirjavahetuses.[1]

Caesari salakiri koostatakse põhimõttel, kus algses tekstis asendatakse iga täht teisega, mis paikneb tähestikus mingi kindla nihkega. Siin illustreeritud šiffer kasutab võtmena vasaknihet 3 koha võrra, seega näiteks iga tavateksti täht E muudetakse salakirjas täheks B

Caesari šifri poolt esitatud krüpteerimisviisi kasutatakse tihti ühe osana keerukamates skeemides, näiteks on antud salakirja põhimõte kasutusel Vigenère šifris, kus kombineeritakse seda mitme erineva sammuga. Tänapäeval kasutatakse Caesari nihet ROT13 süsteemis. Nagu aga kõik monoalfabeetilised asendusšifrid, on ka Caesari šiffer kergesti murtav ning tänapäeval on selle abil saavutatav suhtlusturvalisus praktiliselt olematu.

Näide kasutusest muuda

Teisenduse saab esitada reastades kaks tähestikku; šiffer-tähestikuks saab tavatähestik, mida on nihutatud paremale või vasakule mingi arvu kohtade võrra. Näiteks on siin toodud näide Caesari šifrist, mis kasutab võtmena nihet vasakule kolme koha võrra; see on võrdväärne ka nihkega paremale 29 koha võrra (võtmena kasutatakse nihkeparameetreid). Antud näites on kasutatud eesti tähestikku koos võõrtähtedega.

Tavatähestik:   ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY
Šifritähestik: ÜXYABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖ

Krüpteerides otsitakse iga krüpteerimiseks vajalik täht üles tavatähestiku reas ning asendatakse see vastava tähega šifritähestikust.

Tavatekst:  JURIIDILISELT ON KÕIK KORREKTNE
Salakiri:   GŽOFFAFIFPBIŠ LK HUFH HLOOBHŠKB

Dešifreerimine toimub samal põhimõttel ümberpööratult; paremnihkega kolme koha võrra.

Krüpteeringut võib esitleda ka modulaararitmeetika kaudu. Selleks muudetakse kõigepealt tähed numbriteks vastavalt antud skeemile: A → 0, B → 1, ..., Y → 32.[2] Seega võib tähe x krüpteeringut nihkega n kirjeldada matemaatiliselt nii:[3]

 

kus 32 on erinev vastavalt kasutusel olevas tähestikus esinevate tähtede arvust; antud näide on toodud eesti tähestiku kohta koos võõrtähtedega.

Dekrüpteerimine esitub sarnaselt:

 

Mooduloperatsioone defineeritakse erinevalt. Antud näites jääb tulemus vahemikku 0…31; st kui x + n või x – n ei ole vahemikus 0…31, siis tuleb liita või lahutada 32. Asendusreegel püsib sama läbi sõnumi, seega liigitatakse šiffer monoalfabeetiliseks asenduseks, teistel juhtudel on tegemist polüalfabeetiliste asendustega.

Ajalugu ja kasutus muuda

Caesari nihe on nime saanud Julius Caesarilt, kes Gaius Suetonius Tranquilluse järgi kasutas seda šifrit nihkega kolme koha võrra, et kaitsta sõjaliselt tähtsaid sõnumeid. Kuigi Caesar oli esimene, keda teati nimeliselt seda kasutanud olevat, leidub sarnase põhimõttega salakirjadest ka teisi varasemaid versioone. [4][5]

Tema nõbu Augustus kasutas samuti seda šifrit, kuid nihkega ühe koha võrra ning tähestiku lõppu jõudnuna ei viinud ta seda algusesse tagasi; A asendati tähega B, B tähega C ning nii ka ülejäänud tähtedega kuni jõuti täheni Z, mis asendati tähtedega AA. Leidub tõendeid sellest, et Caesar kasutas ka keerulisemaid krüpeerimisviise.[6]

Ei ole teada, kui tõhus Caesari salakiri tol ajal oli, kuid võib arvata, et see oli piisavalt turvaline, peamiselt seetõttu, et enamik tema vaenlasi olid kirjaoskamatud ning arvati, et sõnumid olid kirjutatud tundmatus keeles.[7]

Šifri murdmine muuda

Caesari salakirja on lihtne dešifreerida ka siis, kui on ligipääs ainult šifritekstidele ilma algsete originaalideta. Arvestada võib kahe võimalusega:

  1. vaenlane teab (või pakub), et tekstide puhul on kasutatud mingit sorti asendusšifrit, aga mitte tingimata, et tegemist on Caesari nihkega
  2. vaenlane teab, et kasutatud on Caesari šifrit, kuid ei tea, kui suur on krüpteerimisel kasutatud nihe

Esimesel juhul saab šifri murda, rakendades sellele samu meetodeid, nagu teistele tavalistele asendusšifritele, näiteks sagedusanalüüsi või šabloonsõnu.[8] Lahendamise käigus märkab vaenlane suure tõenäosusega lahendustes korrapärasust ning järeldab sellest, et kasutatud on Caesari šifri algoritmi.

Teisel juhul on salakirja murdmine veelgi lihtsam. Kuna on ainult teatud kindel arv võimalikke nihkeid (32 eesti keeles, 26 inglise keeles), siis on need kõik võimalik ära katsetada, kasutades toore jõuga lähenemist.[9]

Veel on võimalik kokku sobitada tähtede jaotussagedus. Joonistades šiffertekstis esinevate tähtede sagedustest graafikud ning teades nende tähtede tegelikku oodatud sagedust originaalteksti keeles, on võimalik graafikuid võrreldes lihtsasti märgata salakirja nihke väärtust. See on tuntud kui sagedusanalüüs. Arvutid on võimelised seda ellu viima viisil, kus mõõdetakse, kui hästi tegelik sagedusjaotus kattub oodatud jaotusega.[10] Tüüpilises ingliskeelses tekstis on tähtede jaotus eristatav ja prognoositav; eristuvad tuntavad kujud. Caesari nihe pöörab seda jaotust ning seejärel on võimalik nihe määrata, uurides saadud sagedusgraafikut.

Caesari salakiri ei muutu aga mitmekordsel järjestikusel šifreerimisel turvalisemaks. Põhjuseks on see, et kaks krüpteeringut, näiteks nihe A ja nihe B, võrduvad ühe krüpteeringuga nihkega A + B. Matemaatiliselt tähendab see seda, et kõikide võimalike võtmete all olevad krüpteerimistoimingud moodustavad liitfunktsiooni all rühma.[11]

Viited muuda

  1. Suetonius, Vita Divi Julii 56.6
  2. Luciano, Dennis; Gordon Prichett (1987). "Cryptology: From Caesar Ciphers to Public-Key Cryptosystems". The College Mathematics Journal. 18 (1): 2–17. DOI:10.2307/2686311. JSTOR 2686311.
  3. Wobst, Reinhard (2001). Cryptology Unlocked. Wiley. Lk 19. ISBN 978-0-470-06064-3.
  4. "Cracking the Code". Central Intelligence Agency. Originaali arhiivikoopia seisuga 26.12.2020. Vaadatud 21.02.2017.
  5. Singh, Simon (2000). The Code Book. Anchor. Lk 289-290. ISBN 0-385-49532-3.
  6. Reinke, Edgar C. (1992). "Classical Cryptography". The Classical Journal. 58 (3): 114.
  7. Pieprzyk, Josef; Thomas Hardjono; Jennifer Seberry (2003). Fundamentals of Computer Security. Springer. Lk 6. ISBN 3-540-43101-2.
  8. Beutelspacher, Albrecht (1994). Cryptology. Mathematical Association of America. Lk 9–11. ISBN 0-88385-504-6.
  9. Beutelspacher, Albrecht (1994). Cryptology. Mathematical Association of America. Lk 8–9. ISBN 0-88385-504-6.
  10. Savarese, Chris; Brian Hart (15.07.2002). "The Caesar Cipher". Originaali arhiivikoopia seisuga 24.05.2020. Vaadatud 16.07.2008.
  11. Wobst, Reinhard (2001). Cryptology Unlocked. Wiley. Lk 31. ISBN 978-0-470-06064-3.