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ý textKryptografia je „disciplína zahŕňajúca princípy, prostriedky a metódy na transformáciu dát s cieľom skryť ich semantický obsah, zabrániť neoprávnenému použitiu alebo nezisteným úpravám.“ (NIST SP 800‑59, podľa definície v NIST slovníku) (https://csrc.nist.gov/glossary/term/cryptography). 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:
ABCDEFGHIJKLMNOPQRSTUVWXYZVESLOABCDFGHIJKMNPQRTUWXYZ alebo ABCDEFGHIJKLMNOPQRSTUVWXYZVESLOPQRTUWXYZABCDFGHIJKMN
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ľúč:
otvorený textSTASTNEAVESELE kľúčHESLOHESLOHESL šifrovaný textAYTEIVJTHTAJEQ
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