Kryptológia

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie
Nemecký Lorenzov šifrovací prístroj, používaný v 2.svetovej vojne pre zašifrovanie správ na vysokej úrovni určené generálnemu štábu

Kryptológia (z gréckeho kryptos= ukrytý + logos = slovo, náuka) je veda o utajení obsahov správ. V súčasnosti sa kryptológia považuje za časť matematiky a počítačových vied a je veľmi pridružená k informatike, počítačovej bezpečnosti a počítačovému inžinierstvu. Kryptológia je používaná v technologicky vyspelých aplikáciách; napríklad v zabezpečení peňažných bankomatov, počítačových hesiel a v elektronickom obchode. Vo všetkých týchto faktoroch zohráva veľkú úlohu práve kryptológia. Kryptológia sa rozdeľuje na kryptografiu, kryptoanalýzu a steganografiu.

Terminológia[upraviť | upraviť zdroj]

Až do novoveku kryptológia označovala takmer výlučne šifrovanie, proces zmeny otvoreného obsahu textu do nezrozumiteľnej podoby (zašifrového textu). Dešifrovanie je opačný proces šifrovania, je to zmena zo zašifrovaného textu do otvoreného textu. Šifra je dvojica algoritmov (predpisov na spracovanie), ktorými sa vykonáva šifrovanie a taktiež dešifrovanie. Podrobná operácia šifry je riadená algoritmom a v každom prípade aj kľúčom. Kľúč je tajný parameter (v zásade je známy iba príjemcovi a odosielateľovi) pre špecifickú zámenu obsahu správy. Kľúče sú dôležité a šifry bez variabilných kľúčov sú ľahko prelomiteľné a preto menej používané vo väčšine prípadov. V minulosti sa často vykonávalo šifrovanie a dešifrovanie šifry rovnakým predpisom, bez dodatočných overovacích procesov ako autentifikácia alebo integrácia (ochrana pred neoprávnenou modifikáciou).

V hovorovej reči sa termín kód často používa ako metóda šifrovania alebo zatajenia správy. V kryptografii má však kód viac špecifický význam; Kódovanie znamená zámenu jednotky otvoreného textu (napr. významového slova alebo frázy) s kódovacou jednotkou (napríklad slovo otvoreného textu prst sa zamieňa za slovo poď dole). Medzi najznámejšie príklady kódu sa zaraďuje ASCII a Morseova abeceda. Ak by sa napríklad odosielateľ dohodol s príjemcom na zmene poradia o jeden symbol v Morseovej abecede, v tom prípade by už išlo o šifru a kľúčom by bolo samotné posunutie. Cieľom kódu nie je obsah textu zatajiť, ale modifikovať tak, aby ho bolo možné spracovávať príslušným technickým zariadením.

Kryptografia je oblasť kryptológie, ktorej cieľom je skúmanie a navrhovanie šifrovacích systémov, ktoré budú spĺňať určité podmienky ako autenticitu, dôvernosť, dostupnosť, integritu a pôvod dát. Ich úlohou je teda urobiť určitý obsah správy nečitateľným v prípade jeho zachytenia treťou osobou. Kryptografiou sa zaoberajú kryptografovia.

Kryptoanalýza je oblasť kryptológie, ktorej cieľom je skúmanie metód lúštenia šifrovacích systémov, čiže je to rozbor (analýza) zašifrovaných správ a ich metód šifrovania, ktorými sa hľadá spôsob preniknutia do tohoto šifrovacieho systému.

Steganografia je oblasť kryptológie, ktorej cieľom je zatajiť existenciu danej správy (do inej správy). Steganografické metódy obsahujú napríklad používanie neviditeľných atramentov a pod.

História kryptografie a kryptoanalýzy[upraviť | upraviť zdroj]

Skytála používaná v antickom Grécku bola možno prvým zariadením, na ktorom sa realizovalo šifrovanie správ.

V minulosti kryptológia slúžila výhradne k zatajeniu obsahu správ – zmenu obsahu textu správy z otvoreného textu do zašifrovaného textu a opačne v prípade zachytenia správy nepovolanou osobou alebo špiónom. V posledných desaťročiach, sa oblasť kryptológie rozšírila okrem cieľa utajenia obsahu správy k technikám pre zachovanie integrity správ, autentifikácie, digitálnych podpisov, dôvernosti, dostupnosti a mnohých ďalších.

Najskoršie formy zatajovania obsahov správ vyžadovali trocha viac ako špeciálne pero a model papiera, keď pre väčšinu ľudí boli nečitateľné. Väčšia gramotnosť alebo gramotnosť protivníkov vyžadovala účinnú kryptografiu. Hlavné klasické typy šifier sú transpozičné šifry ktoré spočívajú v zamiešaní poradia písmen otvoreného textu (napr. slovo "pomôž mi" sa zmodifikovalo na "opômž im") a substitučné šifry, ktoré spočívajú v systematickom nahradzovaní jednotlivých symbolov obsahu textu za určené ďalšie symboly alebo skupinu symbolov (napr. substitučná šifra slova "wikipedia" mohla vyzerať ako "xjljrfejb" pričom v tomto spôsobe sa symboly šifrovanej abecedy posunuli o jeden symbol oproti abecede otvoreného textu). Jednoduché verzie oboch šifier však poskytovali v prípade zachytenia správy nepovolanou osobou len malú ochranu a boli ľahko dešifrovateľné. Medzi najstaršie substitučné šifry patrila Cézarova šifra, ktorá spočívala v tom, že každé písmeno n otvoreného textu bolo nahradené písmenom určitej hodnoty n+k. Táto šifra je pomenovaná po Juliusovi Cézarovi, ktorý ju používal s posunutím k o 3 miesta v abecede pri komunikácií s jeho generálmi počas vojenských operácií, a táto šifra je podobná kódu EXCESS-3 v booleanskej algebre.

Kryptografia nepatrí medzi mladé disciplíny, práve naopak. Potreba šifrovať siaha hlboko do minulosti, až do čias faraónov. Prvá zmienka o šifrovaní pochádza z Egypta približne 4000 rokov dozadu.

Medzi ďalšie staršie kryptografické systémy, ktoré sú pomerne známe patria scytale a Cézarova šifra.

Scytale bol na jednej strane veľmi dômyselný, no na druhej strane jednoduchý kryptografický nástroj. Celý princíp spočíval v použití drevenej paličky istého priemeru, okolo ktorého sa navinul pásik papiera, na ktorý sa napísala krátka správa (zvyčajne zľava doprava). Osoba, ktorej bola takto zašifrovaná správa určená musela mať paličku rovnakého priemeru, inak bola táto správa nečitateľná. Tento nástroj sa používal hlavne v Sparte v 5. stor. pred n. l.

Ďalší významný rozvoj v kryptografii nastal začiatkom 20. storočia, keď došlo k vynájdeniu a zavedeniu telegrafu. V roku 1917 bol vynájdený prvý bezpečný kryptosystém Vernam, ktorý bol postavený na prúdovej šifre. Obdobie do konca 50-tych rokov je charakteristické hlavne používaním zložitých mechanických a elektromechanických šifrovacích strojov. Veľký pokrok v kryptografii nastal hlavne pod vplyvom I. a II. svetovej vojny, keď sa šifrovanie stalo veľmi dôležitou disciplínou. Medzi najvýznamnejšie šifrovacie prístroje tej doby patrila Enigma, ktorá bola používaná Nemcami počas druhej svetovej vojny a dlhý čas predstavovala skutočne „tvrdý oriešok“. Nemci verili, že táto šifra je bez kľúča neprelomiteľná. No túto ich vieru im význačnou mierou oslabili poľskí matematici Marian Rejewski, Henrik Zygalski a taktiež známy britský matematik Alan Turing – autor mnohých teoretických počítačových strojov (Turingov stroj) a tzv. testu umelej inteligencie. Tento kód bol prelomený predovšetkým vďaka vynikajúcej práci poľských matematikov Mariana Rejewskiho a Henrika Zygalskiho. V roku 1932 Rejewski rozkódoval jeden z jednoduchších typov Enigmy. Bez jeho geniálnej práce, by aj takému géniovi akým bol Alan Turing, trvalo rozkodovanie enigmy „priveľmi“ dlho a stalo by to mnoho spojeneckých životov. Novší typ Enigmy (tzv. ponorková Enigma) bola rozkódovaná aj vďaka šťastnej náhode, keď bola zajatá nemecká ponorka, ktorá mala na svojej palube jeden prístroj Enigma. Skôr, ako ju Nemci stihli zničiť sa dostala do rúk Angličanom a tí konečne rozlúštili „záhadu neprelomiteľného kódu“ šifrovacieho stroja Enigma.

Delenie[upraviť | upraviť zdroj]

Postupným vývojom kryptografie dochádalo k deleniu jednotlivých typov kryptografických algoritmov do niekoľkých základných skupín. Najznámejšie, najzákladnejšie a najjednoduchšie delenie je na:

Ak by sme toto delenie chceli rozšíriť podrobnejšie, dostali by sme nasledujúce skupiny:

  • tradičné šifry,
  • klasické techniky,
  • substitučné šifrovacie systémy,
  • transpozičné šifrovacie systémy,
  • moderné techniky,
  • symetrické šifrovacie systémy,
  • šifry s verejným kľúčom,
  • asymetrické šifrovacie systémy.

Substitučné šifrovacie systémy[upraviť | upraviť zdroj]

Substitučná šifra nahrádza každý znak otvoreného textu iným znakom šifrovaného textu. Aby príjemca získal otvorený text, musí na zašifrovaný text použiť inverznú substitúciu. V klasickej kryptografii existujú štyri typy substitučných šifier:

  1. Jednoduchá substitučná šifra (monoalfabetická šifra) je taká šifra, v ktorej sa každý znak otvoreného textu nahrádza príslušným znakom šifrovaného textu.
  2. Homofónna substitučná šifra sa podobá jednoduchému substitučnému systému. Jeden znak otvoreného textu môže byť nahradený jedným znakom z niekoľko možných znakov šifrovaného textu. Znak “A” by mohol byť nahradený napr. 5, 13, 25 alebo 56, “B” napr. 7, 19, 31 alebo 42 atď.
  3. Polygramová substitučná šifra je taká, v ktorej šifrovanie prebieha medzi skupinami znakov. Napríklad skupina “ABA” môže byť nahradená skupinou “RTQ”, “ABB” skupinou “SLL” atď.
  4. Polyalfabetická substitučná šifra sa skladá z niekoľkých jednoduchých šifier. Napríklad túto šifru môže tvoriť päť rôznych, jednoduchých substitučných šifier; jednotlivé šifry sú postupne aplikované na jednotlivé po sebe idúce znaky otvoreného textu. Medzi substitučné šifry patrí napríklad Caesarova šifra alebo Vernamova šifra.

Transpozičné šifrovacie systémy[upraviť | upraviť zdroj]

Pri transpozičných šifrách sa znaky otvoreného textu nemenia, mení sa iba ich usporiadanie. Pri jednoduchej stĺpcovej transpozičnej šifre sa otvorený text zapisuje horizontálne na štvorčekovaný papier a zašifrovaný text sa získava jeho vertikálnym čítaním. Pri dešifrovaní sa šifrovaný text zapíše vertikálne opäť na štvorčekovaný list papiera rovnakej šírky a číta sa horizontálne.

Otvorený text: jednoduchastlpcovatranspozicnasifra; Šifrovaný text: jloepzdcinocovndaautscrihafanrssatp

Pretože znaky šifrovaného aj otvoreného textu sú rovnaké, bude sa frekvenčný výskyt jednotlivých znakov šifrovaného textu približne rovnať frekvenčnému výskytu znakov v príslušnom národnom jazyku. Navyše je tento systém náročný na pamäť a niekedy aj obmedzuje dĺžku správ. Sem patria napríklad: Cardanova mriežka, Richelieuova šifra.

Symetrické šifrovacie systémy[upraviť | upraviť zdroj]

V základnom delení bolo spomínané, že medzi tradičné šifrovacie systémy patria aj symetrické šifry. Využívajú vhodne zvolené kombinácie substitučných a transpozičných algoritmov. Tento šifrovací systém sa nazýva symetrický preto, lebo šifrovací kľúč je možné odvodiť z dešifrovacieho a naopak. Väčšina symetrických algoritmov má rovnaký šifrovací aj dešifrovací kľúč. Tieto algoritmy označované ako algoritmy tajného kľúča vyžadujú, aby sa príjemca aj odosielateľ vopred dohodli na kľúči, ktorý budú používať. Bezpečnosť je založená na utajení kľúča. Ak sa používa dlhšiu dobu, vzniká nebezpečenstvo, že kľúč padne do nepovolaných rúk a obsah utajovaných informácií sa prezradí. Preto sa kľúče často obmieňajú – nazývame ich aj “kľúče pre sedenie” (session – relácia).

Symetrické algoritmy sa môžu deliť na dve kategórie a to na:

  • prúdové,
  • blokové.

V dnešných algoritmoch je typická dĺžka 64 bitov. V minulosti sa otvorený text šifroval po jednom znaku. Najbežnejšie používané symetrické algoritmy sú Rivest Cipher 5 (RC5), Data Encryption Standard (DES), International Data Encryption Algorithm (IDEA), Blowfish Skipjack a AES.

Asymetrické šifrovacie systémy[upraviť | upraviť zdroj]

Využívajú dva kľúče – verejný na šifrovanie, ktorý môže byť šírený verejne, a súkromný, ktorý slúži na dešifrovanie a je tajný. Zrejme najznámejším a najpoužívanejším z asymetrických šifrovacích systémov je RSA.

Typológia lúštenia[upraviť | upraviť zdroj]

Externé odkazy[upraviť | upraviť zdroj]