Poďme sa porozprávať o klasickej kryptografii
Kryptografia má širokú škálu aplikácií v našich životoch a je základom informačnej bezpečnosti. Od vzniku kryptografie v staroveku až po vývoj modernej kryptografie, kryptografické techniky používané ľuďmi sa nazývajú klasická kryptografia.
Klasická kryptografia sa zameriava predovšetkým na dôverné prenosy informácií a príslušné metódy dešifrovania. Návrh klasických kryptografických algoritmov zvyčajne závisí od kreativity dizajnéra a bezpečnosť závisí od tajnosti algoritmu. Poďme sa pozrieť na niektoré bežné klasické šifry.
Šifra “Fan Qie”
Počas dynastie Ming vynašiel Qi Jiguang šifru “Fan Qie”, ktorá používala dve básne ako “kódovú knihu” (pozri tabuľky 1 a 2). Počiatočné písmená textov prvej básne boli priradené číslam 1-15, zatiaľ čo samohlásky z textov druhej básne boli priradené číslam 1-36. Následne boli priradené čísla 1-8 osem tónom výslovnosti tej doby, čím vznikol kompletný systém “Fan Qie” kódu.
Napríklad, ak je kód určitého čínskeho znaku “5-25-2”, podľa tabuliek môžeme určiť, že počiatočné písmeno zodpovedajúce číslu 5 je “d”, samohláska zodpovedajúca číslu 25 je “i” a tón zodpovedajúci číslu 2 je druhý tón. Preto môžeme usúdiť, že čínsky znak je “敌”.
Permutačná šifra
Permutačná šifra sa vyznačuje tým, že všetky písmená v plaintexte zostávajú nezmenené a na preusporiadanie pozícií a poradia znakov plaintextu sa používa len pravidlo permutácie. Tu je príklad:
Plaintext: “HELLO,WORLD!”, zobrazený v stĺpcoch ako:
Kľúč: (14) (23), čo znamená, že obsah stĺpcov 1 a 4 sa vymenia a obsah stĺpcov 2 a 3 sa vymenia.
Ciphertext: Preusporiadaním plaintextu podľa stĺpcov dostaneme “LO! LWDE, LHOR”:
Cézarova šifra
Cézarova šifra kruhovým posunom abecedy o “k” bitov slúži na šifrovanie a dešifrovanie. Keď k = 3, vzťah medzi plaintextom a ciphertextom:
Napríklad, ak je správa v plaintexte “CAESAR”, posunutá ciphertextová správa bude “FDHVDU”. Cézarova šifra je cyklický posun anglických písmen na šifrovanie a dešifrovanie, tiež známa ako “posunová šifra”.
V Cézarovej šifre kľúč “k” predstavuje počet pozícií, o ktoré sa posúvajú písmená v plaintexte. Keďže existuje 26 písmen v abecede, existuje len 26 možných prípadov v priestore kľúčov, čo znamená, že k ∈ [0, 25]. Taktiež, vzhľadom na obmedzený počet kľúčov, stačí vyskúšať všetkých 26 kľúčov, aby sa získal správny plaintext. Tento spôsob vyskúšania všetkých možných kľúčov je tiež známy ako hrubá sila (brute-force cracking). Je vidno, že nevyhnutnou podmienkou bezpečnosti kryptosystému je odolnosť proti útoku na vyčerpávajúce hľadanie kľúča.
Substitučná šifra
Ďalšou známou klasickou šifrou je substitučná šifra. Substitúcia zahŕňa nahradenie písmen v plaintexte inými písmenami alebo symbolmi. Zvyčajne sa vytvára tabuľka substitúcie pre substitučnú šifru. Počas šifrovania sa plaintext postupne nahrádza zodpovedajúcimi znakmi získanými z tabuľky, čím vzniká ciphertext. Táto tabuľka substitúcie slúži ako kľúč pre substitučnú šifru.
Vezmime si príklad substitučnej tabuľky. Ak je správa v plaintexte “SUBSTITUTION”, po odkázaní na tabuľku dostaneme ciphertextovú správu “YNHYWOWNWOAL”.
Substitučná tabuľka zobrazená na Obrázku 2 je len jedným druhom substitúcie. Existuje “26!” možných substitúcií pre 26 písmen, čo znamená, že veľkosť priestoru kľúčov substitučnej šifry je viac než 4.0×10^26. V tomto prípade by sa náročnosť použitia útoku na vyčerpávajúce hľadanie kľúča výrazne zvýšila. Avšak to neznamená, že substitučné šifry sú bezpečné, pretože môžu byť prelomené pomocou frekvenčnej analýzy.
Frekvenčná analýza sa používa hlavne na štúdium frekvencie písmen alebo kombinácií písmen v texte a využitie štatistických zákonitostí na vykonanie kryptanalyzovania prostredníctvom špekulácie a overovania. V texte s veľkou vzorkou a významom nie je frekvencia každého písmena rovnaká. Na príklade angličtiny je najčastejšie sa vyskytujúce písmeno “e”, nasledujú “t”, “a” a “o”. Štatistickou analýzou frekvencií každého písmena alebo kombinácie písmen v ciphertexte a na základe jazykových základov a charakteristík kombinácií písmen môžeme odhadnúť zodpovedajúci vzťah medzi plaintextom a ciphertextom.
Vigenèrova šifra
V Cézarovej šifre a substitučnej šifre, ktoré boli predstavené skôr, akonáhle je kľúč vybraný, rovnaké písmená v správe plaintextu sú pri šifrovaní nahradené pevným písmenom (t.j. ak sú písmená v plaintexte rovnaké, písmená v ciphertexte budú rovnaké). Tento šifrovací systém sa nazýva monoalfabetická substitučná šifra. Vigenèrova šifra je polialfabetická substitučná šifra založená na tomto princípe. Aj keď je písmeno v správe plaintextu rovnaké, môže byť zašifrované rôznymi ciphertextami. Vzťah medzi plaintextom a ciphertextom vo Vigenèrovej šifre.
Napríklad, ak je správa v plaintexte “HELLOWORLD” a kľúč je “CIPHER”, po odkázaní na obrázok môžeme určiť, že ciphertext bude “JMASSNQZAK”. Je vidno, že písmeno “O” v správe plaintextu (v rôznych pozíciách v sekvencii plaintextu) dostane rôzne ciphertexty “S” a “Q”.
Priestor kľúčov pre Vigenèrovu šifru je 26^m, kde m predstavuje dĺžku kľúča. Aj keď je hodnota m malá, stále by to vyžadovalo dlhý čas na použitie útoku na vyčerpávajúce hľadanie kľúča. Napríklad, keď m=5, veľkosť priestoru kľúčov je viac ako 1.1×10^7, čo už znamená, že útok pomocou manuálneho vyčerpávajúceho hľadania kľúča je veľmi ťažký. V porovnaní s monoalfabetickou substitučnou šifrou Vigenèrova šifra generuje rôzne šifry z rovnakého písmena v plaintextovej sekvencii v rôznych pozíciách, čo poskytuje lepšiu odolnosť voči frekvenčnej analýze. To však neznamená, že Vigenèrova šifra je neprelomiteľná. Keďže Vigenèrova šifra opakovane používa kľúč cyklicky pri šifrovaní dlhých textov, keď sa v ciphertexte objavia dve identické skupiny písmen, existuje vysoká pravdepodobnosť, že budú zodpovedať rovnakému plaintextu. Metóda Kasiskiho testu je založená na tejto myšlienke na predpovedanie dĺžky kľúča, a potom sa na ďalšie dešifrovanie konkrétneho kľúča použije metóda indexu zhody.
Záver
S rýchlym rozvojom modernej kryptografie sa klasické šifrovacie algoritmy už zriedka používajú v praxi. Napriek tomu sú myšlienky “permutácie” a “substitúcie” v klasickej kryptografii stále základnými myšlienkami pri konštrukcii blokových šifier, ktoré sú veľmi dôležité pre štúdium a výskum modernej kryptografie.






