Úvod do kryptologie Historie a klasické šifry
Úvod Od nepaměti lidé řeší problém: Jak předat zprávu tak, aby nikdo nežádoucí nezjistil její obsah? Dvě možnosti: ukrytí existence zprávy ukrytí smyslu zprávy S tím souvisí otázka: Jak zajistit, aby zpráva nebyla cestou změněna? Kde potřebuje každý z nás utajovat informace?
Kryptologie Původ slova z řečtiny: krypto = skrytý Věda o kryptografii a kryptoanalýze Věda o matematických technikách spojených s hledisky informační bezpečnosti, jako je důvěrnost, integrita dat, autentizace a autorizace Kryptografie věda o tajných kódech zaručující důvěrnost komunikace přes nezabezpečený komunikační kanál jak zprávu zašifrovat tak, aby ji nepovolaná osoba nerozuměla Kryptoanalýza věda o analýze slabin šifrovacích systémů jak dešifrovat zašifrovanou zprávu bez znalosti klíče Historie je neustálý boj kryptografie a kryptoanalýzy v současnosti vyhrává kryptografie Původ slova z řečtiny: krypto = skrytý
Steganografie a stegoanalýza Považovány za součást kryptologie Jak ukrýt (nezašifrovanou) zprávu Jak nalézt ukrytou zprávu Viz samostatná přednáška
Základní cíle kryptografie Důvěrnost (confidentiality) též bezpečnost služba užívaná k udržení obsahu zprávy v tajnosti informace neunikne neautorizované osobě Celistvost dat (data integrity) též integrita služba zabraňující neautorizované změně dat schopnost detekovat změnu dat vložení, smazání, substituce Autentizace (authentication) identifikace, prokazování totožnosti řízení přístupu, autentizace podpisu, atd.
Další cíle kryptografie Autorizace (authorization) potvrzení původu dat Nepopiratelnost (non-repudiation) služba zabraňující popření předchozích kroků nebo akcí Praktické aplikace zajištění anonymity, elektronické platby, elektronické volby, zero-knowledge protocol
Metody kryptografie Transpozice Substituce přeskládání znaků zprávy jiným způsobem Substituce nahrazení znaků zprávy jinými znaky Každý šifrovací algoritmus je založen na vhodné kombinaci právě těchto dvou metod
Transpozice Uspořádání písmen zprávy jiným způsobem Například: Řešení BLODIEEPVIA-YPZNVCRRNMJ VCRIABLAKCS-EENMJYLSYA Řešení B L O D I E E P V I A Y P Z N V C R R N M J V C R I A B L A K C S E E N M J Y L S Y A
Skytale (Sparta) Historicky první vojenské šifrování Pruh kůže navinutý na tyč dané tloušťky
Substituce Nahrazení písmen zprávy jinými znaky Je zachována pozice písmen Příklady: Posunutá abeceda (Caesarova šifra) Morseova abeceda Fonetická šifra (B↔P; D ↔T; F ↔V; G ↔K;…) Vigenèrova šifra atd.
Obecný šifrovací postup Odesilatel aplikuje šifrovací algoritmus s využitím klíče na otevřený text Získá šifrový text, pošle jej příjemci Příjemce aplikuje na šifrový text dešifrovací algoritmus s využitím klíče Získá zpět otevřený text
Rozdělení kryptografie Symetrická kryptografie odesilatel i příjemce používají stejný klíč dešifrovací algoritmus je inverzí šifrovacího Asymetrická kryptografie odesilatel použije jiný klíč než příjemce algoritmy šifrování a dešifrování jsou obecně různé
Kerckhoffsův princip Základní princip kryptografie Nizozemský lingvista Auguste Kerckhoffs von Nieuwenhoff (1883) Bezpečnost šifrovacího systému nesmí záviset na utajení algoritmu, ale pouze na utajení klíče.
Terminologie a označování Účastníci komunikace Alice (A) – odesilatel zprávy Bob (B) – příjemce zprávy Útočník Eva (E) – eavesdropper = slídil Texty Message (M) = zpráva – otevřený text Cipher (C) = šifra – šifrový text Algoritmy Encryption (E) = šifrování Decryption (D) = dešifrování Platí: C = E(K,M), M = D(K,C)
Modulární aritmetika Hojně využívána v šifrovacích algoritmech základ mnoha jednosměrných funkcí Aritmetika na konečné uspořádané množině čísel Čísla se cyklicky opakují Operace stejné jako u přirozených čísel Nejprve spočteme „normální“ výsledek a poté jeho modul.
Aritmetika modulo 7 2 + 3 = 5 (mod 7) 5 + 4 = 2 (mod 7) protože 20:7 = 2, zbytek 6 11 · 9 = 1 (mod 7) protože 99:7 = 14, zbytek 1 35 = 5 (mod7)
Operace XOR eXclusive OR Logická operace nebo s tím, že je pravdivý právě jeden výraz 0 0 = 0 0 1 = 1 1 0 = 1 1 1 = 0 Jedná se de facto o součet modulo 2 V češtině píšeme před „nebo“ čárku Jednoduché šifrování C = M K, M = C K
Historie kryptologie Klasické šifry
Posunutá abeceda o 3 písmena Caesarova šifra Posunutá abeceda o 3 písmena abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC Příklad veni, vidi, vici YHQL, YLGL, YLFL Algoritmus: posun abecedy Klíč: o kolik 25 možných klíčů
Vylepšení Caesarovy šifry Šifrová abeceda není seřazená Příklad abcdefghijklmnopqrstuvwxyz JULISCAERTVWXYZBDFGHKMNOPQ Snadno zapamatovatelná klíčová fráze Více než 41010 možností Arabští úředníci nahrazovali písmena zástupnými symboly (+,#,*,…) Monoalfabetické substituční šifry
Boj s frekvenční analýzou Klamače / nuly znaky v šifrovém textu, které nemají význam Špatný pravopis ponivač spúzobý zmnjenu freqenze hlázeg Kódová slova často používaná slova nahradíme speciálními symboly
Homomorfní substituční šifra Každé písmeno má více reprezentací počet reprezentací odpovídá frekvenci náhodný výběr Například dvouciferná čísla každé bude mít četnost přesně 1 % Znemožňuje frekvenční analýzu Kryptoanalýza: Závislosti mezi písmeny Angličtina: po q je vždy u Digramy, trigramy, začátky slov, rozmístění samohlásek…
Vigenèrova šifra Blaise de Vigenère, 1586 Šifrování pomocí periodicky se opakujícího klíče délky > 1 Polyalfabetická substituční šifra Šifrování: Klíčové slovo WHITEWHITEWHITEWHITEWHI Otevřený text diverttroopstoeastridge Šifrový text ZPDXVPAZHSLZBHIWZBKMZNM Příliš složité použití, náchylné k chybám Nerozlomena po 300 let Viz přednáška o polyalfabetických šifrách
Nerozluštitelná šifra Problém Vigenèrovy šifry: OPAKOVÁNÍ Potřebujeme klíč dlouhý stejně jako text kniha, noviny, Ústava, … Problém: Ve zprávě i v klíči se některá slova často opakují (např. the) Potřebujeme knihu náhodných písmen existuje matematický důkaz nerozluštitelnosti Problém distribuce klíčů
Šifrovací stroj ENIGMA Německý vynálezce Arthur Scherbius Vývoj od r. 1918 U obchodníků neúspěch Velkovýroba pro armádu 1925 – 1945 přes 30 000 strojů Němci považovali za zcela bezpečné Spojenci dokázali částečně dešifrovat
Schéma ENIGMY Baterie Klávesnice Propojovací deska Vstupní kolo Stiskneme „A“, dostaneme „D“ Baterie Klávesnice Propojovací deska Vstupní kolo Scramblery Reflektor Propojovací kabel
Každý scrambler má 26 pozic Uspořádání 3 scramblerů Počet klíčů ENIGMY Každý scrambler má 26 pozic 263 = 17576 Uspořádání 3 scramblerů 6 Prohození 6 párů písmen (z 26) na propojovací desce 100 391 791 500 Celkem přibližně 1016 klíčů
Používání ENIGMY Denní klíč Klíč zprávy nastavení propojovací desky (6 párů písmen) počáteční nastavení scramblerů (3 písmena) Klíč zprávy propojovací deska zůstává stejná jiné nastavení scramblerů Před vysíláním každé zprávy se 2x poslal klíč zprávy zašifrovaný denním klíčem
Dešifrování ENIGMY (1) Spojenci měli k dispozici repliku ENIGMY To nestačilo, byly potřeba klíče Polské Buiro Szyfrow Marian Rejewski Opakování je základ kryptoanalýzy Analýza velkého počtu zachycených zpráv Počátek šifrován vždy stejně => závislosti Odvození denního klíče Katalog závislostí vznikal celý rok
Dešifrování ENIGMY (2) Polsko – jediný stát schopný dešifrování Mechanický dešifrátor – „bomba“ Prosinec 1938 – 2 nové scramblery bylo potřeba 10x více bomb Leden 1939 – 10 kabelů na propoj. desce Polsko bylo bez informací Červen 1939 – Poláci se svěřují spojencům Srpen 1939 – Převoz „bomb“ do Anglie Září 1939 – Němci napadli Poslko
Dešifrování ENIGMY (3) Bletchley Park, Anglie Slabiny německé komunikace Opakování kódů zpráv (iniciály milenky, …) Nutnost střídání scramblerů Kabely propojovací desky nespojují sousední písmena Odhalení denního klíče zabralo několik hodin Obava: Co když Němci přestanou klíč zprávy opakovat???
Dešifrování ENIGMY (4) Alan Turing (1912 – 1954) King’s College v Cambridgi 1937 „O vyčíslitelnosti“ Univerzální Turingův stroj Analýza knihovny zpráv Spousta zpráv dané struktury Němci každý den v 6:00 posílali zprávy o počasí
Dešifrování ENIGMY (5) Nový typ „bomby“ Námořní Enigma odhalovala klíč na základě šifrového textu a předpokládaného obsahu zprávy Námořní Enigma 8 scramblerů místo standardních 5 otočný reflektor Spojenci nedokázali luštit Kradení kódových knih
Šifrování po americku Indiánský kmen Navahů Používají neobvyklý jazyk časování sloves podle předmětu i podmětu různé výrazy podle míry znalosti o věci Nebyli infiltrováni německými studenty Každá jednotka měla jednoho Navaha – radistu Přeložil anglickou zprávu do Navažštiny Zatelefonoval kolegovi Navahovi (nešifrovaně) Ten přeložil zprávu zpět do Angličtiny Japonci byli zcela bezradní
Kryptografie po WW2: Počítače 1943 Colossus dešifrovací stroj 1500 elektronek 1945 ENIAC považován za první počítač 1800 elektronek Lámání šifer = zkoušení obrovského množství možností počítače zvládnou velmi rychle konec klasických šifer Jednosměrné funkce základ moderní kryptografie výpočet funkční hodnoty je relativně snadný výpočet inverzní funkce je velmi náročný problém PNP
Budoucnost kryptografie V současné době „vítězí“ kryptografie před kryptoanalýzou Všechno stojí na předpokladu P NP a obtížnosti faktorizace velkých prvočísel Není matematicky dokázáno Každým dnem může veškeré šifrování zkrachovat na jediné myšlence, která zatím nikoho nenapadla (snad :-o )
Obcházení kryptografie Analýza provozu To, že A pošle (šifrovanou) B zprávu, má také vypovídací hodnotu Elektromagnetický odposlech Nezachycuje se šifrovaná zpráva, ale už úhozy do klávesnice nebo obrazovka PC Viry, trojští koně, …