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).
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.
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.
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.
Asymetrické šifry.
Asymetrická kryptografia - používa súkromný a verejný kľúč
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.
Kvantová a postkvantová 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.
Postkvantová kryptografia sa vzťahuje na klasickú kryptografiu odolnú voči kvantovým počítačom.