Istorinė kilmė: „Nenulaužiamasis šifras“ (Le Chiffre Indéchiffrable)

Vigenère (Viženero) šifras žymi lemtingą žmonijos kriptografijos lūžį, kuomet slaptaraščiai iš primityvių vieno alfabeto (monoalfabetinių) poslinkių persikėlė į daugiabučius, daugelio abėcėlių (polialfabetinius) matematinius modelius. Daugiau nei tris šimtmečius – nuo XVI a. vidurio iki pat XIX a. pabaigos – Europos monarchai, karo strategai ir diplomatiniai pasiuntiniai laikė šią sistemą visiškai neįveikiama, suteikdami jai skambų prancūzišką titulą le chiffre indéchiffrable („nenulaužiamasis šifras“).

Istorinė teisybė byloja, kad šis šifras yra viena garsiausių autorystės klaidų mokslo istorijoje. Pirmasis ciklinio rakto polialfabetinį šifravimą 1553 m. savo veikale „La cifra del. Sig. Giovan Battista Bellaso“ aprašė italų kriptologas Giovan Battista Bellaso. Tačiau 1586 m. prancūzų diplomatas ir alchemikas Blaise de Vigenère pristatė kur kas pažangesnį automatinio rakto (Autokey) šifrą. XIX a. tyrėjai klaidingai suplakė šiuos du atradimus į vieną, o Bellaso sukurtą metodą amžiams pakrikštijo Vigenère vardu.

Polialfabetinio pakeitimo matematinis aparatas kūne ℤ₂₆

Priešingai nei monoalfabetiniuose Cezario ar Atbash šifruose, kur kiekviena raidė visada atitinka tą patį fiksuotą simbolį, polialfabetinėje sistemoje ta pati atvirojo teksto raidė skirtingose žodžio vietose užšifruojama vis kitaip, priklausomai nuo slaptaraščio raktažodžio. Susiejus abėcėlės raides A–Z su liekanų žiedo ℤ₂₆ sveikaisiais skaičiais nuo 0 iki 25 (A = 0, B = 1, ..., Z = 25), šifravimas ir dešifravimas išreiškiamas moduliarinėmis lygtimis:

Šifravimas: Ci = (Pi + Ki) mod 26

Dešifravimas: Pi = (Ci − Ki + 26) mod 26

Čia Pi žymi i-tąją atvirojo teksto raidę, Ci – užšifruotą simbolį, o Ki – atitinkamą rakto srauto raidę. Jei pranešimas yra ilgesnis už slaptąjį raktažodį, raktas kartojamas cikliškai: Ki = Raktas[i mod L], kur L yra rakto ilgis.

Algoritmų atmainos: standartinis, automatinis raktas ir Bofortas

Šioje studijoje realizuoti visi keturi istoriniai polialfabetinės kriptografijos variantai:

  • Standartinis Vigenère šifras (kartojamas raktas): Slaptas raktažodis cikliškai kartojamas per visą teksto ilgį. Nors šį metodą paprasta taikyti rankiniu būdu, jo periodiškumas L atveria kelią Kasiski pasikartojimų analizei.
  • Automatinio rakto (Autokey) šifras: Tikrasis Blaise de Vigenère išradimas. Šis metodas pašalina ciklinį kartojimąsi: raktažodis panaudojamas tik pačioje pradžioje, o toliau rakto srautą tęsia pats atvirasis tekstas (Srautas = Raktas + Tekstas). Kadangi raktas nesikartoja, klasikinė periodinė dažnių analizė tampa bejėgė.
  • Boforto šifras (Beaufort Cipher): Seras Francis Beaufort (garsiosios vėjo stiprumo skalės kūrėjas) 1857 m. pristatė simetrišką variantą: Ci = (Ki − Pi + 26) mod 26. Šis šifras pasižymi involiucine simetrija – ta pati matematinė formulė atlieka ir šifravimą, ir dešifravimą.
  • Variant Beaufort (vokiškasis variantas): Šifruojama atimant raktą iš teksto (Ci = (Pi − Ki + 26) mod 26), o dešifruojama sudedant (Pi = (Ci + Ki) mod 26).

Tabula Recta: 26×26 šifravimo matrica

Vaizdinis Vigenère kriptografijos pagrindas yra Tabula Recta (pirmą kartą 1508 m. aprašyta benediktinų vienuolio Johanneso Trithemiuso veikale Polygraphia). Tai 26×26 kvadratinė lentelė, kurioje kiekviena eilutė yra viena pozicija į kairę pastumta abėcėlė:

  • Šifruojant: Viršutiniame stulpelyje randama teksto raidė, kairiojoje eilutėje – rakto raidė. Jų sankirtoje esanti raidė yra šifras.
  • Dešifruojant: Kairėje eilutėje randama rakto raidė, horizontaliai judama iki šifruoto simbolio, o pakilus vertikaliai į viršų perskaitomas originalus tekstas.

Kriptoanalizė: kaip XIX a. krito „Nenulaužiamasis šifras“

Mitas apie Vigenère šifro neįveikiamumą galutinai subyrėjo 1863 m., kai Prūsijos karininkas Friedrich Kasiski publikavo revoliucinį analizės metodą:

  • Kasiski testas (Kasiski Examination): Kai dažni kalbos žodžiai (pvz., THE, AND, KAD, KAS) atsitiktinai sutampa su ta pačia kartojamo rakto dalimi, jie sukuria visiškai identiškas šifro 3–4 raidžių sekas. Apskaičiavus atstumų tarp šių pasikartojimų didžiausią bendrąjį daliklį (DBD), nustatomas tikslus rakto ilgis L.
  • Sutapimo indeksas (Index of Coincidence, IoC / Ic): 1922 m. amerikiečių kriptologas William F. Friedman sukūrė statistinį testą, vertinantį tikimybę, kad du atsitiktinai parinkti teksto simboliai sutaps:
    Ic = ∑ [fi × (fi − 1)] / [N × (N − 1)]
    Natūraliame tekste Ic ≈ 0.0667, o atsitiktiniame šifre – vos 0.0385. Padalijus šifrą į L atskirų srautų, tikrasis rakto ilgis patvirtinamas, kai srautų Ic reikšmės vėl pakyla iki 0.066.
  • Chi-kvadrato (χ²) dažnių atkūrimas: Žinant rakto ilgį L, kiekvienas iš L stulpelių tampa paprastu Cezario šifru ir akimirksniu išsprendžiamas taikant Chi-kvadrato lyginimą su natūralios kalbos raidžių dažniais.

Polialfabetinės puikybės epistemologija: trys šimtmečiai kriptografinio solipsizmo

Nedaug reiškinių žmonijos intelekto istorijoje taip išraiškingai iliustruoja tragikomišką mūsų rūšies polinkį į seskvipedalinę (daugiažodę) saviapgaulę, kaip tris šimtus metų trukęs aklas Vigenère šifro garbinimas, suteikiant jam pretenzingą le chiffre indéchiffrable titulą. Ištisos karališkųjų kanceliarijų, pasipūtusių diplomatų ir karingų generolų kartos gyveno euforiškoje haliucinacijoje: jie šventai tikėjo, kad paprastas abėcėlės stumdymas pirmyn ir atgal pagal paslaptingai sušnibždėtą slaptažodį sukuria neįveikiamą kognityvinę tvirtovę prieš pasaulio smalsumą. Tai buvo didingas ortografinės tuštybės triumfas prieš matematinę neišvengiamybę – naivus įsitikinimas, jog baigtinis, mechaniškai kartojamas žmogiškasis žodis gali panaikinti kombinatorinės entropijos ir kalbos statistikos dėsnius.

Šios istorinės dramos sarkazmas pasiekė apogėjų JAV pilietinio karo metu, kuomet Konfederacijos karininkai savo lemtingus mūšio įsakymus šifravo apgailėtinai nuspėjamais raktais (pvz., COMPLETE VICTORY ar COME RETRIBUTION), o Šiaurės pajėgų kriptografai juos gliaudė taip pat lengvai kaip rytinius laikraščių kryžiažodžius. Dar anksčiau, apie 1854 m., mechaninio kompiuterio tėvas Charlesas Babbage'as šį „neįveikiamą“ šifrą išgliaudė vien iš gryno sarkazmo ir profesinio pykčio, kai dantistas Johnas Thwaitesas pasigyrė išradęs „visiškai naują“ slaptaraštį. Britų karinė žvalgyba Babbage'o atradimą akimirksniu įslaptino, kad kitos Europos imperijos ir toliau ramiai miegotų, patikėdamos savo intymiausias valstybines paslaptis šifrui, kurį britai skaitė tarsi atverstą knygą. Vigenère istorija įrodo ne žmogaus proto gebėjimą paslėpti tiesą, o amžiną mūsų silpnybę painias ceremonijas painioti su tikruoju saugumu.