WEBVTT 00:00:02.940 --> 00:00:08.500 Internet: šifrování a veřejné klíče 00:00:08.990 --> 00:00:14.150 Aho. jmenuji se Mia Gil-Epner, studuji počítačové vědy v magisterském studiu na Kalifornské Univerzitě v Berkeley 00:00:14.150 --> 00:00:19.460 a pracuji pro americké Ministerstvo obrany, kde mám na starosti utajování informací. Internet je 00:00:19.460 --> 00:00:25.510 otevřený a veřejný systém. Informace zasíláme a přijímáme po společných drátech a spojeních. Ale 00:00:25.510 --> 00:00:30.039 ačkoli je to otevřený systém, i tak sdílíme spoustu soukromých údajů. Takové věci, jako 00:00:30.039 --> 00:00:35.890 čísla kreditních karet, bankovní informace, hesla a e-maily. Takže jak jsou všechny ty 00:00:35.890 --> 00:00:40.690 soukromé údaje utajovány? Data jakéhokoli druhu lze utajovat procesem, kterému říkáme 00:00:40.690 --> 00:00:45.299 šifrování, to jest pomícháním nebo změnou té zprávy tak, aby byl původní text skryt. Dešifrování 00:00:45.309 --> 00:00:51.900 je naopak proces zrušení toho pomíchání, aby byl text znovu čitelný. To je jednoduchá 00:00:51.900 --> 00:00:56.970 myšlenka a lidé to tak dělali po staletí. Jednou z prvních dobře známých šifrovacích metod 00:00:56.970 --> 00:01:02.379 byla Cesarova šifra. Byla pojmenována po římském generálovi Juliovi Cesarovi, 00:01:02.379 --> 00:01:07.220 který své vojenské příkazy šifroval, aby si jeho zprávy nemohli přečíst nepřátelé, 00:01:07.220 --> 00:01:12.540 kdyby se jim podařilo je zachytit. Cesarova šifra je algoritmus, který nahradí každé 00:01:12.540 --> 00:01:16.759 písmeno původní zprávy písmenem, které je od něj o určitý počet kroků 00:01:16.759 --> 00:01:21.259 dále ve směru abecedy. Je-li toto číslo něčím, co zná jen odesílatel a příjemce, pak se nazývá 00:01:21.259 --> 00:01:28.640 klíč. Umožňuje čtenáři rozluštit tu skrytou zprávu. Například jestliže Vaše původní 00:01:28.640 --> 00:01:35.869 zpráva zní „HELLO“, pak zpráva zašifrovaná pomocí algoritmu Cesarovy šifry s klíčem 5 00:01:35.869 --> 00:01:43.259 by byla taková: ... K dešifrování takové zprávy by příjemce musel prostě použít klíč k obrácení 00:01:43.259 --> 00:01:50.179 tohoto procesu. Avšak s Cesarovou šifrou je velký problém, zašifrovanou zprávu může každý 00:01:50.179 --> 00:01:55.569 snadno rozluštit nebo prolomit tak, že vyzkouší všechny možné klíče. A v anglické abecedě je jen 00:01:55.569 --> 00:02:00.389 26 písmen, takže k dešifrování zprávy by Vám stačilo vyzkoušet ne více než 26 klíčů. 00:02:00.389 --> 00:02:06.810 Přitom vyzkoušet 26 možných klíčů není velmi nesnadné, trvalo by to nanejvýš hodinu nebo 00:02:06.810 --> 00:02:13.050 dvě. Tak to udělejme těžší, namísto posouvání každého písmene o stejnou vzdálenost v abecedě 00:02:13.050 --> 00:02:18.920 posouvejme každé písmeno o jinou vzdálenost. V tomto příkladu desetimístné číslo ukazuje, o 00:02:18.920 --> 00:02:26.560 kolik bude změněno každé následné písmeno, když bude kódována delší zpráva. Uhodnout 00:02:26.560 --> 00:02:34.160 tento klíč by bylo opravdu náročné Při použití desetimístného šifrovacího klíče by mohlo být 00:02:34.160 --> 00:02:39.860 deset miliard možných řešení klíče. Je zjevné, že to je více, než co by mohl vyřešit člověk. Trvalo 00:02:39.860 --> 00:02:46.030 by to celá staletí. Ale průměrnému dnešnímu počítači by k vyzkoušení všech deseti miliard možností stačilo 00:02:46.030 --> 00:02:51.240 jen několik sekund. Takže jak můžete v moderní době, kdy jsou zločinci vybaveni ne tužkami, ale 00:02:51.240 --> 00:02:57.890 počítači, můžete šifrovat zprávy tak bezpečně, aby byly obtížně rozluštitelné? Přitom „obtížně“ znamená, 00:02:57.890 --> 00:03:03.760 že existuje příliš mnoho možností na to, aby se to dalo vyřešit za rozumnou dobu. Dnešní zabezpečené 00:03:03.760 --> 00:03:10.200 komunikace jsou šifrovány pomocí 256-bitových klíčů. To znamená, že počítač zločince, který 00:03:10.200 --> 00:03:16.290 zachycuje Vaše zprávy, by musel zkoušet příliš mnoho možností... dokud by neodhalil klíč 00:03:16.290 --> 00:03:24.040 a nerozluštil by zprávu. I kdybyste měli 100000 superpočítačů a každý z nich by byl schopen 00:03:24.040 --> 00:03:30.680 zkoušet milion miliard klíčů za sekundu, trvalo by biliony bilionů let, než by byly vyzkoušeny 00:03:30.680 --> 00:03:37.690 všechny možnosti, jen aby byla rozluštěna jedna zpráva zašifrovaná 256-bitovým kódováním. 00:03:37.690 --> 00:03:43.320 Samozřejmě, počítačové čipy jsou přibližně každým rokem dvakrát tak rychlé a o polovinu 00:03:43.320 --> 00:03:48.400 menší. Pokud bude tato tento exponenciální míra nárůstu pokračovat, dnes nemožné 00:03:48.400 --> 00:03:54.680 problémy budou během několika století řešitelné a 256 bitů nebude stačit k zabezpečení. Ve skutečnosti 00:03:54.680 --> 00:04:01.070 jsme už teď byli nuceni zvýšit standardní délku šifrovacího klíče tak, aby odpovídala rychlosti 00:04:01.070 --> 00:04:05.540 počítačů. To dobré na tom je, že při použití delšího klíče nebude šifrování zpráv podstatně obtížnější, 00:04:05.540 --> 00:04:11.660 avšak exponenciálně se bude zvyšovat počet pokusů o uhodnutí potřebných k prolomení šifry. 00:04:11.660 --> 00:04:16.779 Když budou odesílatel a příjemce sdílet stejný klíč k zašifrování a dešifrování zprávy, nazývá se to 00:04:16.779 --> 00:04:24.199 symetrické šifrování. Při symetrickém šifrování, jako je například Cesarova šifra, se na tajném klíči 00:04:24.199 --> 00:04:29.710 musejí předem v soukromí dohodnout dva lidé. Takže je to vynikající pro lidi, ale internet je 00:04:29.710 --> 00:04:35.840 otevřený a veřejný, takže je nemožné, aby se dva počítače „sešly“ a domluvily se na tajném 00:04:35.840 --> 00:04:41.599 klíči. Namísto toho počítače využívají asymetrické šifrovací klíče, tedy veřejný klíč, který si lze 00:04:41.599 --> 00:04:49.020 vyměnit s kýmkoli, a soukromý klíč, který se nesdílí. Veřejný klíč se použije k zašifrování 00:04:49.020 --> 00:04:55.800 dat a použít k vytvoření šifrované zprávy je může každý, ale toto tajemství může dešifrovat 00:04:55.800 --> 00:05:01.270 jen počítač s přístupem k tomu soukromému klíči. Způsob, jakým tohle funguje, je založen na 00:05:01.270 --> 00:05:06.129 matematice, kterou se v tuto chvíli nebudeme zabývat. Představte si to takto: myslete si, že 00:05:06.129 --> 00:05:11.430 máte privátní poštovní schránku, kam může uložit poštu kdokoli, ale potřebuje k tomu klíč. 00:05:11.430 --> 00:05:16.509 Vy můžete vyrobit mnoho kopií takového ukládacího klíče a jednu zaslat svému příteli, nebo některou 00:05:16.509 --> 00:05:21.400 dokonce zpřístupnit veřejnosti. Váš přítel nebo i někdo cizí pak může takový veřejný klíč používat ke 00:05:21.400 --> 00:05:27.400 zpřístupnění štěrbiny ve schránce a vhození zprávy. Otevřít tu schránku a získat přístup ke 00:05:27.400 --> 00:05:31.539 zprávám, které jste dostali, však můžete jen Vy se svým soukromým klíčem. A svému příteli můžete 00:05:31.539 --> 00:05:37.620 poslat zabezpečenou zprávu použitím veřejného klíče k ukládání do jeho schránky. Tak si mohou lidé vyměňovat 00:05:37.620 --> 00:05:43.699 zabezpečené zprávy, aniž by se někdy museli domlouvat na soukromém klíči. Kryptografie veřejných klíčů je 00:05:43.699 --> 00:05:49.340 základem veškerého zabezpečeného předávání zpráv na otevřeném Internetu. Včetně protokolů zabezpečení 00:05:49.340 --> 00:05:55.900 zvaných SSL a TLS, které nás chrání, když procházíme web. Váš počítač to dnes používá 00:05:55.900 --> 00:06:01.400 pokaždé, když vidíte malý zámek nebo písmena https v adresním řádku svého prohlížeče. 00:06:01.400 --> 00:06:07.409 To znamená, že Váš počítač využívá šifrování veřejným klíčem k zabezpečené výměně dat s webovou stránkou, 00:06:07.409 --> 00:06:13.400 na které se nacházíte. Vzhledem k tomu, že na internet přichází čím dál tím více lidí, bude přenášeno 00:06:13.400 --> 00:06:19.080 čím dál tím vice soukromých údajů, a potřeba zabezpečení těchto údajů bude nabývat na významu. 00:06:19.080 --> 00:06:24.059 Jak se počítače postupně čím dál tím více zrychlují, budeme muset vyvinout nové způsoby, jak zajistit, aby 00:06:24.059 --> 00:06:29.259 šifrování bylo příliš těžko prolomitelné počítači. To dělám já ve své práci. A je to práce, která se stále mění.