Nadomestna šifra je oblika kriptografije.

Kako deluje substitucijska šifra

Pri substitucijski šifri se za vsak znak iz izvirnega sporočila (običajno črko abecede) uporabi pravilo, ki ga nadomesti z drugim znakom. To pravilo je ključno za šifriranje in dešifriranje: tisti, ki pozna pravilo (ključ), lahko sporočilo obnovi; drugi brez ključa vidijo le zmedeno besedilo.

Pravila so lahko preprosta (npr. vsak znak zamaknemo za določeno število mest — primer je Cezarjeva šifra), ali pa poljubne zamenjave (permutacije) vseh črk abecede.

Primer z enostavno zamenjavo (Atbash)

Za lažjo predstavo si oglejmo klasično Atbash zameno, kjer je a→z, b→y, c→x, …, z→a. V tabeli spodaj je prikaz za angleško abecedo:

Plaina 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
Cipherz y x w v u t s r q p o n m l k j i h g f e d c b a

Če zašifriramo stavek "Jack and Jill went up the hill" z Atbashom, dobimo:

Qzxp zmw Qroo dvmg fk gsv sroo

To je konkreten primer substitucijske zamenjave, ki jasno pokaže načelo: enaka črka v izvirniku je vedno zamenjana z isto črko v šifriranem besedilu (enostavna monoalfabetska substitucija).

Vrste substitucijskih šifer

  • Monoalfabetske: ena in ista zamenjava velja za celotno sporočilo (npr. preprosta permutacija ali Atbash).
  • Homofonske: posamezni izvorni znak je lahko zamenjan z več različnimi šiframi, da se zmanjša avtopoiznavnost frekvenc.
  • Polialfabetske: uporabljajo več zamenjav v odvisnosti od položaja ali ključa (npr. Vigenère); teh ni enostavno obravnavati kot ena sama substitucija, a ideja zamenjave ostane.
  • Poligrafske: delajo z zamenjavami skupin znakov (npr. Playfair), kar spreminja analizo vzorcev.

Razbijanje: frekvenčna analiza in drugi pristopi

Frekvenčna analiza je najstarejši in najmočnejši metodološki pristop za razbijanje monoalfabetskih substitucijskih šifer. Temelji na dejstvu, da se v vsakem jeziku nekatere črke in kombinacije pojavljajo pogosteje kot druge (v angleščini je na primer najpogostejša črka E, nato T, A …). Če v šifriranem besedilu najdemo črko, ki se pojavlja daleč najpogosteje, obstaja velika verjetnost, da predstavlja E ali drugo pogosto črko jezika, iz katerega izvira izvirno besedilo.

Poleg enojnih črk so uporabni tudi vzorci veččrkovnih kombinacij (digrame in trigrame — npr. "TH", "HE" v angleščini) ter oblika besed in ponavljajoče se strukture (npr. enako dolgi ponavljajoči se trije znaki pogosto kažejo na enako besedo).

Drugi pristopi vključujejo:

  • prepoznavanje pogostih kratkih besed (v/na/da v slovenščini; the/and v angleščini),
  • uporabo kontekstnih namigov in skladenjskih pravil jezika,
  • iskanje znanih fraz ali izrazov (known-plaintext attacks),
  • računalniške metode (statistični in kombinatorični algoritmi), ki precej pospešijo proces ročnega dešifriranja.

Varnost in uporaba

Nadomestne šifre niso dovolj varne za zaščito sodobne komunikacije. Enostavne monoalfabetske substitucije lahko razbijemo z nekaj časa in osnovno statistiko; zato se v praksi uporabljajo naprednejši algoritmi (simetrični in asimetrični šifrirni sistemi) z matematično podprtimi varnostnimi lastnostmi.

Kljub temu imajo substitucijske šifre zgodovinsko vrednost in se pogosto uporabljajo v učnih primerih, logičnih ugankah ter kot intelektualna vaja. Razbijanje kriptogramov (besedilo, skrito s substitucijsko šifro) je pogosta uganka, ki jo pogosto najdemo v časopisih in različnih zabavnih izzivih.

Nasveti za reševanje kriptogramov

  • Najprej preštejte frekvence črk v šifriranem besedilu in jih primerjajte s frekvencami v ciljnem jeziku (upoštevajte, da se frekvence razlikujejo med jeziki).
  • Iščite kratke besede in ponavljajoče se vzorce; enomestne ali dvomestne besede pogosto ustrezajo "a", "I" ali členom (v slovenščini: "v", "na", "in").
  • Preizkusite predpostavke postopoma: če določeni šifrirani znak mapirate na določeno črko, preverite, ali to ustreza drugim pojavom v besedilu (konzistentnost je ključna).
  • Uporabite programčke ali spletna orodja za frekvenčno analizo — pri daljših besedilih hitro prikažejo statistiko in predloge.

Zaključek: substitucijska (nadomestna) šifra je enostaven in razumljiv koncept z bogato zgodovino, primeren za učenje osnov kriptografije in za reševanje miselnih ugank. Vendar za dejansko varnost sodobnih podatkov ta pristop ni primeren, saj ga razbija že osnovna frekvenčna analiza in sorodne metode.