Data Encryption Standard (DES)

Podobné dokumenty
Konstrukce šifer. Andrew Kozlík KA MFF UK

Symetrické šifry, DES

Proudové šifry a posuvné registry s lineární zpětnou vazbou


Šifrová ochrana informací věk počítačů PS5-1

Pokročilá kryptologie

Diffieho-Hellmanův protokol ustanovení klíče

Moderní metody substitučního šifrování

. Bezpečnost mobilních telefonů. David Machač

Šifrová ochrana informací věk počítačů PS5-2

Kryptografie založená na problému diskrétního logaritmu

Andrew Kozlík KA MFF UK

UKRY - Symetrické blokové šifry

Kryptografie a počítačová bezpečnost

Šifrová ochrana informací věk počítačů PS5-2

Vzdálenost jednoznačnosti a absolutně

symetrická kryptografie

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

vnější profesionál vnitřní profesionál organizace opakuje podsouvá

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

Hashovací funkce. Andrew Kozlík KA MFF UK

KM FJFI ČVUT. 1. dubna 2010

Šifrová ochrana informací věk počítačů KS - 5

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

7. Proudové šifry, blokové šifry, DES, 3DES, AES, operační módy. doc. Ing. Róbert Lórencz, CSc.

MFF UK Praha, 22. duben 2008

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

KPB. Režimy činnosti symetrických šifer - dokončení. KPB 2015/16, 7. přednáška 1

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

Téma 2 Principy kryptografie

BI-BEZ Bezpečnost. Proudové šifry, blokové šifry, DES, 3DES, AES,

Matematické základy šifrování a kódování

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH

PA159 - Bezpečnostní aspekty

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB

Návrh kryptografického zabezpečení systémů hromadného sběru dat

Lingebraické kapitolky - Analytická geometrie

Vlastimil KLÍMA * leden * nezávislý konzultant, v.klima (at) volny.cz, V tomto příspěvku

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

asymetrická kryptografie

Hardwarové bezpečnostní moduly API a útoky

Ochrana dat Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky

Bezpečnost šifry DES

Základy šifrování a kódování

Crypto-World Informační sešit GCUCMP ISSN

Datové struktury 2: Rozptylovací tabulky

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

HSM a problémy s bezpečností API Masarykova univerzita v Brně Fakulta informatiky

6. Cvičení [MI-KRY Pokročilá kryptologie]

ElGamal, Diffie-Hellman

Šifrová ochrana informací historie KS4

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

Informatika Ochrana dat

P 1 = P 1 1 = P 1, P 1 2 =

Postranními kanály k tajemství čipových karet

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Digitální podepisování pomocí asymetrické kryptografie

Úvod do zpracování signálů

Soustavy linea rnı ch rovnic

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky. Proudové šifry

2.7 Binární sčítačka Úkol měření:

Čínská věta o zbytcích RSA

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Ukázkyaplikacímatematiky

Sem vložte zadání Vaší práce.

Bezpečnostní mechanismy

Ukázky aplikací matematiky. Kapitola 1. Jiří Tůma. Úvod do šifrování. Základní pojmy- obsah. Historie šifrování

Karel Kohout 18. května 2010

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Šifrová ochrana informací historie PS4

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Historie Kryptografie

Lineární algebra : Násobení matic a inverzní matice

Matematika B101MA1, B101MA2

Autentizace uživatelů

SHANNONOVA TEORIE TAJNÉ KOMUNIKACE

8 Kořeny cyklických kódů, BCH-kódy

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

1 Linearní prostory nad komplexními čísly

II. Symetrické šifrovací systémy

Vytvoření uživatelské šablony

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Informatika / bezpečnost

IB112 Základy matematiky

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

Náhodný pokus Náhodným pokusem (stručněji pokusem) rozumíme každé uskutečnění určitého systému podmínek resp. pravidel.

Andrew Kozlík KA MFF UK

Algebra - druhý díl. Lenka Zalabová. zima Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita

Transkript:

Data Encryption Standard (DES) Andrew Kozlík KA MFF UK

Šifra DES DES je bloková šifra, P = C = {0, 1} 64 Klíče mají délku 64 bitů, ale jen 56 bitů je účinných: K = { b {0, 1} 64 8 i=1 b i+8n 1 (mod 2), 0 n 7 }, kde b = (b 1,, b 64 ) Čili rozdělíme-li klíč na 8 bajtů, pak každý má lichou paritu Šifra ignoruje bity klíče b 8, b 16, b 24, b 32, b 40, b 48, b 56 a b 64 DES byl navržen pro hardwarovou implementaci

Historie DESu Standard publikoval americký National Institute of Standards and Technology v roce 1977 Původní návrh z roku 1974 vycházel z šifry LUCIFER, kterou vyvinul Horst Feistel z IBM NSA si vynutila zkrácení klíče z navrhovaných 64 bitů na účinných 56 bitů Původně NSA usilovala o 48 bitů NSA vyměnila S-boxy, čímž učinila šifru odolnou proti diferenciální kryptoanalýze Diferenciální kryptoanalýza byla objevena Bihamem a Shamirem v r 1990, ale NSA ji znala již při designu Dlouho panovaly obavy, že změnou S-boxů si NSA vytvořila zadní vrátka Ve skutečnosti ale šifru vylepšila

Feistelovo schéma x 64 bitů IP 32 bitů L 0 R 0 32 bitů L 1 L 2 L 14 L 15 R 16 f f f f IP 1 64 bitů y R 1 R 2 R 14 R 15 L 16 DES k 64 bitů PC1 28 bitů C 0 D 0 28 bitů r 1 r 1 k 1 C 1 PC2 D 1 48 bitů r 2 r 2 k 2 C 2 D 2 PC2 r 15 r 15 k 15 C 15 D 15 PC2 r 16 r 16 k 16 C 16 D 16 PC2 Expanze klíče

Šifra DES Na otevřený text se nejdříve aplikuje bitová permutace IP IP (initial permutation): Usnadňuje hardwarovou implementaci při načítání OT přes 8bitovou sběrnici Nemá žádný význam pro bezpečnost šifry Výsledek permutace se rozpůlí na dvě 32bitové části L 0 a R 0, které projdou 16 rundami Feistelova schématu Na závěr se R 16 a L 16 spojí a provede se inverzní bitová permutace IP 1

Feistelovo schéma Pro i = 1,, 16: L i = R i 1 R i = L i 1 f (R i 1, k i ) Každá runda je invertovatelná bez ohledu na definici f : R i 1 = L i L i 1 = R i f (R i 1, k i ) = R i f (L i, k i ) V poslední rundě nedochází k záměně levé a pravé poloviny Výstupem schématu je (R 16, L 16 ) Důsledek: Dešifrování se provádí shodně jako šifrování, pouze s rozdílem, že se obrátí pořadí rundovních klíčů Důkaz: Vzorce pro dešifrování rundy jsou stejné jako pro šifrování, mají jen obráceně pojmenované proměnné L R Díky tomu, že se na závěr Feistelova schématu nezaměnila levá a pravá část, jsou proměnné obráceně přejmenované

Dešifrování L 14 R 14 f k 15 Důkaz obrázkem: Zřetězíme dvě Feistelova schémata, kde druhé má rundovní klíče v opačném pořadí než první Vidíme, že se vzájemně vyloučí L 15 f k 16 R 16 IP 1 R 16 IP R 15 L 16 L 16 f k 16 L 15 R 15 L 14 f k 15 R 14

S-boxy Šifra DES má 8 konstantních S-boxů {0, 1} 6 {0, 1} 4 Například S 1 vypadá takto: S 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Interpretace: První a šestý bit vstupu určují řádek a prostřední čtyři bity vstupu určují sloupec, kde leží výsledek Příklad: S 1 (101010) = 0110 101010 řádek 2 a sloupec 5 6 = (0110) 2 Řádky S-boxů jsou permutace hodnot {0,, 15} S-boxy jsou jediným nelineárním prvkem DESu a jádrem jeho bezpečnosti

Rundovní funkce f Funkce f sestává z posloupnosti čtyř operací: E: Bitová expanze, která duplikuje polovinu bitů (32 bitů 48 bitů) Přičtení 48bitového rundovního klíče operací XOR S 1,, S 8 : Vrstva osmi S-boxů (48 bitů 32 bitů) P: Bitová permutace na 32 bitech Permutace zajišťuje, že výstupní bity každého S-boxu putují v další rundě do čtyř jiných S-boxů

Rundovní funkce f f (R i, k i ) = P(S(k i E(R i ))) R i E k i S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 P f (R i, k i )

Feistelovo schéma x 64 bitů IP 32 bitů L 0 R 0 32 bitů L 1 L 2 L 14 L 15 R 16 f f f f IP 1 64 bitů y R 1 R 2 R 14 R 15 L 16 DES k 64 bitů PC1 28 bitů C 0 D 0 28 bitů r 1 r 1 k 1 C 1 PC2 D 1 48 bitů r 2 r 2 k 2 C 2 D 2 PC2 r 15 r 15 k 15 C 15 D 15 PC2 r 16 r 16 k 16 C 16 D 16 PC2 Expanze klíče

Expanze klíče Anglicky: key schedule Expanze klíče vytvoří z hlavního 64bitového klíče šestnáct 48bitových rundovních klíčů Permutace PC1 (permuted choice) Zahodí poslední bit každého bajtu Permutuje zbylé bity klíče (Nemá význam pro bezpečnost) Rozdělí je na dvě poloviny o velikosti 28 bitů Permutace PC2 Z 56 vstupních bitů vybere 48 a permutuje je Permutace r rotuje bity doleva o r pozic b 1 b 2 b 27 b 28 1 b 2 b 3 b 28 b 1

Expanze klíče Při expanzi klíče dochází pouze k permutacím a výběru bitů hlavního klíče Každý rundovní klíč je pouze výběrem určitých bitů hlavního klíče Každý bit hlavního klíče se dostane do přibližně 14 rundovních klíčů z celkových 16 Registry C a D se v průběhu expanze zcela protočí: i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 r i 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 16 i=1 r i = 28, čili C 16 = C 0 a D 16 = D 0 Šifrování dalšího bloku může přímo pokračovat, aniž by bylo třeba reinicializovat algoritmus expanze klíče

Dešifrování a expanze klíče Dešifrování se provádí krmením rundovních klíčů do Feistelova schématu v obráceném pořadí K tomuto stačí spustit expanzi klíče ve zpětném chodu Dešifrování lze tedy provést tak, že pouze nahradíme v expanzi klíče operaci r i operací r 17 i

Bezpečnost Všechny komponenty šifry kromě S-boxů jsou lineární ( g(x) g(y) = g(x y) ) Kdyby S-boxy byly lineární, pak by šifra šla popsat 64 lineárními rovnicemi o 64 + 56 proměnných Ukazuje se, že to není na újmu bezpečnosti Útok hrubou silou: Už v době návrhu existovaly obavy, že klíč je příliš krátký 1977 Diffie a Hellman navrhly stroj v ceně $20 000 000, který by provedl útok za 1 den 1993 Wiener navrhl stroj v ceně $1 000 000, který by provedl útok za 7 hodin 1998 Electronic Frontier Foundation sestavila stroj za $250 000, který provedl útok v 56 hodinách

Bezpečnost Diferenciální kryptoanalýza (chosen plaintext attack): Vyžaduje 2 49 volených otevřených textů a příslušných šifrových textů zašifrovaných stejným klíčem Nepraktické Lineární kryptoanalýza (known plaintext attack): Objevena v roce 1992 Mitsuruem Matsuim Vyžaduje 2 43 párů otevřených a šifrových textů Nepraktické 1994 První povedený útok na DES (12 CPU, 40 dnů se generovaly páry OT a ŠT, 10 dnů trvala kryptoanalýza)

Vlastnosti DESu Bitová negace je operace, která obrací hodnotu každého bitu Značíme ji pruhem: 1011 = 0100 Pro libovolné x P a k K platí DES(k, x) = DES(k, x) Negace klíče způsobí negace rundovních klíčů (ty se skládají z bitů hlavního klíče) Negace otevřeného textu způsobí negaci vstupu do obou větví Feistelova schématu V rundovní funkcí f se negace Ri a k i pokaždé vyruší: f (R i, k i ) = f (R i, k i ) Negace vstupu se tedy šíří celým Feitelovým schématem: L i f (R i, k i ) = L i f (R i, k i ) = L i f (R i, k i ) = R i+1

Útok hrubou silou Známe jeden pár OT a ŠT a provádíme útok hrubpu silou Kolik volání šifrovací funkce je třeba v průměru provést? Předpokládáme, že klíč byl zvolen náhodně s rovnoměrným rozdělením Postupně zkoušíme jednotlivé klíče k K a ověřujeme, zda y? = E(k, x) Pravděpodobnost, že k nalezení správného klíče bude třeba právě i pokusů je 1 K Střední hodnota počtu pokusů je tedy K i=1 1 K i = 1 K K ( K + 1) 2 = K + 1 2 V případě DESu tedy 2 55 volání šifrovací funkce

Cvičení Známe x, y 1 a y 2 takové, že y 1 = DES(k, x) a y 2 = DES(k, x) Popište útok, který odhalí klíč k s průměrnou časovou složitostí 2 54 šifrovacích operací DES

Meet-in-the-middle útok Known plaintext attack na součinové šifry S 2 S 1 Známe x a y takové, že y = E 2 (k 2, E 1 (k 1, x)) a chceme odhalit k 1 a k 2 Pro každý klíč k 1 K 1 spočteme E 1 (k 1, x) a sestrojíme vyhledávací tabulku, E 1 (k 1, x) k 1 ve které lze rychle vyhledávat podle prvního sloupce Pro každý klíč k 2 K 2 spočteme D 2 (k 2, y) a výsledek se pokusíme vyhledat v tabulce Pokud se výsledek podaří najít, pak máme čili y = E 2 (k 2, E 1 (k 1, x)) D 2 (k 2, y) = E 1 (k 1, x),

Meet-in-the-middle útok Časová složitost útoku je K 1 + 1 2 K 2 operací Sestrojení tabuly: K1 volání operace E 1 Vyhledávání v tabulce: 1 2 K 2 volání operace D 2 Paměťová složitost útoku je minimálně K 1 log 2 K 1 bitů (pro uložení pravého sloupce tabulky) Složitost útoku hrubou silou na S 2 S 1 by byla 1 2 K 1 K 2 operací Meet-in-the-middle útok vyměňuje časovou složitost za paměťovou Tuto vlastnost nazýváme time-memory tradeoff

Double DES Double DES je šifra s klíčem o délce 112 bitů definovaná 2DES ( (k 1, k 2 ), x ) := DES ( k 2, DES(k 1, x) ), pro k 1, k 2 K DES a x P DES Jedná se o součin šifer a ví se, že DES není idempotentní Meet-in-the-middle útok na 2DES: Časová složitost útoku je 2 56,6 šifrovacích operací Paměťová složitost útoku je minimálně 458 752 TB Z hlediska časové složitosti útoků tedy není 2DES o nic bezpečnější než DES

Triple DES Triple DES definujeme jako 3DES ( (k 1, k 2, k 3 ), x ) := DES ( k 3, DES 1 (k 2, DES(k 1, x)) ), pro k 1, k 2, k 3 K DES a x P DES Klíče k 1, k 2 a k 3 lze volit třemi způsoby: 1 Three-key triple DES: k 1, k 2 a k 3 jsou nezávislé klíče (168 bitů) 2 Two-key triple DES: k 1 a k 2 jsou nezávislé klíče a k 3 = k 1 (112 bitů) 3 Klasický DES: k 1 = k 2 = k 3 (56 bitů) Proč DES DES 1 DES spíše než DES DES DES? Zpětná kompatibilita Máme-li hardwarovou implementaci 3DESu, můžeme pomocí ní počítat i DES (k 1 = k 2 = k 3 )

Útoky na triple DES Meet-in-the-middle útok na two-key nebo three-key 3DES: Triple DES můžeme vyjádřit jako součin dvou šifer: DES a (DES 1 DES) Časová složitost útoku je 2 56 + 2 111 2 111 šifrovacích operací Paměťová složitost útoku je minimálně 458 752 TB Oorschotův-Wienerův útok na two-key triple DES (1990): Jedná se o known plaintext attack, ve kterém útočník zná 2 t párů OT a ŠT, pro libovolné t > 0 Časová složitost útoku je 2 120 t operací šifrování Paměťová složitost útoku je O(2 t ) Od roku 2016 NIST nedoporučuje požívat two-key triple DES pro šifrování

DES-X V roce 1984 navrhl Ron Rivest zesílení šifry DES přidáním tzv bělících klíčů: DES-X ( (k 1, k 2, k 3 ), x ) := k 3 DES(k 2, x k 1 ), kde x, k 1, k 3 {0, 1} 64 a k 2 K DES Klíč tak má celkem 64 + 56 + 64 = 184 bitů KPA hrubou silou má složitost jen 2 120 operací šifrování Stačí procházet k 1 a k 2 (64 + 56 bitů) a dopočítat k 3 Bělení zlepšuje odolnost proti lineární i diferenciální kryptoanalýze na 2 60 známých resp volených párů OT a ŠT Biryukovův-Wagnerův slide attack (2000): Known plaintext útok, ve kterém útočník zná 2 32,5 párů Časová složitost útoku je 2 87,5 operací šifrování