Pokročilá kryptologie

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

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

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

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


Aplikovaná numerická matematika - ANM

Symetrické šifry, DES

Data Encryption Standard (DES)

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

Konstrukce šifer. Andrew Kozlík KA MFF UK

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

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

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

Informatika Ochrana dat

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

II. Symetrické šifrovací systémy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ IMPLEMENTACE SYMETRICKÉ BLOKOVÉ ŠIFRY AES NA MODERNÍCH PROCESORECH

symetrická kryptografie

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

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

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

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

Pokročilá kryptologie

UKRY - Symetrické blokové šifry

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

Šifrová ochrana informací historie KS4

Ochrana dat Obsah. Kryptologie. Radim Farana Podklady pro výuku. Kryptologie. Kryptografické systémy, Systémy s tajným klíčem,

doc. Ing. Róbert Lórencz, CSc.

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

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

Šifrová ochrana informací historie PS4


5. Hašovací funkce, MD5, SHA-x, HMAC. doc. Ing. Róbert Lórencz, CSc.

Pokročilá kryptologie

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

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Téma 2 Principy kryptografie

Šifrová ochrana informací historie PS4

3. Aritmetika nad F p a F 2

PA159 - Bezpečnostní aspekty

Datové struktury 2: Rozptylovací tabulky

KM FJFI ČVUT. 1. dubna 2010

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Matematicko-fyzikální fakulta Univerzita Karlova v Praze BAKALÁŘSKÁ PRÁCE. Jan Říha. Konstrukce a kryptoanalýza AES (Advanced Encryption Standard)

Blokové šifry. Jan Přikryl. 16. prosince 2013

Globální matice konstrukce

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

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

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

Dynamické programování

Tonda Beneš Ochrana informace jaro 2018

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

ŠIFROVANÁ KOMUNIKACE MEZI DVĚMA FITKITY

Struktura a architektura počítačů (BI-SAP) 5

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ PROUDOVÝ POSTRANNÍ KANÁL BAKALÁŘSKÁ PRÁCE FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

Aplikovaná numerická matematika

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

4. Teorie informace, teorie složitosti algoritmů. doc. Ing. Róbert Lórencz, CSc.

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

IB112 Základy matematiky

IMPLEMENTACE ŠIFROVACÍCH ALGORITMŮ V JAZYCE VHDL

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty,

Násobení. MI-AAK(Aritmetika a kódy)

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

Základní pojmy teorie množin Vektorové prostory

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

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

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:

Afinní transformace Stručnější verze

Protiopatření eliminující proudovou analýzu

ŠIFROVACÍ METODA ZALOŽENÁ NA FRAKTÁLNÍ KOMPRESI. 1. Úvod. V posledních letech se ukázalo, že teorii fraktálů lze využít v mnoha teoretických

DEFINICE Z LINEÁRNÍ ALGEBRY

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

Základy moderní kryptologie - Symetrická kryptografie II.

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

[1] samoopravné kódy: terminologie, princip

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

Soustavy linea rnı ch rovnic

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Báze a dimenze vektorových prostorů

Ukázkyaplikacímatematiky

ALGEBRA. Téma 4: Grupy, okruhy a pole

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

C5 Bezpečnost dat v PC

DES KM FJFI ČVUT. 28. března 2011

III. Mody činnosti blokových šifer a hašovací funkce

0.1 Úvod do lineární algebry

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á.

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Pamět ová hierarchie, návrh skryté paměti 2. doc. Ing. Róbert Lórencz, CSc.

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

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

Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Martin Suchan. Porovnání současných a nových hašovacích funkcí

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

Bezpečnostní mechanismy

Strojový kód. Instrukce počítače

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

Soustavy lineárních rovnic

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

Transkript:

Pokročilá kryptologie DES a AES doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro novou fakultu ČVUT je spolufinancována Evropským sociálním fondem a rozpočtem Hlavního města Prahy v rámci Operačního programu Praha adaptabilita (OPPA) projektem CZ.2.17/3.1.00/31952 Příprava a zavedení nových studijních programů Informatika na ČVUT v Praze. Praha & EU: Investujeme do vaší budoucnosti R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 1 / 31

Obsah přednášky Bloková šifra DES AES R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 2 / 31

Blokové symetrické šifry (1) Bloková symetrická šifra Necht A je abeceda q symbolů, t N a M = C je množina všech řetězců délky t nad A. Necht K je množina klíčů. Bloková šifra: šifrovací systém (M, C, K, E, D), kde E a D jsou zobrazení, definující pro každé k K transformaci zašifrování E k a dešifrování D k tak, že zašifrování bloků OT m 1, m 2, m 3,..., kde m i M pro každé i N, probíhá podle vztahu c i = E k (m i ) pro každé i N. Dešifrování probíha podle vztahu m i = D k (c i ) pro každé i N. Pro blokovou šifru je podstatné, že všechny bloky OT jsou šifrovány toutéž transformací a všechny bloky ŠT jsou dešifrovány toutéž transformací. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 3 / 31

Blokové symetrické šifry (2) OT ŠT ŠT OT 0000 0111 0000 0010 0001 1110 0001 0111 0010 0000 0010 1001 0011 0100 0011 1110 0100 1001 0100 0011 0101 1101 0101 0110 0110 0101 0110 1010 0111 0001 0111 0000 1000 1100 1000 1111 1001 0010 1001 0100 1010 0110 1010 1100 1011 1111 1011 1101 1100 1010 1100 1000 1101 1011 1101 0101 1110 0011 1110 0001 1111 1000 1111 1011 Bloková šifra Převádí n-bitový OT na n-bitový ŠT. Blok o délce n-bitů vytváří 2 n různých bloků OT. Transformuje 2 n bloků OT na 2 n bloků ŠT. Pro n = 4 je 16 b OT převedeno na 16 b ŠT jednoduché prolomení. U jednoduché substituce můžeme 2. sloupec považovat za klíč o délce 64 b. Pro n-bitovou substituční šifru je klíč nx2 n bitový. Pro 64 bitovou šifru je klíč 64x2 64 = 2 70 b. Problém velkých klíčů řeší Feistelová bloková šifra R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 4 / 31

Blokové symetrické šifry (3) Feistelová bloková šifra Řeší problém velkých klíčů (její struktura). Aproximuje ideální blokovou šifru po velká n. Je složená šifra, která využíva posloupnost dvou resp. více šifer pro dosažení kryptografický silnější šifry. Redukuje délku klíče ideální blokové šifry. Využívá střídavě substituci a transpozici. Má parametry: velikost bloku, délka klíče, počet rund, algotitmus generování klíčů rund, složitost operací v rundě. Větší blok, větší délka klíče, větší počet rund, složitější algoritmus a složitější operace v rundě zvyšuji bezpečnost, ale snižuji rychlost šifrovaní a dešifrování. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 5 / 31

Blokové symetrické šifry (3) Feistelová bloková šifra (1) šifrovací systém LUCIFER (projekt H. Feistela), předchůdce DES (Data Encryption Standard), má 64 b blok a 128 b klíč v současné době se přechází na blok 128 bitů, který používá standard AES (není v něm použit princip Feistela). blokové symetrické šifry využívajíci principy algoritmů Feistelova typu umožňují postupnou aplikací relativně jednoduchých transformací na bázi nelineárních posuvných registrů vytvořit složitý kryptografický algoritmus. tento přístup je využíván také v jiných oblastech: zabezpečovací kódy R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 6 / 31

Blokové symetrické šifry (4) Definice Feistelův kryptosystém Necht množina zpráv M je složená ze všech možných 2n-tic V 2n prostoru a prostor K klíčů k je tvořen všechnymi možnými h-ticeme funkci {f 1, f 2,..., f h }, kde f i : V n V n pro každé i = 1, 2,..., h a kde C = V 2n je prostor zašifrovaných textů. Zobrazení T k : K V 2n V 2n, definované rekurentně vztahy m i+1 = m i 1 + f i (m i ), pro i = 1, 2,..., h T k (m) = (m h m h+1 ), kde m = (m 0 m 1 ) M, definuje Feistelův kryptosystem. Příklad: Pro m = (m 0 m 1 ) = (1001 1101) dostáváme postupně: c 1 = (1101 1110), kde m 2 = 1001 f 1 (1101) = 1001 0111 = 1110 c 2 = (1110 0000), kde m 3 = 1101 f 2 (1110) = 1101 1101 = 0000 f 1 a f 2 premutační funkce (konfuze), funkce xor (difuze) R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 7 / 31

DES (1) Algoritmus DES Veřejná soutěž (1977): šifrovací standard (FIPS 46-3) v USA pro ochranu citlivých, ale neutajovaných dat ve státní správě. Součást průmyslových, internetových a bankovních standardů. 1977: varování příliš krátký klíč 56b, který byl do původního návrhu IBM zanesen vlivem americké tajné služby NSA. DES intenzivní výzkum a útoky objeveny teoretické negativní vlastnosti jako: tzv. slabé a poloslabé klíče, komplementárnost a teoreticky úspěšná lineární a diferenciální kryptoanalýza. V praxi jedinou zásadní nevýhodou je pouze krátký klíč. 1998: stroj DES-Cracker, luštící DES hrubou silou. DES jako americký standard skončil (jen v "dobíhajících"systémech a kvůli kompatibilitě) a místo něj: Triple-DES, (1999, FIPS 46-3). 3DES (3xDES) - až 3x delší klíč. Od 26. 5. 2002 šifrovací standard nové generace AES. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 8 / 31

DES (2) Charakteristika DES (1) DES je iterovaná šifra typu E k16 (E k15 (... (E k1 (m i )... ))). Používá 16 rund a 64b bloky OT a ŠT. Šifrovací klíč k má délku 56 b (vyjadřuje se ale jako 64b číslo, kde každý 8. bit je bit parity) 56b klíč k je v inicializační fázi nebo za chodu algoritmu expandován na 16 rundovních klíčů k 1 až k 16, které jsou řetězci 48 bitů, každý z těchto bitů je některým bitem původního klíče k. Místo počátečního zašumění OT se používá bezklíčová pevná permutace Počáteční permutace a místo závěrečného zašumění permutace k ní inverzní (Počáteční permutace) 1. Po počáteční permutaci je blok rozdělen na dvě 32b poloviny (L 0, R 0 ). Každá ze 16 rund i = 1, 2,..., 16 transformuje (L i, R i ) na novou hodnotu (L i+1, R i+1 ) = (R i, L i f (R i, k i+1 )), liší se jen použitím jiného rundovního klíče k i. Ve smyslu definice Feistelova kryptosystému je v tomto případě h = 16 a 2n = 64. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 9 / 31

DES (3) OT Počáteční permutace L0 k1 R0 + f L1 = R0 k2 R1=L0 f(r0,k1) + f L2 = R1 ki R2=L1 f(r1,k2) + f L15 = R14 k16 R15=L14 f(r14,k15) Algoritmus DES Ri-1 32b E 48b 48b + ki 48b 1...6 7...12 43...48 S-box S1 S2 S8 1...4 5...8 29...32 32b P 32b f 48b 28b Klíč 64b 56b Rotace Rotace Kompresní permutace Klíč 28b + f f(ri-1,ki) R16=L15 f(r15,k16) L16 = R15 (Počáteční permutace) -1 ŠT R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 10 / 31

DES (4) Charakteristika DES (2) Po 16. rundě dochází ještě k výměně pravé a levé strany: (L 16, R 16 ) = (R 15, L 15 f (R 15, k 16 )) a závěrečné permutaci (Počáteční permutace) 1. Dešifrování probíhá stejným způsobem jako zašifrování, pouze se obrátí pořadí výběru rundovních klíčů. Rundovní funkce f Rundovní funkce se skládá z binárního načtení klíče k i na vstup. 48b klíč k i je vytvořen po kompresi ze 2 28b rotovaných částí původního klíče k, kde počet bitů rotace je závislý na čísle rundy. Tento klíč k i je dál xorován s expandovanou 32b částí R i 1, která je expanzně permutovaná v bloku E z 32b na 48b. Tato operace kromě rozšíření daného 32b slova také permutuje bity tohoto slova tak, aby se dosáhlo lavinového efektu. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 11 / 31

DES (5) Charakteristika DES (3) Následně je prováděna pevná, nelineární substituce na úrovni 6b znaků do 4b znaků s následnou transpozicí na úrovni bitů. Těmito operacemi se dosahuje dobré difúze i konfúze. Použité substituce se nazývají substituční boxy: S-boxy, jsou jediným nelineárním prvkem schématu. Pokud bychom substituce vynechali, mohli bychom vztahy mezi ŠT, OT a klíčem popsat pomocí operace binárního sčítání, tedy lineárními vztahy. Tato nelinearita je překážkou jednoduchého řešení rovnic, vyjadřující vztah mezi OT, ŠT a K. Následně 32b výsledné slovo z S-boxu je permutováno c bloku P. Tato permutace převádí každý vstupní bit do výstupu, kde žádbý vstupní bit se nepoužije 2. Nakonec se výsledek permutace sečte modulo 2 s levou 32b polovinou a začne další runda. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 12 / 31

DES (6) Vnitřní struktura DES (1) Počátečni permutace - IP a koncová permutace - IP 1 Nezvyšují bezpečnost DES. Lehce implementovane v HW, ale ne v SW. Původ permutací je pravděpodobně v snaze přeuspořádat OT do podoby, která je lépe dále zpracovatelná (souviselo to s technologickou úrovní, dnes to již neplatí). Příklad: 1 50 58 x 1 2 40 IP(x) 1 2 40 x 1 50 58 IP -1 (x) R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 13 / 31

DES (7) Vnitřní struktura DES (2) Počátečni permutace - IP a koncová permutace - IP 1 Počáteční permutace - IP Koncová permutace - IP -1 58 50 42 34 26 18 10 2 40 8 48 16 56 24 64 32 60 52 44 36 28 20 12 4 39 7 47 15 55 23 63 31 62 54 46 38 30 22 14 6 38 6 46 14 54 22 62 30 64 56 48 40 32 24 16 8 37 5 45 13 53 21 61 29 57 49 41 33 25 17 9 1 36 4 44 12 52 20 60 28 59 51 43 35 27 19 11 3 35 3 43 11 51 19 59 27 61 53 45 37 29 21 13 5 34 2 42 10 50 18 28 26 63 55 47 39 31 23 15 7 33 1 41 9 49 17 57 25 Realizace expanzní funkce E 32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 32 1 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 19 47 48 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 14 / 31

DES (8) Vnitřní struktura DES (3) Substituce pomocí S-boxů Příklad dekódovaní vstupu 011011 msb 1. 4. bit lsb 0 1 1 0 1 1 S-box S 5 1. 4. bit msb lsb 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 0 0010 1100 0100 0001 0111 1100 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001 0 1 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1100 0011 1001 1000 0110 1 0 0100 0010 0001 1011 1100 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110 1 1 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1100 0100 0101 0011 Jediny nelineární element DES, který provádí konfuzi Výběr převodních tabulek nebylo nikdy úplně odhalen R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 15 / 31

DES (9) Vnitřní struktura DES (3) S-boxy byli navržený podle nasledujícich kritérií: 1 Každý S-box má 6 vstupních bitů a 4 výstupní. 2 Žádný z výstupních bitů není lineární kombinací vstupních bitů. 3 Když vstupní msb = lsb a 4 prostřední bity se mění, potom každá možná 4-bitová výstupní hodnota se vyskytne jenom jednou. 4 Pokud jsou 2 vstupy do S-boxu rozílné jenom právě v jednom bitě, potom jejích výstup musí být rozdílny minimálně ve 2 bitech. 5 Pokud 2 vstupy do S-boxu jsou rozdílné ve 2 středních bitech, potom jejích výstup musí být rozdílný minimálně ve 2 bitech. 6 Pokud 2 vstupy do S-boxu se liši v prvních 2 bitech a jsou identické v posledních 2 bitech, potom musí být výstup rozdílný. 7 Pro jakýkoliv nenulový 6-bitový rozdílný vstupy je ne víc než 8 z 32 dvojíc vstupu 8 Nějaká kolize (žádný rozdil ve výstupech) 32-bitových výstupů 8 S-boxů je možná jenom pro 3 sousední S-boxy. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 16 / 31

DES (9) Vnitřní struktura DES (4) Permutace P P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 32-bitový vstup a 32-bitový výstup příma permutace žádný bit není vynechán zavádí difuzi R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 17 / 31

DES (10) Transformace klíče (1) Transformace klíče zahrnuje: Upraví se 64-bitový klíč na 56-bitový vynecháním každého 8. bitů parity. Vykoná se permutace klíče 56-bitový klíč se rozdělí na 28-bitové polovice, které s posouvají rotaci o 1 (1., 2. 9. 16. runda) nebo 2 bity vlevo (ostatní rundy). Rotace zabezpečuje vytvoření různých klíčů pro každou rundů. Kompresní permutace vybere z 56 bitů 48. Transformace a permutace klíče 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Kompresní permutace klíče 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 18 / 31

TripleDES (1) TripleDES TripleDES (3DES) prodlužuje klíč originální DES tím, že používá DES jako stavební prvek celkem 3 s 2 nebo 3 různými klíči. Nejčastěji se používá varianta EDE této šifry, která je definována ve standardu FIPS PUB 46-3 (v bankovní normě X9.52). Vstupní data OT jsou zašifrována podle vztahu ŠT= E K3 (D K2 (E K1 (OT ))), kde K 1, K 2 a K 3 jsou bud 3 různé klíče nebo K 3 = K 1. Varianta EDE byla zavedena z důvodu kompatibility při rovnosti všech klíčů 3DES = DES. Klíč 3DES je tedy bud 112 bitů (2 klíče) nebo 168 bitů (3 klíče). 3DES je spolehlivá klíč je dostatečně dlouhý a teoretickým slabinám (komplementárnost, slabé klíče) se dá předcházet 3DES a AES platný oficiální standard nahrazující DES. 3DES lze, jako jakoukoliv jinou blokovou šifru, použít v různých operačních modech (CBC mod 3DES-EDE-CBC). R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 19 / 31

TripleDES (2) Algoritmus 3DES OT Šifrování K 1 K 2 K 3 E K1 A D K2 B E K3 3DES-EDE ŠT Dešifrování K 3 K 2 K 1 ŠT B D K3 E K2 D K 1 A OT K 1 K 2 K 3 K 1 = K 3 K 2 K 1 = K 2 = K 3 3 x klíč = 168b 3DES 2 x klíč = 112b 3DES 1 x klíč = 56b DES R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 20 / 31

AES (1) AES (1) Po útocích hrubou silou na DES, americký standardizační úřad připravil náhradu - Advanced Encryption Standard (AES). 2.1. 1997 výběrové řízení na AES 15 kandidátů. Z 5 finalistů byl vybrán algoritmus Rijndael [rájndol] (autoři J. Daemen a V. Rijmen). Jako AES byl přijat s účinností od 26. května 2002 a byl vydán jako standard v oficiální publikaci FIPS PUB 197. AES je bloková šifra s délkou bloku 128 bitů, čímž se odlišuje od současných blokových šifer, které měly blok 64 bitový. AES podporuje tři délky klíče: 128, 192 a 256 bitů se částečně mění algoritmus (počet rund je po řadě 10, 12 a 14). Větší délka bloku a klíče zabraňují útokům, které byly aplikované na DES. AES nemá slabé klíče, je odolný proti známým útokům a metodám lineární a diferenciální kryptoanalýzy. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 21 / 31

AES (2) AES (2) Algoritmus zašifrování i odšifrování se dá výhodně programovat na různých typech procesorů, má malé nároky na pamět i velikost kódu a je vhodný i pro paralelní zpracování. AES bude pravděpodobně platným šifrovacím standardem několik desetiletí a bude mít obrovský vliv na počítačovou bezpečnost. Označíme-li délku klíče N k jako počet 32b slov, máme N k = 4, 6 a 8 pro délku klíče 128, 192 a 256 bitů. AES je iterativní šifra, počet rund N r se mění podle délky klíče: N r = N k + 6, tj. je to 10, 12 nebo 14 rund. Tato skutečnost odráží nutnost zajistit konfúzi vzhledem ke klíči. Algoritmus pracuje s prvky Galoisova tělesa GF(2 8 ) a s polynomy, jejichž koeficienty jsou prvky z GF(2 8 ). Bajt s bity (b 7,..., b 0 ) je proto chápán jako polynom b 7 x 7 + + b 1 x 1 + b 0 a operace "násobení bajtů"odpovídá násobení těchto polynomů modulo m(x) = x 8 + x 4 + x 3 + x 1 + 1. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 22 / 31

AES (3) Rundovní klíče Rundovní klíče AES využívá 4 + N r 4 rundovních 32b klíčů, které se definovaným způsobem derivují ze šifrovacího klíče. Před zahájením 1. rundy zašifrování se provede úvodní zašumění, kdy se na OT naxorují první 4 rundovní klíče (128b na 128b ) N r shodných rund (s výjimkou poslední, kdy se neprovede operace MixColumns), při kterých výstup z každé předchozí rundy slouží jako vstup do rundy následující. Tím dochází k postupnému mnohonásobnému zesložit ování výstupu. Runda (1) Na počátku každé rundy se vždy vstup (16 B) naplní postupně zleva doprava a shora dolů po sloupcích do matice 4x4 B A = (a ij ) i, j = 0, 1, 2, 3. Na každý bajt matice A se zvlášt aplikuje substituce, daná pevnou substituční tabulkou SubBytes. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 23 / 31

AES (4) Substitute bytes Transformace v přímem a inverzním tvaru pro přímou a inverzní substituci S-box organizován ve tvaru matice 16x16 (4b x 4b) pro transformaci vsech 8-bitových hodnot v matici je číslo řádku určeno 4 vyššími bity aktualného bytu a číslo sloupce je určeno 4 nižšími bity aktualneho bytu S-box je vyplněn tak, že každý byt se dá vypočítat jako multiplikatívní inverze v GF(2 8 ) modulo m(x) = x 8 + x 4 + x 3 + x + 1 a nula se tranformuje sama na sebe R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 24 / 31

AES (5) Shift Rows Transformace se aplikuje na řádky s jednotlivými byty 1. řádek zůstava beze změny, 2. řádek se posune o 1 místo do leva, 3. řádek se posune o 2 místa do leva a 3. řádek se posune o 3 místa doleva inverzní transformace vykonáva stejný posuv řádků, ale do prava Vzhledem k tomu, že první 4 byty OT jsou zapsány v prvním sloupci atd. jsou každého sloupce distribuované do 4 bytu různých sloupců, dochází úplnemu promíchání bytů OT - dochází k transpozici na úrovni bajtů. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 25 / 31

AES (6) Mix Columns Dále se na každý jednotlivý sloupec matice aplikuje operace MixColumns, která je substitucí 32 bitů na 32 bitů. Tuto substituci lze však popsat lineárními vztahy všechny výstupní bity jsou nějakou lineární kombinací vstupních bitů. Označíme-li jednotlivé bajty v rámci daného sloupce matice A (shora dolů) jako a 0 až a 3, pak výstupem budou jejich nové hodnoty b 0 až b 3, podle vztahů b 0 b 1 b 2 b 3 = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 Násobení je násobení prvků GF(2 8 ). Konstantní prvky tohoto pole jsou vyjádřeny hexadecimálně. a 0 a 1 a 2 a 3 R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 26 / 31

AES (7) Add Round Key Jako poslední operace rundy se vykoná transformace AddRoundKey, v rámci níž se na jednotlivé sloupce matice A zleva doprava naxorují 4 odpovídající rundovní klíče. Tím je jedna runda popsána a začíná další. Po poslední rundě se ŠT jen vyčte z matice B. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 27 / 31

AES (7) Algoritmus AES AES Struktura šifrování a dešifrování OT Klíč OT AddRoundKey Runda 1 SubBytes ShiftRows MixColumns AddRoundKey Runda 9 SubBytes ShiftRows MixColumns AddRoundKey Runda 10 SubBytes ShiftRows AddRoundKey W[0,3] KeyExpansion W[4,7] W[36,39] W[40,43] AddRoundKey InvSubBytes AddRoundKey Runda 10 InvMixColumns AddRoundKey InvSubBytes InvShiftRows Runda 9 InvMixColumns AddRoundKey InvSubBytes InvShiftRows Runda 1 AddRoundKey ŠT ŠT R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 28 / 31

AES (8) Při odšifrování se používají operace inverzní k operacím, použitým při zašifrování, nebot všechny jsou reverzibilní. Nelinearity v AES se objevují pouze v substituci SubBytes. V roce 2002 bylo zjištěno, že vzájemné vztahy výstupních (y1,..,y8) a vstupních (x1,..,x8) bitů lze popsat implicitními rovnicemi f(x1,..,x8,y1,..,y8) = 0 pouze druhého řádu. R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 29 / 31

AES (9) Key Expansion (1) Operace realizuje expanzi klíče s délkou 16 bytů = 128 bitů. Klíč ma 4 slova s délkou 4 byty. Při počte rund 10 je potřená expanze na 44 slov Proces expanze klíče k 0 k 4 k 8 k 12 k 1 k 5 k 9 k 13 k 2 k 6 k 10 k 14 k 3 k 7 k 11 k 15 w 0 w 1 w 2 w 3 f f + + + + w 4 w 5 w 6 w 7 R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 30 / 31

AES (10) Key Expansion (2) Operace tvořící funkci f Operace Rot Word realizuje cyklický posuv bytů slova w 3 o jednu pozici vlevo. Operace Sub Word realizuje substitucí posunutých bytů podle předpisu v S-boxe. Výsledek předchozích operací se XORuje s konstantou RC(j), které hodnoty jsou definované pro každou rundu. RC(j) = [B j, 0, 0, 0] i 1 2 3 4 5 6 7 8 9 10 B j 01 02 04 08 10 20 40 80 1B 36 R. Lórencz (ČVUT FIT) DES a AES MI-KRY, 2011, Předn. 3.-4. 31 / 31