Skip to content

7 • Kódování a šifrování ​

Kódování vs. Šifrování ​

Ačkoliv se to v běžné řeči plete, v informatice jde o dvě úplně odlišné věci:

  • Kódování (Encoding): Neslouží k utajení! Účelem je převést data do takového formátu, aby šla snadno přenést, uložit nebo aby jim rozuměl počítač (případně jiný systém). Kódování je veřejně známé a kdokoliv ho může dekódovat zpět.
  • Šifrování (Encryption): Účelem je bezpečnost a utajení. Zpráva se změní tak, aby si ji mohl přečíst pouze ten, kdo má správný dešifrovací klíč. Pro kohokoliv jiného to musí vypadat jako náhodný shluk znaků.

Kódování dat ​

Kódování řeší to, jak zapsat lidské znaky tak, aby se s nimi dalo technologicky pracovat.

  • Morseovka: Kódování písmen do krátkých a dlouhých signálů pro přenos po telegrafu.
  • ASCII: Základní americká tabulka. Každé písmeno a znak má přiřazené číslo (např. 'A' je 65). Protože vznikla v USA, používá jen 7 bitů a obsahuje jen základní anglickou abecedu. Neumí háčky, čárky, azbuku ani rozsypaný čaj.
  • Lokální kódování (Čeština): Jakmile se počítače rozšířily, vznikla potřeba národních abeced. Vznikly 8bitové tabulky jako Windows-1250 (od Microsoftu) nebo ISO-8859-2. Problém byl, že když jsi otevřel text ve špatném kódování, místo "Ř" jsi viděl nesmyslné znaky.
  • UTF-8 (Unicode): Dnešní moderní standard. Je to obrovská mezinárodní tabulka, která obsahuje znaky všech jazyků světa, smajlíky i speciální symboly. Zajišťuje, že se text zobrazí správně všude.

3. Historické a klasické šifrování ​

Transpozice a Substituce.

  • Transpozice: Písmena ve zprávě zůstávají stejná, ale mění se jejich pořadí (zamíchají se). Je to v podstatě přesmyčka (např. slovo "AHOJ" napíšeš pozpátku jako "JOHA").
  • Substituce: Písmena zůstávají na svém místě, ale nahrazují se jinými písmeny nebo znaky.
    • Cézarova šifra: Klasická substituce. Každé písmeno posuneš v abecedě o pevný počet míst (např. o 3 místa: A ⇒ D, B ⇒ E).
    • Vigenèrova šifra: Složitější substituce (polyalfabetická). K posunu se nepoužívá jedno číslo, ale heslo. Každé písmeno zprávy se posune o jiný počet míst podle toho, jaké písmeno hesla je zrovna na řadě.
    • Enigma: Německý šifrovací stroj z 2. světové války. Byla to extrémně složitá mechanická a elektrická symetrická substituce, kde se pravidlo nahrazování měnilo s každým stisknutím klávesy.

4. Moderní kryptografie ​

symmetric vs asymmetric encryption diagram, vygenerováno umělou inteligencí

  • Symetrické šifrování: Odesílatel i příjemce mají jeden stejný tajný klíč. Tím samým klíčem se zpráva zamkne i odemkne. (Je to rychlé, ale problém je, jak si ten klíč na dálku bezpečně předat).
  • Asymetrické šifrování (např. RSA): Každý má klíče dva – veřejný a soukromý. Veřejný klíč dáš komukoliv. Kdokoliv ti jím může zprávu zašifrovat. Ale odšifrovat ji můžeš už jen ty pomocí svého soukromého klíče, který nikomu nedáš. Řeší to problém s předáváním klíčů přes internet.

Jak si přes odposlouchávaný internet ten společný klíč bezpečně předat, aniž by ho někdo cestou ukradl?

Diffie-Hellmanův protokol (DH) ​

  • matematický způsob bezpečné výměny klíčů přes nezabezpečený kanál
  • Jak to funguje: Představ si, že ty a banka máte každý svou tajnou barvu (např. ty červenou, banka modrou). Dále se veřejně dohodnete na jedné společné barvě (např. žluté). Ty smícháš svou tajnou červenou se žlutou a pošleš tenhle mix bance. Banka smíchá svou tajnou modrou se žlutou a pošle to tobě. Hacker vidí jen ty mixy, ale z nich nedokáže zjistit původní tajné barvy. Nakonec ty do bankovního mixu přidáš svou tajnou červenou a banka do tvého mixu svou tajnou modrou. Oba tak získáte naprosto stejnou výslednou barvu (společný tajný klíč), aniž byste si tu výslednou barvu museli po internetu posílat.

{0A343147-BB89-41BB-8117-60949FC5CF60}.png

  • Praxe: Dnes se Diffie-Hellman (nebo asymetrické šifrování RSA) používá přesně k tomuto účelu – na začátku komunikace si bezpečně "domluvíme" symetrický klíč a dál už šifrujeme rychle tím symetrickým. Tomu se říká hybridní šifrování.