Kryptografia

Kryptografia alebo šifrovanie je veda o metódach utajovania významu správ ich prevodom do podoby, ktorá je čitateľná len so špeciálnymi znalosťami. Slovo kryptografia pochádza z gréčtiny - kryptós (znamená skrytý) a gráphein (znamená písať). Niekedy sa tento termín používa všeobecnejšie pre vedu o všetkom, čo súvisí so šiframi, ako alternatíva k termínu kryptológia. Kryptológia zahŕňa kryptografiu a kryptoanalýzu, teda lámanie zašifrovaných správ.

Vývoj kryptografie 
Odkazy na utajenie obsahu písma sa našli už v starovekom Egypte, Mezopotámii a Indii. Starovekí Gréci vynašli nielen mechanické ukrývanie tajných správ (napr. zakrytie správy vyrytej do drevenej tabuľky voskom), ale v 5. storočí pred Kristom aj prvé jednoduché šifrové systémy.

Július Cézar sa do dejín kryptografie zapísal aj vynálezom šifry, ktorá dostala názov Cézarova šifra. Šifrovanie sa vyvíjalo veľmi rýchlo a na prelome stredoveku a novoveku už dosiahlo neočakávaný stupeň odolnosti. Napríklad v roku 2017 trvalo expertom španielskej tajnej služby s celým ich moderným vybavením pol roka, kým sa im podarilo rozlúštiť šifrovanie korešpondencie medzi španielskym kráľom Ferdinandom Aragónskym a jeho generálom Gonzalom Fernándezom de Córdoba, ktorý viedol španielsku kampaň na Apeninskom polostrove na prelome 15. a 16. storočia.

Celé obdobie kryptografie možno rozdeliť na dve časti. Prvým je klasická kryptografia, ktorá trvala zhruba do polovice 20. storočia. Prvá časť sa vyznačovala tým, že na šifrovanie boli potrebné len ceruzka a papier alebo iné jednoduché nástroje. V prvej polovici 20. storočia sa však začali objavovať rôzne sofistikované zariadenia, ktoré umožňovali zložitejšie šifrovacie postupy. To je zhruba začiatok druhej časti tzv. modernej kryptografie. V súčasnosti sa na šifrovanie spravidla nepoužívajú špeciálne navrhnuté zariadenia, ale bežné počítače.

Základné pojmy 
Slovo šifra alebo šifrovanie sa vzťahuje na kryptografický algoritmus, ktorý konvertuje čitateľnú správu alebo otvorený text na jej nečitateľnú formu alebo šifrový text. Opačný proces sa nazýva dešifrovanie. Keďže dešifrovací algoritmus nemožno dlho udržať v tajnosti, tajným prvkom nie je dešifrovací algoritmus, ale šifrovací parameter, ktorý sa nazýva kľúč. Množina možných kľúčov musí byť taká veľká, aby nebolo možné dešifrovať správu postupným vyskúšaním všetkých kľúčov.

Tradičné šifry používajú na šifrovanie a dešifrovanie rovnaký kľúč; takéto šifry sa nazývajú symetrické. Asymetrické šifry používajú dvojice kľúčov, jeden na šifrovanie a druhý na dešifrovanie. Ak sa šifrovací kľúč nedá použiť na určenie dešifrovacieho kľúča (je možné vygenerovať dvojice šifrovacieho a dešifrovacieho kľúča, ale je "dostatočne" ťažké vypočítať z jedného z nich druhý), potom vlastník dvojice kľúčov môže zverejniť svoj šifrovací kľúč - ten sa nazýva verejný kľúč. Druhý kľúč z dvojice používanej na dešifrovanie je súkromný kľúč.

Ak sa na danú správu použije viac ako jedno šifrovanie, ide o viacnásobné šifrovanie.

Hašovacia funkcia je spôsob, ako z ľubovoľne dlhého textu vytvoriť krátky reťazec, ktorý identifikuje text s veľmi vysokou pravdepodobnosťou; pre kryptografiu musia byť hašovacie funkcie špeciálne navrhnuté (kryptografické hašovacie funkcie) tak, aby nebolo možné vytvoriť iný text, ktorý by mal rovnakú hodnotu hašovacej funkcie.

Elektronický podpis potom umožňuje autentifikáciu, t. j. dokázanie, kto správu vytvoril (resp. podpísal) a že nebola po podpísaní zmenená. Pomocou asymetrickej kryptografie potom môžu zabezpečiť aj nepopierateľnosť - autor nemôže neskôr poprieť, že správu podpísal (pretože nikto iný nepozná jeho súkromný kľúč, a tak nemohol podpis sfalšovať).

Digitálny certifikát je prostriedok, ktorým možno preukázať totožnosť jeho vlastníka tým, že certifikát je elektronicky podpísaný autoritou, ktorej dôveruje.

Historické metódy

Steganografia 
Staršou sestrou kryptografie je steganografia alebo skrývanie samotnej správy. Patria sem rôzne neviditeľné atramenty, vyrytie správy na drevenú tabuľku, ktorá je pokrytá voskom, atď. V modernej dobe môžu byť tajné texty skryté napríklad v hudobných alebo obrazových súboroch.

Johannes Trithemius (* 1. február 1462, Trittenheim; † 13. december 1516, Würzburg), opát a mnohostranný učenec, známy aj ako teoretik kryptografie, steganografie. Vydal tri zväzky diela Steganographia (napísané v roku 1499 a vydané vo Frankfurte v roku 1606, v roku 1609 zaradené do Index Librorum Prohibitorum).

Substitučné šifry 
Substitučná šifra vo všeobecnosti spočíva v nahradení každého znaku správy iným znakom podľa určitého pravidla.

Posun písmen 
Cézarova šifra je pomenovaná podľa Júlia Cézara, ktorý ju pravdepodobne použil ako prvý. Každé písmeno tajnej správy je posunuté o pevný počet pozícií v abecede. Šifru je z dnešného pohľadu veľmi ľahké prelomiť, pretože existuje len niekoľko možných kľúčov. Vo svojej dobe to však bola bezprecedentná metóda, ktorá sa veľmi osvedčila.

Tabuľky náhrad 
Šifrovanie pomocou substitučnej tabuľky, ktoré je založené na nahradení znaku iným bez akéhokoľvek vnútorného kontextu alebo na základe znalosti kľúča (hesla).

 Príklad substitučnej tabuľky s použitím slova VESLO ako kľúča:

alebo

Aditívne šifry

Vigenèrova šifra 
Ide o špeciálny prípad polyalfabetickej šifry. Vigenèrova šifra používa heslo, ktorého znaky určujú posun otvoreného textu tak, že otvorený text rozdelí na bloky znakov dlhé ako heslo a každý znak pripočíta k príslušnému znaku hesla. Cézarova šifra je teda špeciálnym prípadom Vigenèrovej šifry s heslom dĺžky jedného znaku. Vigenèrova šifra spôsobuje zmeny v pravdepodobnostnom rozdelení znakov, čo v podstate znemožňuje kryptoanalýzu založenú na analýze frekvencie znakov v texte. Lúštenie je založené na zistení vzdialenosti dvojíc bigramov alebo trigramov v šifrovom texte a určení ich spoločného deliteľa, ktorý vedie k dĺžke hesla.

 Príklad použitia slova HESLO ako šifrovací kľúč:

Vernamova šifra 
Vernamova šifra sa v angličtine často nazýva one-time pad, v slovenskom preklade šifra s jednorazovou tabuľkou. Je to jediná známa šifra, ktorej neprelomiteľnosť bola doteraz dokázaná. Podobne ako Vigenèrova šifra pozostáva zo sčítania písmen otvoreného textu a hesla, ale heslo je blok náhodne vybraných údajov rovnakej veľkosti ako otvorený text. Pokiaľ sú splnené podmienky úplne náhodného kľúča rovnakej dĺžky ako samotná správa (a tento kľúč sa nepoužíva opakovane), je táto metóda šifrovania absolútne bezpečná. Dĺžka kľúča však vo všeobecnosti vylučuje použitie tejto metódy na bežné účely; metóda sa používa najmä na veľmi špecializované účely, napr. tzv. horúca linka spájajúca Moskvu a Washington počas studenej vojny používala Vernamovu šifru. Dnes sa používa v kombinácii s kvantovou kryptografiou.

Transpozičné šifry 
Transpozícia zahŕňa zmenu poradia znakov podľa určitého pravidla. Napríklad tak, že otvorený text sa zapíše do tabuľky po riadkoch a šifrový text sa vytvorí prečítaním stĺpcov tej istej tabuľky.

Skytála 
Skytála je šifra, ktorá používa valec a na ňom navinutý papyrus alebo pergamen, na ktorý sa napíše správa. Skytalé používali Gréci, najmä Sparťania, ktorí ho používali počas vojen.

Transpozičná mriežka 
Tabuľka, v ktorej sú niektoré polia vyrezané a do týchto polí sa vpisuje otvorený text. Po vyplnení všetkých polí sa tabuľka otočí o 90° a postup sa zopakuje. Túto šifru použil Jules Verne vo svojej knihe Matthias Sandorf (Nový gróf Monte Christo). Možné sú aj iné tvary stolov ako štvorec. Môžeme napríklad použiť šesťuholník so šesťuholníkovými štvorcami, ktorý sa päťkrát otočí o 60°. Kľúčom k tejto šifre je rozloženie vyrezaných štvorcov.

 Príklad transpozičnej mriežky (horná strana je vyznačená červenou farbou pre ľahšiu orientáciu a použitie).

Jednoduchá stĺpcová transpozícia 
Funguje tak, že zakódovaný text sa prepíše do tabuľky s počtom stĺpcov rovnajúcim sa počtu písmen v kľúčovom slove alebo slovách a potom sa stĺpce preskupia na základe znalosti kľúča.

Kombinované šifry (šifrovacie systémy) 
Nevýhody alebo slabiny jednotlivých šifier možno aspoň čiastočne odstrániť kombináciou šifier. Treba však vziať do úvahy, že kombináciou rovnakých typov šifier sa šifra nestáva zložitejšou. Napríklad následné použitie dvoch substitučných tabuliek na zašifrovanie textu je pre potenciálneho útočníka rovnaké ako použitie jednej tabuľky s iným rozložením.

Šifrovanie strojom 
Používanie mechanických a elektronických strojov prinieslo úplne nové možnosti šifrovania. Najmä preto, že stroje sú schopné v krátkom čase vykonať veľký počet opakovaní určitej činnosti.

Enigma 
Počas druhej svetovej vojny používalo Nemecko na utajenie správ mechanický stroj nazývaný Enigma, ktorý vykonával pomerne zložité operácie so vstupným textom, ale zároveň sa dal pomerne ľahko ovládať. Poliaci však pracovali na prelomení šifry už pred vypuknutím vojny a ich zistenia boli neskôr pre spojenecké armády neoceniteľné. Šifra bola prelomená už počas vojny, čo nemeckej strane poskytlo len falošný pocit istoty. Treba však dodať, že prelomenie Enigmy bolo v tom čase možné len vďaka nevhodným a nedostatočne prepracovaným postupom pri jej používaní, ako napríklad nepoužívanie maximálneho možného zabezpečenia, ktoré poskytovala spojovacia doska (Steckerbrett), opakovanie trojznakového kľúča na začiatku každej správy, ľahko uhádnuteľné frázy v texte atď. Ak sa Enigma používa správne, dešifrovanie ich správ nie je triviálna záležitosť ani s dnešnou počítačovou technológiou. Enigma mala pôvodne 3 rotory, ktoré sa otáčali ako mechanické počítadlo a každý mal inak zapojené vstupné a výstupné kontakty, čím sa menil tok prúdu a aj výsledné písmeno šifry. Neskôr začalo ponorkové námorníctvo používať štvorrotorové Enigmy a stroj bol vylepšený zavedením ďalších funkcií (Uhr Box atď.).

Moderné šifry 
Aj dnes môžu mať šifry zadné vrátka. Sila šifrovania závisí aj od kvality generátora pseudonáhodných čísel.

Symetrické šifry 

 Prvá štandardizovaná symetrická šifra DES (Data Encryption Standard)

 Súčasný kryptografický štandard AES (Advanced Encryption Standard), inak známy ako Rijndael (rozdiel je v tom, že AES podporuje len určité dĺžky blokov a kľúčov)

 Finalisti súťaže o návrh šifrovacieho štandardu AES (Advanced Encryption Standard) - Twofish, RC6, Serpent, Mars a Rijndael, ktorý súťaž vyhral a bol prijatý ako štandard AES
 Viac informácií nájdete v časti Šifrovanie údajov

Asymetrické šifry 
Asymetrická kryptografia - používa súkromný a verejný kľúč

 RSA, najpoužívanejšia asymetrická šifra

 známe použitie asymetrických šifier:
 PGP ( OpenPGP )
 digitálny podpis

Hybridné šifry 
Súčasné asymetrické šifrovacie systémy používajú hybridné šifrovanie, ktoré kombinuje výhody asymetrického šifrovania s rýchlosťou symetrických šifier. Samotná správa sa šifruje pomocou symetrického šifrovania s náhodne vygenerovaným kľúčom (tzv. kľúčom relácie, anglicky session key), ktorý sa po zašifrovaní pomalou asymetrickou šifrou pripojí k zašifrovanej správe.

Hašovacie funkcie 

 Hašovacia funkcia je jednosmerná matematická funkcia, ktorá sa používa napríklad na zabezpečenie integrity údajov.

Postkvantová kryptografia 
Postkvantová kryptografia sa vzťahuje na klasickú kryptografiu odolnú voči kvantovým počítačom.

Kvantová kryptografia 
Kvantové kryptografické kanály neslúžia priamo na prenos tajných informácií, ale na výrobu a distribúciu náhodného kľúča.

Referencie 

 VONDRUŠKA, Pavek. Cesta kryptografie do nového tisícročia: Od Kamasutry k osobným zápisom K. H. Máchy [online]. ComputerWorld, 37-40 2000 [cit. 2020-12-04]. Dostupné online.
 ↑ http://tn.nova.cz/clanek/spanelska-tajna-sluzba-hlasi-velky-uspech-prolomili-500-let-stary-kod.html

Súvisiace články 

 OTFE
 PKI
 Šifrovanie dát
 Útoky postrannými kanálmi

Zdroj 

Kryptografia
Teória čísel
Aplikovaná matematika