Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
informatika:maturita:3a [22. 09. 2014, 21.53] xmrnustik vytvořeno |
informatika:maturita:3a [06. 10. 2021, 16.23] (aktuální) xborosova1 [Reversibilní šifrování] |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== Komprese a šifrování ====== | ||
===== Komprese ===== | ===== Komprese ===== | ||
- | Komprese je proces při kterém se z velkého objemu dat získáme menší objem, ze kterého se dá však informace zpětně získat. | ||
- | Kompresi můžeme dělit na: | + | Komprese (také komprimace) je způsob zpracování počítačových dat za účelem zmenšení jejich objemu (většinou kvůli jejich uložení nebo přenosu) a současného zachování co největšího množství informací. Komprese je prováděna tzv. kompresním algoritmem, který vyhledává a odstraňuje nadbytečné (redundantní) informace. |
- | * Ztrátovou | + | |
- | * Bezztrátovou | + | Kompresi dělíme do dvou základních kategorií: |
+ | * Ztrátová | ||
+ | * Bezeztrátová | ||
==== Ztrátová komprese ==== | ==== Ztrátová komprese ==== | ||
- | Při ztrátové kompresi dochází k nenávratné ztrátě nekteré části informace. Tato nevýhoda je ovšem kompenzována významným zmenšením objemu dat. Tento typ komprese se používá hlavně ke kompresi obrazu(videa) a hudby. U fotografií se například používá formát **JPEG**, u videa **MPEG** a u hudby **MP3** nebo **AAC**. | + | Během ztrátové komprese se některé méně důležité informace ztrácejí bez možnosti rekonstrukce z vytvořených dat. Tento postup způsobuje ztrátu kvality původního souboru a používá se především pro ukládání obrazových a zvukových záznamů, jelikož umožňuje výrazné zmenšení objemu dat. |
- | ==== Bezztrátová komprese ==== | + | Algoritmy ztrátové komprese jsou založeny na lidském vnímaní a zaokrouhlují informace, které jsou pro naše vnímání méně podstatné (např. zprůměrování barevných odstínů, odstranění hůře slyšitelných částí). |
- | Při bezztrátové komprese se dá komprimovaný soubor dá vyvolat do předchozí podoby, díky tomu se dají zachovat i textové informace. Bezztrátovní kompresní algoritmus je například **LZMA**, který používá program **7-Zip**. Pro bezztrátovou kompresi hudby se například používá formát **FLAC** a u obrázků **PNG** nebo **GIF**. | + | |
+ | Mezi nejčastější formáty ztrátové komprese patří: | ||
+ | * **JPEG** (obrázky, fotografie) | ||
+ | * **MPEG** a **H.264** (video) | ||
+ | * **MP3** a **AAC** (audio) | ||
+ | * **AMR** (řeč) | ||
+ | |||
+ | |||
+ | ==== Bezeztrátová komprese ==== | ||
+ | Bezeztrátová komprese umožňuje přesnou rekonstrukci původních dat z komprimovaných souborů tzv. dekompresí. Využívá se především pro kompresi textových dokumentů nebo jiných souborů, které vyžadují zachování původních informací. | ||
+ | |||
+ | Algoritmy bezeztrátové komprese se většinou liší podle formátu souboru a často se jich využívá více najednou. Během komprese se vyhledají opakující se data (stejné fráze, pixely, posloupnosti atd.), které se poté nahradí pouhým odkazem na jejich skutečnou hodnotu. Algoritmy se také snaží statisticky předpovídat pravděpodobnost výskytu určitých znaků, kterým pak podle počtu výskytů přiřadí kratší, nebo delší informaci pro jejich zápis. Tak funguje např. [[informatika:maturita:huffmann|Huffmanovo kódování]]. | ||
+ | |||
+ | Mezi nejpopulárnější algoritmy patří komprese **LZ**, která dala základ algoritmům **LZMA** (využívaný programem 7zip), **LZSS** (WinRAR) a dalším. Nejběžnějšími bezeztrátově komprimovanými formáty jsou **FLAC** (audio) a **PNG** (obrázky). | ||
+ | |||
+ | {{ :informatika:maturita:komprimace.png?nolink&500 |}} | ||
===== Šifrování ===== | ===== Šifrování ===== | ||
- | Šifrování je proces, při kterém se informace převede do podoby, která není čitelná bez znalosti procesu, který byl použit. | + | Šifrování je proces, při kterém se čitelná nezabezpečená data převádí na nečitelná data šifrovaná, které je schopen rozšifrovat pouze majitel dešifrovacího klíče. |
Šifry můžeme dělit podle možnosti zpětného získání informace na: | Šifry můžeme dělit podle možnosti zpětného získání informace na: | ||
- | * Reversibilní - informace je možné zpětně vyvolat | + | * Reversibilní - informace je možné zpětně získat |
- | * Ireversibilní - informace se uchovává ve formě hashe a není možné ji zpětně vyvolat | + | * Ireversibilní - informace se uchovává ve formě hashe a není možné ji zpětně získat |
==== Reversibilní šifrování ==== | ==== Reversibilní šifrování ==== | ||
Reversibilní šifrování můžeme dělit na: | Reversibilní šifrování můžeme dělit na: | ||
- | * Symetrické - symetrické šifry mají stejný klič pro šifrování i dešifrování | + | * Symetrické |
- | * Asymetrické - asymetrické šifry mají dva klíče jeden pro šifrování a druhý pro dešifrování | + | * Asymetrické |
+ | * Hybridní | ||
=== Symetrické šifry === | === Symetrické šifry === | ||
+ | Symetrické šifry mají jeden klíč, který slouží k šifrování i dešifrování. Nezabezpečená zpráva je pomocí tohoto klíče zašifrovaná, čímž se stává nečitelnou. Následně je zpráva odeslána příjemci, který ji za pomocí stejného klíče dešifruje, čímž se zpráva stane opět čitelnou. | ||
+ | |||
+ | Pro symetrické šifry platí, že jejich dešifrování je přesným opakem jejich šifrování. Největším problémem symetrických šifer je sdílení samotného klíče mezi uživateli. Šifry jsou také omezeny pouze na uživatele, kteří znají klíč. Se zvyšujícím se počtem uživatelů se také snižuje bezpečnost klíče. | ||
+ | |||
Jednoduchým příkladem symetrické šifry může být tzv. Caesarova šifra, kterou římský vojevůdce používal k šifrování vojenských zpráv. Šifra je založena na tom, že si na začátku určíme klíč (třeba číslo 2) a posuneme každé písmeno zprávy v abecedě o vybrané číslo. | Jednoduchým příkladem symetrické šifry může být tzv. Caesarova šifra, kterou římský vojevůdce používal k šifrování vojenských zpráv. Šifra je založena na tom, že si na začátku určíme klíč (třeba číslo 2) a posuneme každé písmeno zprávy v abecedě o vybrané číslo. | ||
Když vezmeme například slovo "Pascal" a zašifrujeme ho Caesarovou šifrou s klíčem 2, tak dostaneme "Rctecn". | Když vezmeme například slovo "Pascal" a zašifrujeme ho Caesarovou šifrou s klíčem 2, tak dostaneme "Rctecn". | ||
- | Dalším příkladem je třeba [[http://cs.wikipedia.org/wiki/Kryptografie#Vernamova_.C5.A1ifra|Vernamova šifra]] | + | {{ :informatika:maturita:symmetric-encryption.png?nolink&400 |}} |
=== Asymetrické šifry === | === Asymetrické šifry === | ||
- | Díky tomu, že asymetrické šifry mají dva klíče, z nichž jeden z nich je ve většině případů veřejný a druhý soukromý. | + | Asymetrické šifry využívají dva klíče, z nichž jeden je veřejný a druhý soukromý. Oba klíče se dají použít pro zašifrování určitých dat, ale pro jejich dešifrování se musí použít klíč druhý. Veřejný klíč se nahraje na server nebo jinak sdílí přes internet a využívají ho ostatní pro šifrování zpráv pro majitele soukromého klíče. |
+ | |||
+ | Při běžné komunikaci je tak čitelná zpráva zašifrována veřejně přístupným klíčem příjemce. Tato zpráva se stává nečitelnou a je možné ji dešifrovat pouze za použití soukromého klíče. Zpráva je tedy odeslána příjemci, který jako jediný zná druhý klíč, ten zprávu dešifruje a získá původní text. | ||
+ | |||
+ | Asymetrické šifrování se dá také využít obráceně. Odesílatel vytvoří zprávu a její hash zašifruje svým soukromým klíčem. Příjemce pak může zašifrovaný hash dešifrovat za pomocí veřejného klíče a výsledný hash porovnat s hashem obdržené zprávy. Pokud jsou stejné, znamená to, že zprávu vytvořil opravdu její odesílatel a že nebyla nijak upravována. Tímto způsobem je potvrzena identita odesílatele a jedná se o tzv. digitální podpis. Pro ověření podpisu se k zašifrovanému hash kódu přidává ještě certifikát důvěryhodné třetí strany, který potvrzuje totožnost fyzické osoby s klíčem. | ||
+ | |||
+ | {{ :informatika:maturita:asymmetric-encryption.png?nolink&400 |}} | ||
- | Příklad komunikace za použití asymetrické kryptografie s veřejným klíčem pro zašifrování a privátním pro dešifrování: | + | Základem většiny systémů s asymetrickým šifrováním je šifra RSA, která je založena na principu obtížnosti faktorizace (rozkladu na součin) velkých čísel. K vytvoření a výměně sdíleného privátního klíče přes veřejné komunikační kanály se nejčastěji používá Diffieho–Hellmanova výměna klíčů. |
- | {{:informatika:maturita:asymetricka_kryptografie_1_.svg|}} | + | |
- | Asymetrická kryptografie se soukromým klíčem pro zašifrování a veřejným klíčem pro dešifrování se používá k ověření identity. Autor zprávy zašifruje zprávu soukromým klíčem a adresát ji po přijetí dešifruje a tím ověří identitu odesilatele. | + | [[https://cs.wikipedia.org/wiki/Diffieho%E2%80%93Hellmanova_v%C3%BDm%C4%9Bna_kl%C3%AD%C4%8D%C5%AF|{{ :informatika:maturita:320px-diffie-hellman_key_exchange_cs_.svg.png?350 |}}]] |
- | Pro asymetrické šifrování se používá například algoritmus [[http://cs.wikipedia.org/wiki/RSA| RSA]]. | + | === Hybridní šifry === |
+ | Hybridní šifry se snaží eliminovat problémy předchozích dvou typů - u symetrických problém s přenosem klíče a u asymetrických dlouhou dobu a velkou náročnost výpočtu. U hybridního šifrování nejdříve zašifrujeme zprávu symetricky náhodným klíčem a pak samotný klíč zašifrujeme asymetricky a odešleme spolu se zprávou. Příjemce si nejdříve rozšifruje pomocí asymetrické šifry klíč a poté klíčem dešifruje symetricky zašifrovanou zprávu. Tento typ používá například protokol HTTPS. | ||
==== Ireversibilní šifrování ==== | ==== Ireversibilní šifrování ==== |