If you're seeing this message, it means we're having trouble loading external resources on our website.

Pokud používáš webový filtr, ujisti se, že domény: *.kastatic.org and *.kasandbox.org jsou vyloučeny z filtrování.

Hlavní obsah

Šifrování veřejným klíčem

Na internetu si dva počítače často chtějí vzájemně vyměňovat zabezpečená data. Když napíšu své heslo na přihlašovací stránce Khan Academy, chci, aby můj počítač tato data bezpečně poslal do Khan Academy. Nechci se obávat, že hacker může sledovat můj internetový provoz a zjistit moje heslo.
Ilustrace hackera, který krade data. Na notebooku je zobrazen prohlížeč se vstupním polem pro heslo. Šipka směřuje od notebooku na server. Nad šipkou je okno obsahující text "Be3tP@ssw0rd3ver" a usmívající se hacker, který se dívá na tento text.
Při používání symetrických technik šifrování odesílatel i příjemce používají stejný klíč pro šifrování i dešifrování dat. Jak si může můj počítač se serverem Khan Academy bezpečně vyměnit tento klíč? Pokud hacker vidí moje heslo putující po síti, může vidět i šifrovací klíč!
Ilustrace hackera, který krade šifrovací klíč. Na notebooku je zobrazen prohlížeč se vstupním polem pro heslo. Šipka směřuje od notebooku na server. Nad šipkou je okno obsahující text "TAJNÝ_KLÍČ" a usmívající se hacker, který se dívá na tento text.
Šifrování veřejným klíčem to vyřeší! Jde o asymetrickou šifrovací techniku, která používá pro šifrování a dešifrování různé klíče, což umožňuje počítačům na internetu bezpečnou komunikaci mezi sebou.
Pojďme se na tento náročný proces šifrování veřejným klíčem podívat blíže.

Krok 1: Vytvoření klíčů

Každá osoba (nebo její počítač) musí vytvořit dvojici klíčů, které ji identifikují: soukromý klíč a veřejný klíč.
Níže si můžeš vygenerovat dvojici klíčů pomocí stejného RSA algoritmu, který používá i tvůj počítač:
Vidíš? Vygenerování klíčů trvá několik sekund. To je způsobeno matematickými operacemi. Klíče jsou vytvořeny násobením dvou neuvěřitelně velkých prvočísel. Algoritmus opakovaně generuje náhodná velká čísla a ověřuje, zda jsou to prvočísla, dokud nakonec nenajde dvě náhodně velká prvočísla. Tato kontrola může chvíli trvat, a tyto klíče jsou jen 512 bitů dlouhé. Současná celostátně doporučená délka klíče je 2048, ba dokonce 3072 bitů.

Krok 2: Výměna klíčů

Odesílající a přijímající počítače si vyměňují veřejné klíče prostřednictvím spolehlivého kanálu, jako je TCP/IP. Soukromé klíče se nikdy nevyměňují.
Diagram výměny klíčů mezi notebookem a serverem. Na notebooku je zobrazen prohlížeč s polem pro zadání hesla. Šipka ukazuje ze serveru na notebook a je označena jako „VEŘEJNÝ_KLÍČ_SERVERU“. Pod ní je druhá šipka ukazující z notebooku na server, označená „VEŘEJNÝ_KLÍČ_KLIENTA“.

Krok 3: Šifrování

Odesílající počítač zašifruje tajná data pomocí veřejného klíče přijímajícího počítače a matematických operací.
Síla šifrování veřejným klíčem je v matematické operaci. Je to „jednosměrná funkce“, což znamená, že pro jiný počítač je neuvěřitelně obtížné operaci zvrátit a odhalit tak původní data. Dokonce ani veřejný klíč nelze použít k dešifrování dat.
Zkus si to s pomocí veřejného klíče vytvořeného před chvílí:

Krok 4: Odesílání šifrovaných dat

Odesílatel může nyní bezpečně přenášet zašifrovaná data přes internet bez obav z hackerů.
Diagram výměny klíčů mezi notebookem a serverem. Na notebooku je zobrazen prohlížeč s polem pro zadání hesla. Šipka ukazuje ze serveru na notebook a je označena zašifrovaným textem. Hacker se na tento text dívá nešťastně.

Krok 5: Dešifrování

Nyní může příjemce zprávu dešifrovat pomocí svého soukromého klíče. Je to jediný klíč, který lze k dešifrování zprávy použít (na celém světě!).
Zkus si to níže, se šifrovanou zprávou a soukromým klíčem vytvořeným dříve:
Jakmile úspěšně dešifruješ zprávu, zkus ji dešifrovat i pomocí veřejného klíče. Nepůjde to, protože k dešifrování lze použít pouze soukromý klíč.

Jak je to však možné?

Možná to zní příliš dobře, než aby to byla pravda; moci něco šifrovat jedním klíčem a následně to dešifrovat druhým klíčem. Matematici si dlouho nebyli jistí, zda je to vůbec možné, ale naštěstí objevili v 70. letech způsob, jak to provést.
Matematika jednosměrné funkce závisí na prvočíslech, na obtížnosti faktoringu velkých prvočísel a na modulární aritmetice. Pokud chceš do této oblasti matematiky proniknout hlouběji, podívej se na Khan Academy na kurz Moderní kryptografie.
Naštěstí můžeme všichni využívat a těžit ze šifrování veřejným klíčem, aniž bychom potřebovali pochopit komplikovanou matematiku, která za tím stojí. Ve skutečnosti používáme šifrování veřejným klíčem každý den při používání počítačů a internetu. Jak by asi svět vypadal bez tohoto šifrování?

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Máš k tomuto tématu nějaké dotazy? Rádi ti je zodpovíme — zeptej se v sekci pro dotazy níže!