Symetrické, asymetrické, hash a další…
Kryptografie představuje klíčovou disciplínu v oblasti zabezpečování informací a digitální komunikace. Využívá soubor matematických postupů, algoritmů a pravidel, díky kterým mohou data číst pouze autorizované osoby.
Jejím cílem je efektivně bránit neoprávněnému přístupu k datům.
Samotné slovo „kryptografie“ pochází z řeckého „kryptos“, což znamená skrytý. Kombinací slov „crypto“ (skrytý) a „grafie“ (psaní) se odkazuje na umění tajného psaní.
Tento článek se zaměří na základní principy kryptografie, zkoumá různé její typy a uvede příklady. Dále budeme diskutovat o aktuálních výzvách a pohlédneme na budoucí trendy. Cílem je poskytnout komplexní přehled, který zahrne jak hlavní, tak i doplňkové aspekty.
Kryptografie hraje zásadní roli v ochraně digitální komunikace a informací v různých systémech. Zajišťuje důvěrnost a bezpečnost dat a chrání je před neoprávněným přístupem.
Proces v kryptografii:
- Vše začíná u odesílatele, který má zprávu nebo data.
- Původní text je šifrován do nečitelné podoby pomocí šifrovacího postupu.
- Příjemce poté používá klíč k dešifrování, čímž získá čitelnou zprávu.
- Dešifrovaná zpráva je identická s tou původní.
- Příjemce má nyní k dispozici původní zprávu.
Nyní se podíváme na základní principy kryptografie.
Základní pilíře kryptografie
Kryptografie stojí na čtyřech základních pilířích:
1. Důvěrnost: Zajištění, že k datům má přístup pouze určený příjemce.
2. Integrita: Zajištění, že data nelze nepozorovaně změnit během přenosu nebo ukládání.
3. Neodmítnutí: Odesílatel nemůže popřít, že odeslal zprávu.
4. Autentizace: Ověření identity odesílatele a příjemce a ověření zdroje a cíle informací.
Než budeme pokračovat, pojďme si projít základní slovní zásobu.
Základní terminologie:
| Slovo | Význam |
| Kryptografie | Technika pro zabezpečení informací a komunikace pomocí matematických algoritmů, které umožňují čtení dat pouze autorizovaným osobám. |
| Šifra | Metoda nebo algoritmus používaný k šifrování a dešifrování dat. |
| Šifrování | Proces převodu prostého textu do šifrovaného textu. |
| Prostý text | Původní nešifrovaná forma dat nebo textu. |
| Šifrovaný text | Zakódovaná forma dat nebo textu. |
| Dešifrování | Proces převodu šifrovaného textu zpět na prostý text pomocí dešifrovacího klíče. |
| Klíč | Informace používaná k řízení procesu šifrování a dešifrování. |
| Výměna klíčů | Bezpečný přenos šifrovacích klíčů mezi odesílatelem a příjemcem. |
Existují tři hlavní typy kryptografie:
- Symetrická kryptografie
- Asymetrická kryptografie
- Hashovací funkce
Symetrická kryptografie
Symetrická kryptografie, také známá jako šifrování s jedním klíčem, je metoda, kde se pro šifrování i dešifrování dat používá jeden tajný klíč.
V tomto přístupu musí odesílatel i příjemce používat identický tajný klíč pro přístup k datům. Funguje to tak, že tajný klíč a specifický matematický proces transformují běžná data na šifrovaný text.
Když příjemce, který zná tajný klíč, získá zprávu, může použít stejný matematický proces k transformaci zpět na běžná data, čímž získá původní informaci.

Proces krok za krokem:
- Algoritmus převede původní text do šifrovaného textu za použití tajného klíče.
- Odesílatel zašle šifrovaný text příjemci komunikačním kanálem.
- Příjemce použije stejný tajný klíč k dešifrování a převodu zpět na původní text.
Tento proces zajišťuje bezpečnou komunikaci mezi stranami, avšak tajný klíč musí zůstat důvěrný.
Pro zachování důvěrnosti a integrity musí obě strany klíč bezpečně spravovat a chránit.
Existují dva druhy symetrických šifer:
- Streamová šifra
- Bloková šifra
| Streamová šifra | Bloková šifra |
| Šifruje data po jednom bitu nebo bajtu | Šifruje data v blocích pevné délky |
| Systém uchovává data v paměti a čeká, až budou bloky kompletní a připravené ke zpracování | |
| Používá 8 bitů klíče | Používá buď 64 bitů, nebo více bitů |
| Složitější než bloková šifra | Jednodušší než proudová šifra |
| Pomalá a vhodná pro offline aplikace | |
| Používá režimy CFB a OFB | Používá režimy ECB a CBC |
Některé algoritmy symetrického šifrování:
- AES (Advanced Encryption Standard): Známý svou bezpečností a efektivitou, často se používá v bezdrátovém zabezpečení, bankovnictví a e-commerce.
- DES (Data Encryption Standard): Starší šifrovací metoda, která byla nahrazena AES a 3DES. Používá 56bitový klíč.
- IDEA (International Data Encryption Algorithm): Používá 128bitový klíč, používaný v různých aplikacích.
- Blowfish: Algoritmus navržený jako náhrada za DES nebo IDEA.
- RC4 (Rivest Cipher 4): Známy svou jednoduchostí a rychlostí. V určitých implementacích má bezpečnostní problémy.
- RC5 (Rivest Cipher 5): Efektivní a bezpečný, s variabilní velikostí bloku a klíče.
- RC6 (Rivest Cipher 6): Nabízí lepší zabezpečení a výkon než jeho předchůdci.
AES, DES, IDEA, Blowfish, RC5 a RC6 jsou blokové šifry.
RC4 je streamová šifra.
Výhody symetrické kryptografie
- Je rychlejší a efektivnější než asymetrická kryptografie.
- Malá velikost klíče umožňuje generování silnějších šifer.
- Výroba silných šifer je cenově výhodná.
- AES je považován za bezpečný algoritmus.
Nevýhody symetrické kryptografie
- Bezpečné sdílení klíčů mezi komunikujícími stranami je velkou výzvou.
- Zabezpečení celého systému může být ohroženo, pokud je klíč zachycen útočníkem.
- Systémy vyžadují pečlivou správu klíčů, která zahrnuje generování, ukládání, aktualizaci a odvolávání klíčů.
- Útočníci mohou zachytit klíče vyměňované přes nezabezpečený kanál.
Přesto, navzdory nevýhodám, je symetrické šifrování nedílnou součástí moderní kryptografie.
Silné postupy správy a bezpečné metody výměny klíčů mohou pomoci překonat problémy.
Asymetrická kryptografie
Asymetrická kryptografie používá páry klíčů – soukromý tajný a veřejný sdílený. Zpráva zašifrovaná veřejným klíčem může být dešifrována pouze soukromým klíčem.
Tato metoda zvyšuje digitální zabezpečení tím, že umožňuje bezpečnou komunikaci bez sdílení tajných klíčů.
Příjemci potřebují pouze váš veřejný klíč pro bezpečnou komunikaci, čímž se eliminuje riziko sdílení tajného symetrického klíče.
Tyto algoritmy „veřejného klíče“ využívají dvojice klíčů k zabezpečení dat.

- Dva klíče: veřejný (sdílený) a soukromý (tajný).
- Veřejný klíč šifruje data.
- Soukromý klíč data dešifruje.
Soukromý klíč nelze odvodit od veřejného klíče. Veřejné klíče jsou obvykle spojeny s identitami ověřenými certifikačními autoritami.
Odesílatel a příjemce si vyměňují zabezpečenou zprávu bez narušení soukromých klíčů.
Tyto algoritmy využívají matematické problémy, jako je faktorizace čísel, k vytváření digitálních podpisů a klíčů relace, například v protokolu TLS.
Příklady asymetrických šifrovacích algoritmů:
- RSA (Rivest-Shamir-Adleman): Používá se pro výměnu klíčů a digitální podpisy, založen na vlastnostech velkých prvočísel.
- Kryptografie eliptických křivek (ECC): Využívá eliptické křivky nad konečnými poli. Nabízí menší velikosti klíčů než ne-EC kryptografie. Používá se pro generování pseudonáhodných čísel a digitální podpisy.
- Výměna klíčů Diffie-Hellman: Umožňuje vytvoření sdíleného tajného klíče přes nezabezpečený komunikační kanál. Klíč lze použít pro symetrické šifrování.
Výhody asymetrické kryptografie
- Silnější zabezpečení ve srovnání se symetrickou kryptografií.
- Ověření identity odesílatele.
- Vyřešení problémů s distribucí klíčů symetrické kryptografie.
- Zjištění, zda byla zpráva během přenosu změněna.
Nevýhody asymetrické kryptografie
- Pomalejší proces než symetrická kryptografie.
- Vyšší nároky na výpočetní zdroje.
- Bezpečná správa klíčů může být náročná.
- Zranitelnost vůči kvantovým počítačům.
Organizacemi a výzkumníci se snaží přejít na kvantově odolné kryptografické techniky.
Nyní k dalšímu typu kryptografie:
Hashovací funkce
Kryptografické hashovací funkce se liší od ostatních typů kryptografie. Data nešifrují, ale používají složité matematické algoritmy k převodu jakýchkoli dat na jedinečný kód.
Tyto kódy (hashovací hodnoty) jsou důležité pro kontrolu bezpečnosti dat. Při odesílání nebo ukládání dat se vypočítá a ukládá hashovací kód spolu s daty.
Příjemce přepočítá kód přijatých dat a porovná jej s odeslaným. Pokud se kódy shodují, data byla v bezpečí během přenosu i ukládání.

Proces krok za krokem:
Strana odesílatele:
- Odesílatel použije hashovací funkci k vytvoření hashovací hodnoty.
- Odešle původní zprávu a hashovací kód.
Strana příjemce:
- Příjemce obdrží zprávu a hashovací kód.
- Použije stejnou hashovací funkci k vytvoření nového hashovacího kódu.
- Porovná nový hashovací kód s tím zaslaným odesílatelem.
Výsledek:
- Pokud se kódy shodují, zpráva nebyla změněna.
- Pokud se kódy neshodují, zpráva byla pravděpodobně změněna.
Vlastnosti hashovacích funkcí:
Vlastnosti hashovací funkce:
- Deterministické: Stejný vstup dá vždy stejný výstup.
- Jednotnost a bez kolizí: Dobrá funkce by měla produkovat rovnoměrně rozložené výstupy.
- Efektivní: Rychlé zpracování velkých objemů dat.
- Výstup s pevnou velikostí: Bez ohledu na velikost vstupu, výstup má pevnou velikost.
Hashovací funkce se používají v různých oblastech, včetně kryptografie, kontroly integrity, indexování dat, ukládání hesel a blockchainu.
Používané kryptografické hashovací funkce:
Existují dvě rodiny hashovacích funkcí – rodina MD a SHA.
- SHA-1 (Secure Hash Algorithm 1): Dnes je považován za slabý kvůli zranitelnostem.
- MD5 (Message Digest Algorithm 5): Býval oblíbený, ale je považován za slabý kvůli zranitelnosti při kolizích.
- SHA-3: Novější rodina hashovacích funkcí vybraných NIST. Poskytuje silné zabezpečení.
Hashovací funkce hrají klíčovou roli při zabezpečení a ověřování dat v kryptografii.
Výhody hashovací funkce
- Zaručuje vysokou odolnost proti kolizím.
- Umožňuje snadné porovnávání souborů.
- Jsou rychlé a efektivní.
- Používají se v databázových systémech k vyhledávání dat.
Nevýhody hashovací funkce
- Mohou být méně efektivní při četných kolizích.
- Nepovolují hodnoty null.
- Implementace hashovacích tabulek může být náročná.
- V praxi je téměř nemožné zcela zabránit kolizím.
Přečtěte si také: Jak se chránit před útokem na duhový stůl

Aplikace kryptografie v reálném životě
- Autentizace/digitální podpisy: Zajištění pravosti dat, ověření zdroje a identity odesílatele pomocí hashovací funkce a soukromého klíče.
- Šifrování cloudového úložiště: Zabezpečení souborů v cloudu.
- Elektronické peníze: Používají šifrování, digitální podpisy a kryptografii s veřejným klíčem.
- Šifrování e-mailu: Ochrana obsahu e-mailu pomocí kryptografie s veřejným klíčem.
- Šifrování v WhatsApp: Používá signálový protokol kombinující symetrickou a asymetrickou kryptografii klíče.
- Šifrování na Instagramu: Komunikace je šifrována pomocí SSL/TLS přes port 443.
- Autentizace SIM karty: Ověření přístupu SIM karty k síti pomocí algoritmů a tajného klíče.

Výzvy v kryptografii
- Správa klíčů: Bezpečná distribuce a správa klíčů je složitá, zejména ve velkých systémech.
- Neefektivita symetrické kryptografie: Při velkém počtu uživatelů vyžaduje mnoho unikátních klíčů.
- Dlouhé klíče asymetrické kryptografie: Vedou k pomalejšímu zpracování a vyšším nárokům na zdroje.
- Zranitelnost hašovacích funkcí: Může vést k narušení bezpečnosti.
- Správné solení hesel: Nutné pro zabránění útokům na duhové tabulky.
- Kvantové počítače: Představují významnou výzvu pro současné kryptografické systémy.
Kvantové počítače dokážou mnohem rychleji řešit složité matematické problémy a ohrožují tak bezpečnost šifrovacích metod.
Vývoj nových kryptografických technik odolných vůči kvantovým útokům je naléhavý.
Budoucí trendy v kryptografii
- Vývoj a zavádění postkvantových kryptografických algoritmů odolných proti kvantovým útokům.
- Roste akceptace cloudového šifrování a správy klíčů, zejména ve financích.
- Kryptografie hraje klíčovou roli v zabezpečení technologie blockchain.
- Tokenizace nahrazuje skutečná data tokenem, který je pro hackery bezcenný.
Závěrečná slova
Kryptografie je rozsáhlá oblast s mnoha aspekty. Tento článek pokryl základy.
Probrali jsme principy, typy, hashovací funkce, výzvy a trendy a praktické aplikace.
Existuje však mnoho dalších oblastí k prozkoumání.
Dále Cloud Cryptography: Úvodní příručka a případová studie Google Cloud.