Co jsou to ty šifry? - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Software

Co jsou to ty šifry?

26. června 2006, 00.00 | Minule jsme si ukázali základní postupy, jak v Mac OS X šifrovat; slíbili jsme si také, že si něco málo řekneme k "teorii" – a tomu se právě budeme věnovat teď. Nebojte se, žádné hluboké matematické exkursy nebudou; koho zajímají, ten si je dokáže snadno najít; my si jen vysvětlíme základní principy a pojmy, potřebné k tomu, abychom pochopili co se to v tom počítači vlastně děje, proč to funguje tak, jak to funguje, a proč to po nás chce to, co to po nás chce :)

Minule jsme si ukázali základní postupy, jak v Mac OS X šifrovat; slíbili jsme si také, že si něco málo řekneme k "teorii" – a tomu se právě budeme věnovat teď. Nebojte se, žádné hluboké matematické exkursy nebudou; koho zajímají, ten si je dokáže snadno najít; my si jen vysvětlíme základní principy a pojmy, potřebné k tomu, abychom pochopili co se to v tom počítači vlastně děje, proč to funguje tak, jak to funguje, a proč to po nás chce to, co to po nás chce :)

Kdo je kdo a co je co

Nebudeme si ani poctivě formálně definovat pojem "šifrování", ponechávajíce jej s klidem na intuitivním pochopení. Namísto toho se však malinko zdržíme nad některými základními pojmy; obzvláště "heslo" a "klíč" se běžně užívají v řadě nejrůznějších (a mnohdy poněkud zmatených) smyslů. My zde budeme těchto pojmů užívat v následujícím významu, vhodném pro počítače:

  • algoritmus je prostě postup, popisující kterak otevřená data zašifrovat, případně jak z dat šifrovaných opět získat ta původní. V nejjednodušším případě šifra nic jiného nežli algoritmus nemá, a utajení šifry je ekvivalentní utajení jejího algoritmu; kupříkladu je tomu tak u triviální šifry "psaní pozpátku";
  • u mnoha šifer se z praktických důvodů užívá trochu odlišného postupu: jejich algoritmus je veřejně známý, avšak užívá se v něm nějaké konkrétní proměnné – a právě a pouze její hodnota je utajena. Tuto hodnotu pak nazýváme klíčem. Příkladem může být takzvaná Caesarova šifra, při níž se každé písmeno posune o nějaký počet dopředu (tedy např. namísto 'A' píšeme 'D', namísto 'B' píšeme 'E', a tak dále). Klíčem zde je počet míst, o něž písmena posunujeme;
  • heslo pak je pouze jiným pojmem pro klíč. Tam, kde je obsahem klíče jednoduché číslo nebo krátký text, hovoříme častěji o "hesle"; je-li obsah klíče složitější (třeba CD plné dat, jak tomu je u jediné skutečně spolehlivé šifry na světě, totiž šifry Vernamovy), obvykle užíváme pojem "klíč" – pořád však jde o jedno a totéž.

Je zřejmé, že stanovení hranice mezi algoritmem a klíčem je do značné míry libovolné – můžeme třeba hovořit o Caesarově šifře bez klíče, jejímž algoritmem je "posun o tři místa". Nezřídka se s takovýmto spojováním algoritmu a klíče setkáváme u jednoduchých ručních šifer, jež známe kupříkladu ze skauta.

U počítačů naproti tomu bývá zvykem algoritmus a klíč jasně rozlišovat; to proto, že počítače, byť von Neumannovské, dosti zásadně rozlišují program a data; algoritmus samozřejmě musí být programem, avšak je výhodné moci se na klíč dívat jako na data (pro snadnou přenositelnost, pro možnost nezávislého ověření spolehlivosti šifry a podobně).

Šifry asymetrické a symetrické

Začneme sice obligátním a již mnohokrát formulovaným, ale přesto důležitým rozdělením šifer na dva základní typy: symetrické a asymetrické. Obvykle bývají definovány na základě počtu klíčů a podobně, ovšem ten skutečně důležitý fakt spočívá v následujících vlastnosti:

  • Symetrická šifra je taková, již po sobě dokáži rozšifrovat.

Tedy, pokud naopak pro nějakou šifru platí, že (při znalosti vhodného algoritmu a klíče) mohu její pomocí zašifrovat nějaká data, avšak (při téže znalosti téhož algoritmu a téhož klíče) nemohu obsah, zašifrovaný její pomocí, dekódovat, pak jde o šifru asymetrickou. (Samozřejmě ovšem musí platit, že při znalosti obecně jiného algoritmu a jiného klíče tuto šifru dekódovat lze :))

Je celkem zřejmé, že asymetrické šifry jsou nesmírně výhodné pro bezpečnou komunikaci v prostředích typu Internetu: jestliže znalost algoritmu a klíče umožňuje šifrovat, ale nikoli číst, mohu oba veřejně publikovat (a utajím onen druhý algoritmus a druhý klíč, jež mi umožní dešifrování); kdokoli mi pak snadno může poslat libovolnou zprávu šifrovaně, a jen já ji dokáži přečíst.

Nevýhodou asymetrických šifer je to, že jsou založeny na poměrně komplikovaných matematických tricích (jež si zde nebudeme popisovat), a proto jsou výpočetně náročné a mnohdy také neefektivní: symetrické šifry sice vyžadují utajení klíče na obou stranách, ale zato jsou daleko rychlejší a efektivnější.

V praxi se proto "čistých" asymetrických šifer takřka neužívá; namísto toho se využívá jednoduchého triku: vlastní data se zašifrují rychlou a účinnou symetrickou šifrou, použije se náhodný klíč – a pouze ten je zašifrován asymetricky, a k šifře přiložen. A samozřejmě, tam, kde výhody asymetrických šifer nemají cenu (např. právě u šifrování souborů, o němž jsme se převážně bavili v minulém článku), se užívá důsledně šifer symetrických.

Asymetrické šifry navíc umožňují pomocí velmi jednoduchého triku zajistit elektronický podpis; to si ale vysvětlíme až příště, spolu s některými risiky, jež asymetrické šifrování přináší.

Veřejný a tajný klíč

Vraťme se ještě na chvíli k "definici" asymetrické šifry, již jsme uvedli v podobě "při znalosti vhodného algoritmu a klíče mohu zašifrovat nějaká data, pro jejich rozšifrování však potřebuji jiný, tajný algoritmus a klíč".

V praxi tomu obvykle bývá tak, že oba zmíněné algoritmy jsou zcela obecně známé – kupříkladu široce známá "šifra PGP" v podstatě není ničím jiným, než skupinou standardizovaných šifrovacích algoritmů (jak symetrických pro šifrování vlastních dat, tak i asymetrických pro šifrování náhodných klíčů), umožňujících asymetrické šifrování, spolu se standardizovanými formáty, jež umožňují programům na obou stranách se "domluvit".

Uživatel takové šifry pak má dvojici klíčů:

  • veřejný klíč, který publikuje, a jenž spolu s informací o použitém algoritmu umožní komukoli zprávu zašifrovat;
  • tajný klíč, jenž hlídá jako oko v hlavě, a jehož pomocí dokáže (jako jediný) přečíst cokoli, co někdo zašifroval s užitím klíče veřejného.

Tak tomu je ve všech systémech, založených na asymetrickém šifrování; v některých jsou klíče přímo viditelné a uživatel svůj tajný klíč ukládá a veřejný klíč publikuje přímo (PGP); jindy jsou klíče skryty pod nějakým pomocným rozhraním (např. ve standardu S/MIME, který máme k dispozici v Mac OS X, je veřejný klíč skryt v certifikátu, jímž podepisujeme zprávy – právě proto v něm platí, že kdokoli, komu pošleme podepsanou zprávu, pro nás hned může šifrovat – a tajný je automaticky uložen do Keychainu ve chvíli, kdy certifikát získáme).

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Tipy a Triky  

 » Rubriky  » Software  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: