Hlavní obsah
Informatika – Počítače a internet
Kurz: Informatika – Počítače a internet > Kapitola 3
Lekce 6: Šifrování datŠ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.
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íč!
Š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í.
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ů.
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!
Chceš se zapojit do diskuze?
Zatím žádné příspěvky.