Šifrování 1. díl: co to je a jak funguje

<p>&#160;</p>
<p>&#160;</p>
V článku se dozvíte základní informace o šifrování. O tom, jak funguje, jednoduché metody použití a jeho základní rozdělení. Také se podíváme na jeho využití v každodenním životě počítačového uživatele.
Martin Zachar 26. 7. 2009

Sdílet

Soukromí se spolu s bezpečností stalo důležitým faktorem při používání osobního počítače. Touží po něm každý uživatel, který používá více-uživatelský systém, jakým je například i Microsoft Windows. Zvídaví sourozenci nebo manželky a manželé mohou totiž často zabloudit i do složek, kde nemají co pohledávat. Avšak zabezpečení osobních dat může sahat mnohem dále a do mnohem důležitějších oblastí, jako je například práce nebo v extrémních případech různé usvědčující důkazy nebo tajné armádní zprávy. Nemusí se však týkat pouze uložených dat, ale také komunikace, kde je bezpečnost a soukromí vyžadováno taká, ať už se jedná o počítačové či mobilní sítě.

Pokud chcete svá data chránit před zveřejněním, existuje několik způsobů, jak na to. Nedávno jsme například psali článek o programu WinMend Folder Hidden, který dokáže speciálním způsobem skrýt soubory a složky uložené ve vašem počítači. Již dříve jsme také přinesli přehled několika programů v tomto článku, které dokážou vyřešit problémy soukromí ve vašem počítači.

Dnes se podíváme na poněkud všeobecnější způsob, který se využívá velmi často a to nejen při uchovávání dat, ale také právě při komunikaci. Je jím šifrování.

 

V reálném životě může vaše cennosti chránit například zámek, ke kterému víte klíč pouze vy.

Počátky a základní metody šifrování

Jednoduché metody šifrování se používaly daleko dříve, než se kdokoliv z nás narodil. Jde vidět, že ochrana soukromí hrála důležitou roli v mnoha dobách a to především u vojenských událostí.

Počátky kryptologie (vědy zabývající se šifrováním a vším kolem toho) sahají do 11. století př. n. l., kdy se v Číně používali tabulky kódů.

Další známou šifru můžeme objevit například u Julia Césara, který používal jednu z nejjednodušších metod. Každé písmenko ve zprávě zaměnil za jiné, které bylo v abecedě umístěno o 3 pozice dál. V tehdejší době se jednalo o neprolomitelnou šifru. Avšak pouze do doby, než ji prozradil Cicero. Můžeme si ji ukázat na jednoduchém příkladu. Vezměme si slovo "d i g i t a l n e". Pokud každý znak posuneme o tři písmena v abecedě, dostaneme "g l j l w d o q h". Takto vzniklé slovo je jistě nečitelné pro každého, kdo neví, jak jej rozluštit zpět.

Pokročilejšími metodami jsou třeba dírkované mřížky, kdy se přiloží tato mřížka na papír, napíší se do dírek znaky zprávy postupně zleva doprava a shora dolů (jako na obyčejný papír), poté se dá mřížka pryč a doplní se prázdná místa náhodnými znaky (v lepším případě takovými písmeny, aby dávala výsledná zpráva smysluplný text, avšak s původní zprávou neměla nic společného). Pokud nemá útočník mřížku, je pro něj téměř nemožné rozluštit zprávu. Opět můžete tento způsob demonstrovat na příkladu. Vezměme si slovo "d i g i t a l n e", které zašifrujeme pomocí nějaké vymyšlené mřížky (kterou zde nevidíme). Výsledek může vypadat nějak takhle:

j k d d l i m
n t p r g e r
g q e p v n i
t a a l e n e
b c e n e p e

 

Ještě pokročilejší je Fleissmarova mřížka, která funguje na stejném principu, jenom po dopsání znaků do mezer se mřížka otočí o devadesát stupňů a pokračuje se ve zprávě. Takto otočíme mřížkou 3x, abychom použili všechny 4 natočení mřížky. Poté opět vyplníme prázdná místa náhodnými znaky.

Do historie se také zapsala Enigma, což byl stroj využívaný ve válce pro šifrování zpráv. Ta využívá rotorů a elektrického systému ke kódování zpráv.

 

Foto Enigmy. Převzato ze serveru wikipedia.org.

Dnešní využití a rozdělení

V dnešní době se šifrování využívá především u komunikace a nejčastěji za použití certifikátů a klíčů, pomocí nichž se zprávy/data šifrují. V takovém případě jedna strana té druhé pošle podepsaný certifikát, který zaručuje, že se opravdu jedná o onu osobu (například server). Poté si zašlou veřejné klíče, které slouží k zašifrování zprávy, ale rozšifrovat se pomocí nich zpráva nedá (u asymetrického šifrování - viz. níže). Pokud by někdo tedy náhodou při komunikaci zachytil veřejný klíč a také zašifrovanou zprávu, nijak ji nerozšifruje. K tomu slouží soukromý klíč, který si každá strana udržuje v tajnosti a nikam jej neposílá.

Pokud obě strany používají pro šifrování a dešifrování zpráv stejný klíč, nazýváme to symetrické šifrování (starší metoda). Pro tento způsob se dnes nejčastěji využívá AES algoritmu, což je kvalitní a (časově) nenáročný postup.

Jestliže je pro šifrování a dešifrování použit jiný klíč, nazývá se to asymetrické šifrování. Tato metoda je modernější a daleko bezpečnější. Při výměně klíčů se používá například algoritmu RSA (dnes nejčastěji), který využívá vlastnosti, že rozložit obrovské číslo na násobek dvou prvočísel je časově velmi náročný problém. RSA se považuje při dostatečně dlouhém klíči za bezpečný/neprolomitelný způsob.

Aby se pak zpráva zašifrovala, různě se s klíčem a znaky zprávy provádí matematické operace, které zprávu převedou na nečitelnou podobu. Operace jsou většinou složité už jen z důvodu délky klíče.

 

Využití pro obyčejného uživatele

Samozřejmě, že obyčejný uživatel využívá šifrování, aniž by o tom věděl, protože všechnu práci za něj dělá počítač (nikdo z nás by nechtěl počítač s čísly a šifrovat si zprávy sám). Například jste si mohli někdy všimnout, že na různých stránkách se vám v URL adrese místo http objeví https, což je zabezpečená verze pomocí SSL (Secure sockets layer) protokolu. Pokud jste na nějaké takové stránce, pak komunikujete šifrovaně. Většina prohlížečů to oznamuje pomocí zobrazení zámku buďto ve stavové liště nebo pomocí zvýraznění přímo v URL řádku.

Příklady zobrazení zabezpečené stránky ve Firefoxu.

S šifrováním se můžeme setkat například i u komunikačního protokolu jabber. Ten je oproti ICQ šifrován a tím pádem je komunikace pomocí něj bezpečná a nikdo si nemůže číst vaše zprávy (teda pokud neprolomí vaši ochranu).

Dalším využitím pro šifrování je uchovávání soukromých dat, jak již bylo nastíněno na začátku článku. Pokud si například ukládáte na domácím počítači emaily od milenky a vážně nechcete, aby si tyto zprávy přečetla vaše manželka, pak si můžete data zašifrovat, protože pokud by vaše žena našla zaheslovanou složku, jistě jí to bude podezřelé a budete jí muset ukázat obsah. Takto však vaše žena pouze uvidí změť nesmyslných písmenek.

Další využití může být také při psaní psaníček ve škole. Pokud pak učitelka zachytí váš kousek papíru, nic z něj nepřečte, protože uvidí pouze různá písmenka abecedy. K utajení něčeho podobného stačí opravdu jednoduchá šifra, která se bez potřebné výpočetní techniky stane neprolomitelná.

 

Nepřátelé

Stejně jako nešifrované zprávy mají své nepřátele, kteří využijí jejich zranitelnosti k tomu, aby si je přečetli, i šifrování má protivníky, kteří se snaží šifru prolomit a zjistit původní obsah zprávy. Nejjednodušším způsobem k prolomení šifrované zprávy je získání klíče, to může být někdy až překvapivě snadné, například budeme-li chtít při symetrickém šifrování poslat druhé straně klíč, který slouží jak pro zašifrování zprávy, tak také pro její rozšifrování.

Druhým způsobem může být metoda pokus omyl (hrubou silou), kdy víme, jaké šifrování bylo použito, a snažíme se pouze najít klíč. Například při použití šifry Julia Césara a jednoduché abecedy s 26 znaky nemusí být takové prolamování nic složitého, ani zdlouhavého. Pouze postupně zkoušíme jednotlivá posunutí a vidíme, zda nám dešifrovaná zpráva dává smysl či nikoliv. Trochu pokročilejší může být zjištění četnosti znaků v použité abecedě (v angličtině se například nejčastěji vyskytuje písmeno e) a podle četnosti znaků v zašifrované zprávě pak odhadujeme, které písmeno může být které.

U složitých algoritmů, jako je například RSA nebo jako byla Enigma, se však většinou musí čekat na chybu operátora (jedné komunikující strany) při správě klíčů a jejich použití.

 

V reálu se někomu do soukromí můžete dostat například pomocí páčidla.

Závěr

S šifrováním se setkáváme téměř každý den a ani si neuvědomujeme, že jej používáme. Funguje bez našeho zásahu. Počítač přitom pracuje automaticky, efektivně, rychle a mnohdy s obrovskými čísly, se kterými by nám počítání trvalo opravdu dlouho, i kdybychom měli po ruce kalkulačku.

V prvním díle jsme se tedy podívali na základy šifrování, jeho funkčnost a některé jeho základní metody použití. V druhém díle se můžete těšit na program TrueCrypt, který používá šifrování k ochraně dat a tím pádem soukromí. Je dokonce schopen ochránit vaše data, i když jste při mučení nuceni prozradit heslo.

Autor článku