Tato podkategorie kryptologie se zabývá celkovým pohledem na šifrování dat, taktéž pod tuto kategorii spadá zpětná dešifrace. Dále zkoumá bezpečnost použitých šifrovacích algoritmů či případně celkovou bezpečnost šifrovacích systémů. Podstatnou částí je i tvorba šifrovacích a dešifrovacích klíčů, které se využívají v šifrovacích algoritmech a jejich případných interních výpočtech.
Typické využití tohoto typu klíče lze nalézt u blokových šifer, dále se jedná o substituční a transpoziční šifry. Toto šifrování pomocí bloků využívá implementace Feistelovy funkce. Využití lze nalézt například v algoritmu DES (Data Encryption Standard).
Výhodou DES je možnost využití „lavinového“ efektu, kdy při editaci otevřeného textu nastane velká změna v šifrovaném textu. Použití DES není příliš bezpečné, lepší je využít jeho náhradníka s názvem AES. Symetrické algoritmy jsou spíše vhodné pro archivaci důvěrných informací bez posílání druhé entitě.
Pro komunikaci s příjemcem je pak nutné předat privátní klíč v uzavřené lince, aby nedošlo k úniku daných informací. O tuto záležitost se nyní dokážou postarat moderní algoritmy samy. Ukázkovým příkladem je algoritmus RSA a zabezpečení digitálním podpisem.
K dosažení asymetrického šifrování je zapotřebí splnit tři základní požadované podmínky. První podmínkou je již zmíněné využití dvou různých klíčů. Druhou podmínkou je zajistit, aby ze zašifrovaného textu nebylo možné získat původní text i se znalostí veřejného klíče. Třetí a poslední nutnou podmínkou je „nevypočitatelnost“ privátního klíče. Této vlastnosti se dosahuje pomocí využití jednostranné funkce.
Dalším příkladem jsou síťové protokoly typu TLS a SSL, které zajišťují, aby komunikace mezi klientem a serverem probíhala bezpečně. Tato část je především viditelná ve webových prohlížečích díky známému HTTPS a ikonickému zámečku vedle textového pole s adresou. Využití kryptografie je významné také v oblasti mobilních plateb či tvorbě digitálních podpisů.
Kryptografický protokol je takový protokol, který zajišťuje bezpečnou komunikaci mezi zařízeními na síti. Jeho úkoly jsou například zajištění dohody na privátních a veřejných klíčích, zajištění bezpečného spojení, šifrování komunikace symetrickým algoritmem. Je složen z menších celků takzvaných „kryptografických primitiv“, které jsou vždy zaměřeny na provádění jedné specifické věci.
Kryptografické primitiva jsou šifrovací algoritmy speciálně vytvořené za účelem stavby kryptografického protokolu a díky jejich zaměření na jeden úkol jsou vysoce spolehlivé. Pokud se u těchto prvků vyskytne zranitelnost, jsou ohroženy všechny protokoly, které daných primitiv využívají.
Mezi nejznámější a nejvíce uživateli používané kryptografické protokoly patří SSL, TLS, SSH.
V současné době je SSL označeno jako „zastaralé“ a je nahrazováno novější verzí s názvem TLS, které má opravené zranitelnosti z původního SSL. Pokud klient chce svůj provoz šifrovat tímto způsobem je nutno to serveru specifikovat. Nejjednodušší způsob, jak dosáhnout této komunikace je pak užitím specifikovaného portu. Příkladem je https na portu 443.
Komunikace probíhá v několika krocích. Prvním krokem je „handshake“, což je krok, ve kterém klient požádá server o zabezpečené spojení a domlouvá se na parametrech pro danou session, specificky pak šifrovací klíče a použití šifrovacího algoritmu. Tento proces využívá asymetrického šifrování, další komunikace však probíhá pomocí symetrických algoritmů.
V prvním kroku taktéž server odesílá svůj SSL/TLS certifikát ke klientovi, který ho následně ověřuje. Po ověření a úspěšném dokončení fáze „handshake“ se zahajuje zabezpečené spojení.
Při připojení k serveru pod šifrovaným portem je tento certifikát odeslán klientovi ve fázi „handshake“. Klient přijatý certifikát ověřuje na straně vydavatele před další komunikací. Tato kontrola zajistí, že je server tím, za koho se vydává. Pokud je certifikát platný a jeho ověření na straně vydavatele také, pak se přechází k další komunikaci v opačném případě k ukončení handshaku a spojení.
Symetrické algoritmy
V této sekci je možné vyzkoušet si převod textu z jeho původní plain formy do zašifrované podoby za pomocí jednoho klíče.
Asymetrické algoritmy
V této sekci je možné vyzkoušet si převod textu z jeho původní plain formy do zašifrované podoby za pomocí dvou klíčů.
Ostatní algoritmy
Ostatní algoritmy implementují šifrování klíčů a jejich bezpečnou
výměnu s protistranou - aby nemohl být při přesunu zneužit. Většina těchto systémů se
nezabývá pouze šifrováním zpráv jako takových.
Z důvodu složité implementace (a staré verze php) nejsou další algoritmy přidány k
převodu textu jako u algoritmů symetrických.
Porovnání šifrovacích algoritmů
V této sekci se nachází tabulka porovnávající rychlost jednotlivých algoritmů na základě šifrování
malého textového souboru (0.5 MB) a
velkého textového souboru (5 MB)
Šifrování v praxi
V této části se nachází přístup do dvou databázových tabulek. Obě tabulky zobrazují, jak je důležité pracovat se zašifrovanými daty v případě úniku dat z databáze.
Tabulka bez šifrování hesel
ID | Přezdívka | Heslo | Zpráva |
---|
Tabulka se šifrováním hesel - Blowfish
ID | Přezdívka | Heslo | Zpráva |
---|