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.

### Mechanizácia a druhá svetová vojna
Zásadný zlom v dejinách kryptografie nastal počas druhej svetovej vojny, kedy sa súboj medzi šifrovačmi a kryptanalytikmi presunul do sféry elektromechanických strojov. Najznámejším zariadením tohto obdobia sa stala nemecká Enigma, ktorej kód bol považovaný za neprelomiteľný. Úsilie spojeneckých expertov v britskom Bletchley Parku, vedených Alanom Turingom, však viedlo k úspešnému rozlúšteniu jej správ. Tento proces zahŕňal zostrojenie zariadenia *Bombe*, ktoré sa stalo predchodcom moderných počítačov.

### Éra digitálnej štandardizácie
S rozvojom výpočtovej techniky v 70. rokoch 20. storočia vznikla potreba jednotného štandardu pre ochranu civilných a finančných dát. V roku 1977 bol v USA prijatý Data Encryption Standard (DES), ktorý sa stal prvým globálne uznávaným šifrovacím štandardom. Hoci bol neskôr kvôli narastajúcemu výkonu procesorov nahradený modernejším a bezpečnejším štandardom AES (Advanced Encryption Standard), položil základy pre modernú symetrickú kryptografiu, kde obe strany zdieľajú rovnaký tajný kľúč.

### Kvantová kryptografia a distribúcia kľúča (QKD)
Na rozdiel od klasickej kryptografie, ktorá je založená na matematickej náročnosti úloh, kvantová kryptografia využíva princípy kvantovej mechaniky. Najznámejšou aplikáciou je kvantová distribúcia kľúča (QKD). Prvý protokol, známy pod označením BB84, navrhli Charles Bennett a Gilles Brassard v roku 1984. Využíva vlastnosti fotónov, kde akýkoľvek pokus o odpočúvanie naruší ich kvantový stav, čo komunikujúce strany okamžite zistia. Tým sa dosahuje fyzikálne garantovaná bezpečnosť prenosu informácií.

### Súčasnosť: Post-kvantová kryptografia (PQC)
V súčasnosti sa vedecká komunita zameriava na tzv. post-kvantovú kryptografiu. Ide o vývoj nových matematických algoritmov, ktoré sú spustiteľné na bežných počítačoch, ale sú navrhnuté tak, aby odolali aj útokom zo strany budúcich kvantových počítačov. Americký inštitút NIST v súčasnosti (2017) vedie proces celosvetovej štandardizácie týchto šifier, ktoré sa v blízkej budúcnosti stanú novým bezpečnostným základom globálnej siete 

## 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.

### 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.

## Referencie

## Literatúra
# 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

## Pozri aj
* OTFE
* PKI
* Šifrovanie dát

## Externé odkazy
Postkvantová kryptografie v protokolu TLS: jak nasadit vše potřebné už dnes (root.cz)

## Zdroj

Kategória:Kryptografia
Kategória:Teória čísel
Kategória:Aplikovaná matematika