Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces r 8. Šifrovací algoritmus AES Jan Paseka Ústav matematiky a statistiky Masarykova univerzita 6. prosince 2021 Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Potřeba AES O čem to bude 9 Tvorba klíčů O Potřeba a historie vzniku a -. AES 9 Šifrovací pro< • Potřeba AES □ t3 Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Uvod 1 Fl V současné době je otázka šifrování velice důležitou nejen z hlediska bezpečnosti a ochrany, ale také pro další rozvoj informačních technologií. Šifrování a další kryptografické postupy jsou v mnoha případech jedinou skutečně účinnou metodou, jak data chránit. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces Uvod I Pc Potřeba AES Fl V současné době je otázka šifrování velice důležitou nejen z hlediska bezpečnosti a ochrany, ale také pro další rozvoj informačních technologií. Šifrování a další kryptografické postupy jsou v mnoha případech jedinou skutečně účinnou metodou, jak data chránit. Šifrovací algoritmus AES (Advanced Encryption Standard) je současným průmyslovým šifrovacím standardem. Šifra AES nahradila dříve používanou šifru DES. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Uvod 1 Fl V současné době je otázka šifrování velice důležitou nejen z hlediska bezpečnosti a ochrany, ale také pro další rozvoj informačních technologií. Šifrování a další kryptografické postupy jsou v mnoha případech jedinou skutečně účinnou metodou, jak data chránit. Šifrovací algoritmus AES (Advanced Encryption Standard) je současným průmyslovým šifrovacím standardem. Šifra AES nahradila dříve používanou šifru DES. Její původní název je Rinjdael. Název vznikl přesmyčkou jmen jejích dvou belgických autorů Vincenta Rijnmana a Joana Daemena. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces Pn Potřeba AES Uvod I Fl V současné době je otázka šifrování velice důležitou nejen z hlediska bezpečnosti a ochrany, ale také pro další rozvoj informačních technologií. Šifrování a další kryptografické postupy jsou v mnoha případech jedinou skutečně účinnou metodou, jak data chránit. Šifrovací algoritmus AES (Advanced Encryption Standard) je současným průmyslovým šifrovacím standardem. Šifra AES nahradila dříve používanou šifru DES. Její původní název je Rinjdael. Název vznikl přesmyčkou jmen jejích dvou belgických autorů Vincenta Rijnmana a Joana Daemena. Autoři svoji šifru přihlásili 2. ledna 1997 na veřejnou soutěž o federální šifrovací algoritmus pořádanou Národním institutem standardů a technologii (NIST). , Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces U vod II Pc Potřeba AES Po pěti letech byla šifra AES schválena jako nejvhodnější z patnácti návrhů. Dne 26. května 2002 začala být ke svému účelu používána jako federální standard USA. AES je první šifra, dostupná široké veřejnosti, která je zároveň uznána Národní bezpečností agenturou NSA. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Uvod II Po pěti letech byla šifra AES schválena jako nejvhodnější z patnácti návrhů. Dne 26. května 2002 začala být ke svému účelu používána jako federální standard USA. AES je první šifra, dostupná široké veřejnosti, která je zároveň uznána Národní bezpečností agenturou NSA. V současnoti se využívá k šifrování elektronické pošty, elektronického bankovnictví, různých druhů dálkové autentizace, čipových karet, elektronických peněz, přenosu hovorů v síti GSM, signálu wi-fi, bluetooth a satelitů. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra O čem to bude O Popis šifrovacího algoritmu 9 Dešifrovací pro AES • Bloková šifra □ i3 Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces ■ Bloková šifra 1 AES je symetrická šifra, využívající bloky dat velké 128 bitů a klíče velikosti 725, 192 nebo 256 bitů. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra I AES je symetrická šifra, využívající bloky dat velké 725 bitů a klíče velikosti 725, 192 nebo 256 bitů. Velikost klíče ovlivňuje počet rund (může jich být 10, 12 nebo 74). Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra I AES je symetrická šifra, využívající bloky dat velké 128 bitů a klíče velikosti 128, 192 nebo 256 bitů. Velikost klíče ovlivňuje počet rund (může jich být 10, 72 nebo 14). Pro grafickou jednoduchost data uspořádáváme do matice 4x4 označované jako State (stav). Data jsou do matice vkládána po sloupcích zprava doleva. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra I AES je symetrická šifra, využívající bloky dat velké 128 bitů a klíče velikosti 128, 192 nebo 256 bitů. Velikost klíče ovlivňuje počet rund (může jich být 10, 72 nebo 14). Pro grafickou jednoduchost data uspořádáváme do matice 4x4 označované jako State (stav). Data jsou do matice vkládána po sloupcích zprava doleva. Prvky stavové matice (byty zapsané v hexadecimálním tvaru) jsou chápány jako polynomy a pracuje se s nimi modulo m(x) = x8 + x4 + x3 + x1 + 1. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra I AES je symetrická šifra, využívající bloky dat velké 128 bitů a klíče velikosti 128, 192 nebo 256 bitů. Velikost klíče ovlivňuje počet rund (může jich být 10, 72 nebo 14). Pro grafickou jednoduchost data uspořádáváme do matice 4x4 označované jako State (stav). Data jsou do matice vkládána po sloupcích zprava doleva. Prvky stavové matice (byty zapsané v hexadecimálním tvaru) jsou chápány jako polynomy a pracuje se s nimi modulo m(x) = x8 + x4 + x3 + x1 +1 .Platí tedy, že GF(28) = GF(2)(a), přičemž a splňuje rovnici a8 + (ŕ + a3 + a + 1 = 0. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra III Speciálně jeden byte prvku (b7,b6,b5,b4,b3,b2,^,bo) y^^bja1. i=0 odpovídá Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra III Speciálně jeden byte prvku (b7,b6,b5,b4,b3,b2,^,bo) odpovídá y^^bja1. i=0 Tímto způsobem můžeme byty násobit a sčítat. Pokud jsou nenulové, mají vždy inverzi, kterou pro byte b budeme značit Ď~1. Zároveň položíme 0~1 = 0. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra III Speciálně jeden byte prvku (b7,b6,b5,b4,b3,b2,^,bo) odpovídá y^^bja1. i=0 Tímto způsobem můžeme byty násobit a sčítat. Pokud jsou nenulové, mají vždy inverzi, kterou pro byte b budeme značit Ď~1. Zároveň položíme 0~1 = 0. Algoritmus se dělí na dva procesy, samotné šifrování a tvorbu klíčů. K šifrování jsou využívány čtyři procedury SubBytes, ShiftRows, MixColumns a AddRoundKey. Pro dešifrování jsou poté použity procedury inverzní. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Bloková šifra Bloková šifra III Speciálně jeden byte prvku (b7,b6,b5,b4,b3,b2,^,bo) odpovídá y^^bja1. i=0 Tímto způsobem můžeme byty násobit a sčítat. Pokud jsou nenulové, mají vždy inverzi, kterou pro byte b budeme značit Ď~1. Zároveň položíme 0~1 = 0. Algoritmus se dělí na dva procesy, samotné šifrování a tvorbu klíčů. K šifrování jsou využívány čtyři procedury SubBytes, ShiftRows, MixColumns a AddRoundKey. Pro dešifrování jsou poté použity procedury inverzní. Tvorba klíčů slouží k vytvoření nových klíčů z původního zadaného klíče. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces O čem to bude Q Tvorba klíčů • Tvorba nových klíčů □ - = Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů 1 Šifrovací klíč zadáváme na začátku, před započetím šifrovacího procesu. Může být různě dlouhý. Na jeho délce závisí počet provedených rund. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů 1 Šifrovací klíč zadáváme na začátku, před započetím šifrovacího procesu. Může být různě dlouhý. Na jeho délce závisí počet provedených rund. Kratší šifrovací klíč nám zajistí úsporu času, potřebného pro provedení šifrování. Delší klíč nám zvýší bezpečnost šifry, ale na úkor rychlosti. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů 1 Šifrovací klíč zadáváme na začátku, před započetím šifrovacího procesu. Může být různě dlouhý. Na jeho délce závisí počet provedených rund. Kratší šifrovací klíč nám zajistí úsporu času, potřebného pro provedení šifrování. Delší klíč nám zvýší bezpečnost šifry, ale na úkor rychlosti. Klíč zapisujeme do matice o rozměrech N x 4, kde N je rovno 4, 6 nebo 8 pro klíč dlouhý 128, 196 nebo 256 bitů. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů 1 Šifrovací klíč zadáváme na začátku, před započetím šifrovacího procesu. Může být různě dlouhý. Na jeho délce závisí počet provedených rund. Kratší šifrovací klíč nám zajistí úsporu času, potřebného pro provedení šifrování. Delší klíč nám zvýší bezpečnost šifry, ale na úkor rychlosti. Klíč zapisujeme do matice o rozměrech N x 4, kde N je rovno 4, 6 nebo 8 pro klíč dlouhý 128, 196 nebo 256 bitů. Pro vytvoření nových klíčů využijeme proceduru KeyExpansion. Nový klíč v prvním kroku vytvoříme z námi zadaného klíče. Další klíče se vytvářejí pomocí nově vytvořených klíčů. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů II Na začátku procesu tvorby klíče vezmeme poslední sloupek našeho klíče. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů II Na začátku procesu tvorby klíče vezmeme poslední sloupek našeho klíče. Prvky posuneme o jedna nahoru (první prvek přesuneme na spodek sloupce), všechny prvky sloupce nahradíme pomocí procedury Sub By tes (více o proceduře SubBytes v části "Šifrovací proces"). Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů II Na začátku procesu tvorby klíče vezmeme poslední sloupek našeho klíče. Prvky posuneme o jedna nahoru (první prvek přesuneme na spodek sloupce), všechny prvky sloupce nahradíme pomocí procedury Sub By tes (více o proceduře SubBytes v části "Šifrovací proces"). Operací Xor sečteme se sloupcem o indexu pole o 3 menší než je index našeho sloupce. Vzniklý sloupec ještě sečteme s příslušným sloupcem tabulky RCon. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů II Na začátku procesu tvorby klíče vezmeme poslední sloupek našeho klíče. Prvky posuneme o jedna nahoru (první prvek přesuneme na spodek sloupce), všechny prvky sloupce nahradíme pomocí procedury Sub By tes (více o proceduře SubBytes v části "Šifrovací proces"). Operací Xor sečteme se sloupcem o indexu pole o 3 menší než je index našeho sloupce. Vzniklý sloupec ještě sečteme s příslušným sloupcem tabulky RCon. Další tři sloupce spočítáme sečtením vždy nově vytvořeného sloupce a sloupce o indexu pole o 3 menším. Tento proces několikrát opakujeme. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů III Námi vytvořené klíče se později přičítají s poli State v průběhu procedury AddRoundKey (více o proceduře AddRoundKey v části "Šifrovací proces") Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces Tvorba nových klíčů III Námi vytvořené klíče se později přičítají s poli State v průběhu procedury AddRoundKey (více o proceduře AddRoundKey v části "Šifrovací proces") 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 01 02 04 08 10 20 40 80 1B 36 6C D8 AB 4D 9A 2F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Tabulka 1: RCon Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces Čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey O čem to bude Q Šifrovací proces • Čtyři procedury • Procedura SubBytes • Procedura ShiftRows • Procedura MixColumns • Procedura AddRoundKey Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes _ ShiftRows MixColumns AddRoundKey Čtyři procedury I Jak už bylo řečeno, k šifrovacímu procesu slouží čtyři procedury, které upraví zadaný vstup. State (AddRoundKey) / e Cipher Key \ initial round ( 1-SubBytes ) I C 2-ShiftRows T (3-MixColumns) (4-AddRoundKey) Round key 0 e 9 rounds ( SubBytes ) C _L ShiftRows 3 i / Round key 10 e \ final round □ t3 Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes _ ShiftRows MixColumns AddRoundKey Čtyři procedury II Na úvod se State (náš vstup) sečte operací Xor s námi zadaným klíčem. State (AddRoundKey) Cipher Key initial round ( 1-Sub Bytes ) ( 2-ShiftRows ) ^ I (3-MixColumns ) ^ I (4-AddRoundKey) Round key 0 e 9 rounds ( SubBytes ) _I_ ( ShiftRows ) I (AddRoundKey) i Round key 10 e final round Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey ShiftRows Čtyři procedury III Následuje 10-14 rund v závislosti na velikosti klíče. Během nich se vždy zopakují procedury SubBytes, ShiftRows, MixColumns a AddRoundKey. State ( AddRoundKey) Cipher Key e _ _ _ _ initial round ( 1-SubBytes ) ) I ( 2-ShiftRows ) (3-MixColumns) (4-AddRoundKey) Round key 0 9 rounds ( Sub Bytes ) C ShiftRows 1 (AddRoundKey) i Round key 10 e final round Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes _ ShiftRows MixColumns AddRoundKey Čtyři procedury IV Výjimku tvoří poslední runda, v níž se procedura MixColumns vynechává. State (AddRoundKey) / e Cipher Key \ initial round ( 1-SubBytes ) I C 2-ShiftRows I (3-MixColumns) (4-AddRoundKey) Round key 0 e 9 rounds ( SubBytes ) C _L ShiftRows _L 3 / Round key 10 e \ final round Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes I Procedura SubBytes je nelineární funkce, která transformuje jednotlivé byty pole State. Tato transformace se nazývá S-Box. Z každého bytu b = (by, £>6,65, £>4, £>3, b2, £h, b0)T pole State vytvoří S-Box nový byte b předpisem b = Aď_1 + c, kde A = /1 0 0 0 1 1 1 1 \ 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 /"»_ 0 1 1 1 1 1 0 0 0 j C — 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 V 0 0 0 1 1 1 1 1 V 0 / Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes II Příklad 4.1 Byte b = (0,0,0,0,0,0,1,1)' odpovídá prvku tělesa tvaru a + 1 a v hexadecimální notaci má zápis 03. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes II Příklad 4.1 Byte b = (0,0,0,0,0,0,1,1)1 odpovídá prvku tělesa tvaru a + 1 a v hexadecimální notaci má zápis 03. Snadno se ověří, že (a + 1 )"1 = a7 + a6 + a5 + a4 + a2 + a. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes II Příklad 4.1 Byte b = (0,0,0,0,0,0,1,1 )T odpovídá prvku tělesa tvaru a + 1 a v hexadecimální notaci má zápis 03. Snadno se ověří, že Tedy pak (a + 1 )~1 = a7 + a6 + a5 + a4 + a2 + a, 6"1 =(1,1,1,1,0,1,1,0)7 a v hexadecimální notaci má b~1 zápis F6. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes II Příklad 4.1 Byte b = (0,0,0,0,0,0,1,1 )T odpovídá prvku tělesa tvaru a + 1 a v hexadecimální notaci má zápis 03. Snadno se ověří, že Tedy pak (a + 1 )~1 = a7 + a6 + a5 + a4 + a2 + a. 6"1 =(1,1,1,1,0,1,1,0)7 a v hexadecimální notaci má £>~1 zápis F6. Zejména pak 6 = Ab"1 +c = (0,1,1,0,0,1,1,1) T Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes II Příklad 4.1 Byte b = (0,0,0,0,0,0,1,1 )T odpovídá prvku tělesa tvaru a + 1 a v hexadecimální notaci má zápis 03. Snadno se ověří, že Tedy pak (a + 1 )~1 = a7 + a6 + a5 + a4 + a2 + a. Ď"1 = (1,1,1,1,0,1,1,0)r a v hexadecimální notaci má £>~1 zápis F6. Zejména pak b = Ab~^ +c = (0,1,1,0,0,1,1,1) T a odpovídající zápis v hexadecimální notaci je 67. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces Čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura SubBytes III - substituční tabulka S-Box hex y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76 1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 CO 2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15 3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75 4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84 5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF 6 DO EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2 8 CD OC 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73 9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E OB DB A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79 B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08 C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A D 70 3E B5 66 48 03 F6 OE 61 35 57 B9 86 C1 1D 9E E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF F 8C A1 89 OD BF E6 42 68 41 99 2D OF BO 54 BB 16 Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces SubBytes AddRoundKey _ ShiftRows Procedura SubBytes IV - substituční tabulka S-Box hex 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76 1 CA 82 C9 7D FA 59 47 F0 AD A2 AF 9C A4 72 CO 2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15 3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75 ía< m 03" 16i jpc 13E 5A AO 52 3B D6 B3 29 E3 2F 84 5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF 6 DO EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2 8 CD OC 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73 9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E OB DB A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79 B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08 C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A D 70 3E B5 66 48 03 F6 OE 61 35 57 B9 86 C1 1D 9E E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF F 8C A1 89 OD BF E6 42 68 41 99 2D, 54 BB 16 s *0 O* Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces SubBytes AddRoundKey _ ShiftRows Procedura SubBytes IV - substituční tabulka S-Box hex ČT Ol 6cľ CA B7 04 Má 16 řádků 53 Každý \^7^\ pole Stí^^í 7C 82 FD C7 D1 77 Č9 93 23 00 7B 7Ď 26 C3 03'láCSl(ÄUpEl3E ED F2 36 18 20 6B 59 3F 96 FC 6F 47 F7 05 5A B1 en 8 A B D CD 60 E0 E7 BA 70 E1 8C A3 0C 81 32 C8 78 3E F8 A1 40 13 4F 3A 37 25 B5 98 89 8F EC DC OA 6D 2E 66 11 OD 92 5F 22 49 8D 1C 48 69 BF 9D 97 2A 06 D5 A6 03 D9 E6 38 44 90 24 4E B4 F6 8E 42 7 C5 F0 CC 9A A0 5B bajt (stejně jako F5 17 88 5C A9 C6 OE 94 68 _8_ 30 AD 34 07 52 6A 01 A5 12 ~3B CB 67 A2 E5 80 D6 BE _B^ 2B ÄF P[ E2 B3 39 FE 9Č 71_ ĚB 29 4A D_ D7 Ä4 D8 27 E3 4C. AB 72 3ľ B2 2F každý 58 76^ CO 75_ 84 CF prvek BC C4 46 C2 6C E8 61 9B 41 B6 A7 EE D3 56 DD 35 1E 99 DA 7E B8 AC F4 74 57 87 2D 21 3D 14 62 EA 1F B9 E9 10 64 DE 91 65 4B 86 CE FF 5D 5E 95 7A BD C1 55 54 F3 D2 19 73 OB DB E4 79 AE 08 8B 8A 1D 9E 28 DF 16 Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces SubBytes AddRoundKey _ ShiftRows Procedura SubBytes IV - substituční tabulka S-Box hex 1 0 63 CA B7 Má 16 ífačKi 53 Každý \^7^\ pole Stí^^í 7C 82 FD C7 D1 77 Č9 93 23 00 7B 7Ď 26 C3 03láCSl(ÄUpEl3E ED F2 36 18 20 6B 59 3F 96 FC 6F 47 F7 05 5A B1 en 8 CD A3 0C 40 13 8F EC 92 5F 9D 97 38 44 7 C5 F0 CC 9A A0 5B F5 17 _8_ 30 AD 34 07 52 6A 01 A5 12 ~3B CB bajt (stejně jako 67 A2 E5 80 D6 BE _B^ 2B ÄF P[ E2 B3 39 FE 9Č 71_ ĚB 29 4A D7 A4 D8 27 E3 4C. AB 72 3ľ B2 2F každý 58 76^ CO 75_ 84 CF prvek BC C4 B6 A7 DA 7E 21 3D 10 64 FF 5D Všechny prvky pole State nahradíme pomocí S-Boxu A B D EO E7 BA 70 E1 8C 32 C8 78 3E F8 A1 3A 37 25 B5 98 89 0A 6D 2E 66 11 OD 49 8D 1C 48 69 BF 06 D5 A6 03 D9 E6 24 4E B4 F6 8E 42 5C A9 C6 OE 94 68 C2 6C E8 61 9B 41 D3 56 DD 35 1E 99 AC F4 74 57 87 2D 62 EA 1F B9 E9 91 65 4B 86 CE 95 7A BD C1 55 54 F3 D2 19 73 ■OB DB E4 79 AE 08 8B 8A 1D 9E 28 DF 16 Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces SubBytes AddRoundKey _ ShiftRows Procedura SubBytes IV - substituční tabulka S-Box hex 1 0 63 CA B7 Má 16 ífačKi 53 Každý \^7^\ pole Stí^^í 7C 82 FD C7 D1 77 Č9 93 23 00 7B 7Ď 26 C3 03láCSl(ÄUpEl3E ED F2 FA 36 18 20 6B 59 3F 96 FC 6F 47 F7 05 5A B1 en 8 CD A3 0C 40 13 8F EC 92 5F 9D 97 38 44 7 C5 F0 CC 9A A0 5B F5 17 _8_ 30 AD 34 07 52 6A 01 A5 12 ~3B CB bajt (stejně jako 67 A2 E5 80 D6 BE _B^ 2B ÄF F1_ E2 B3 39 FE 9Č 71_ ĚB 29 4A D_ Ü7 A4 D8 27 E3 4C. AB 72 3ľ B2 2F každý 58 76 CO 75 84 CF prvek BC C4 B6 A7 DA 7E 21 3D 10 64 FF 5D Všechny prvky pole State nahradíme pomocí S-Boxu slomecič D BA 70 E1 8C 32 78 3E F8 A1 3A, 25 B5 98 89 0A Prvr)í čjfi^iK^yi^ó^ 2E 66 11 OD 1C 48 69 BF nfi o a myt co A6 03 D9 E6 B4 F6 8E 42 C6 0E 94 68 E8 61 9B 41 AP fiPlQ DD 35 1E 99 74 57 87 2D 1F B9 E9 95 4B 86 CE BD C1 55 54 F3 19 ■OB D2 73 DB FA 7Q gg šk čtyři At Do r J 8B 1D 28 8A 9E DF 16 Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces SubBytes AddRoundKey _ ShiftRows Procedura SubBytes IV - substituční tabulka S-Box hex 1 0 63 CA B7 Má 16 ífačKi 53 Každý \^7^\ pole Stí^^í 7C 82 FD C7 D1 77 Č9 93 23 00 7B 7Ď 26 C3 03láCSl(ÄUpEl3E ED F2 36 18 20 6B 59 3F 96 FC 6F 47 F7 05 5A B1 en 8 CD A3 0C 40 13 8F EC 92 5F 9D 97 38 44 7 C5 F0 CC 9A A0 5B F5 17 _8_ 30 AD 34 07 52 6A 01 A5 12 ~3B CB bajt (stejně jako 67 A2 E5 80 D6 BE _B^ 2B ÄF F1_ E2 B3 39 FE 9Č 71_ ĚB 29 4A D_ Ü7 A4 D8 27 E3 4C. AB 72 3ľ B2 2F každý 58 76 CO 75 84 CF prvek BC C4 B6 A7 DA 7E 21 3D 10 64 FF 5D Všechny prvky pole State nahradíme pomocí S-Boxu Prvrií čtgn slomecič Nap v r i0. BA 7fl 32 78 3A 25 íkli 0A AQ nß OA 2E 8C A1 89I0D 1C .48 BF rc co yyJy-A Ví/ C- A6 03 B4 F6 C6 OF E8 AP CO DD ir 74 r7 FA 7Q l—fť \l V ICS ■ 82 CD 0E DF 63 DF 35 6F FB 9E 96 A8 77 AC A8 1C F5 91 C2 9C Tabulka 2: Procedura SubBytes hex 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76 1 CA C9 7D FA 59 47 F0 AD A2 AF 9C A4 72 CO 2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15 3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75 4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84 5 53 D1 00 ED 20 FC B1 5B 6A BE 39 4A 4C 58 CF 6 DO EF AA FB 43 4D 33 85 45 F9 02 7F 5ff "9F AB Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces AddRoundKey _ ShiftRows Procedura ShiftRows I Při proceduře ShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doleva, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces AddRoundKey _ ShiftRows Procedura ShiftRows I Při proceduře ShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doleva, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces AddRoundKey _ ShiftRows Procedura ShiftRows I Při proceduře ShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doleva, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. Tato procedura nám při jejím použití ve více rundách zajistí vysokou difúzi. Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces AddRoundKey _ ShiftRows Procedura ShiftRows II Při proceduře ShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doleva, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. Historie AES ^ Tvorba klíčů Dešifrovací proces čtyři procedury MixColumns Popis AES Šifrovací proces AddRoundKey _ ShiftRows Procedura ShiftRows II Při proceduře ShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doleva, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. CB 1B 3D A5 CB 1B 3D A5 82 CD OE DF <^= CD OE DF 82 FB 9E 96 A8 <^= <^= 96 A8 FB 9E F5 91 C2 9C <^= <^= <= 9C F5 91 C2 Tabulka 3: Procedura ShiftRows Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura MixColumns I V proceduře MixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Operace se provádí modulo m(x) = x8 + x4 + x3 + x1 + 1. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura MixColumns I V proceduře MixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Operace se provádí modulo m(x) = x8 + x4 + x3 + x1 + 1. Přesněji sloupec sy- = (s0,y, s1?y, s2,y, s3j)T pole State budeme identifikovat s polynomem Sy(x) = Sqj + SÁjX + s2Jx2 + s3Jx3 g GF(28)[x]. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura MixColumns I V proceduře MixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Operace se provádí modulo m(x) = x8 + x4 + x3 + x1 + 1. Přesněji sloupec sy = (s0,y, s1?y, s2,y, s3j)T pole State budeme identifikovat s polynomem Sy(x) = Soj + SÁjX + s2Jx2 + s3Jx3 g GF(28)[x]. Procedura MixColumns převede sloupec sy na sloupec šy tak, ze pricemz Sy(x) = (sy(x) * a(x)) mod (x4 + 1), a(x) = 03 * x3 + 01 * x2 + 01 * x + 02. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura MixColumns II Jedná se o lineární proceduru v GF(28)[x], která provádí zajištění vysoké difúze ve sloupcích stavové matice. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura MixColumns II Jedná se o lineární proceduru v GF(28)[x], která provádí zajištění vysoké difúze ve sloupcích stavové matice. CB 1B 3D A5 " 02 03 01 01 " "CB" "CB" CD OE DF 82 =$>■ 01 02 03 01 CD 77 96 A8 FB 9E 01 01 02 03 96 8E 9C F5 91 C2 03 01 01 02 9C 3E Tabulka 4: Procedura MixColumns Tato procedura zajistí v každém kole závislost na klíči. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces Čtyři procedury SubBytes ShiftRows Procedura AddRoundKey I MixColumns AddRoundKey Jednotlivé prvky pole State se přičtou pomocí operace Xor ke stejným prvkům příslušného rundovního klíče. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces čtyři procedury SubBytes ShiftRows MixColumns AddRoundKey Procedura AddRoundKey I Jednotlivé prvky pole State se přičtou pomocí operace Xor ke stejným prvkům příslušného rundovního klíče. CB 79 6A 90 A0 88 23 2A 6B F1 49 BA 77 11 1F C1 A0 54 A3 6C 8D 45 BC AD 8E 5A A7 5D W FE 2C 39 76 70 76 9E 2B 3E 7A 5A 77 17 B1 39 05 29 CB 63 72 Tabulka 5: Procedura AddRoundKey Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes O čem to bude Q Dešifrovací proces • Procedura InvAddRoundKey • Procedura InvMixColumns • Procedura InvShiftRows • Procedura InvSubBytes Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces InvAddRoundKey InvShiftRows InvMixColumns InvSubBytes Procedura InvAddRoundKey Dešifrovací proces probíhá inverzně k šifrovacímu. Procedury po sobě následují v opačném pořadí, InvMixColumns se vynechává v první rundě. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces InvAddRoundKey InvShiftRows InvMixColumns InvSubBytes Procedura InvAddRoundKey Dešifrovací proces probíhá inverzně k šifrovacímu. Procedury po sobě následují v opačném pořadí, InvMixColumns se vynechává v první rundě. Jednotlivé prvky pole State se přičtou pomocí operace Xor ke stejným prvkům příslušného rundovního klíče. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces InvAddRoundKey InvShiftRows InvMixColumns InvSubBytes Procedura InvAddRoundKey Dešifrovací proces probíhá inverzně k šifrovacímu. Procedury po sobě následují v opačném pořadí, InvMixColumns se vynechává v první rundě. Jednotlivé prvky pole State se přičtou pomocí operace Xor ke stejným prvkům příslušného rundovního klíče. 6B F1 49 BA A0 88 23 2A CB 79 6A 90 8D 45 BC AD A0 54 A3 6C 77 11 1F C1 70 76 9E 2B W FE 2C 39 76 8E 5A A7 5D 29 CB 63 72 17 B1 39 05 3E 7A 5A 77 Tabulka 6: Procedura InvAddRoundKey Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes Procedura InvMixColumns V proceduře InvMixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces nvAddRoundKey nvShiftRows InvMixColumns InvSubBytes Procedura InvMixColumns V proceduře InvMixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Stejně jako v proceduře MixColumns se i zde operace provádí modulo m(x) = x8 + x4 + x3 + x1 + 1. □ s Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes Procedura InvMixColumns V proceduře InvMixColumns dojde ke změně jednotlivých sloupců pole State. Každý bajt se změní na novou hodnotu, která je funkcí všech čtyř bajtů sloupce. Stejně jako v proceduře MixColumns se i zde operace provádí modulo m(x) = x8 + x4 + x3 + x1 + 1. CB 79 6A 90 " 0E OB OD 09 " "CB" "CB 77 11 1F C1 09 0E OB OD 77 CD 8E 5A A7 5D OD 09 OE OB 8E 96 3E 7A 5A 77 OB OD 09 OE 3E 9C Tabulka 7: Procedura InvMixColumns Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes Procedura InvShiftRows Při proceduře InvShiftRows dojde k posunu v rámci řádků v poli State. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes Procedura InvShiftRows Při proceduře InvShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doprava, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes Procedura InvShiftRows Při proceduře InvShiftRows dojde k posunu v rámci řádků v poli State. První řádek zůstává stejný, druhý řádek se posune o jednu pozici doprava, třetí řádek o dvě pozice a čtvrtý řádek o tři pozice. CB 1B 3D A5 CB 1B 3D A5 CD OE DF 82 82 CD OE DF 96 A8 FB 9E FB 9E 96 A8 9C F5 91 C2 ^> =^> =^> F5 91 C2 9C Tabulka 8: Procedura InvShiftRows Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces vAddRoundKey InvShiftRows vMixColumns InvSubBytes InvSubBytes 1 1 Pro proceduru InvSubBytes byla vytvořena inverzní substituční tabulka InvS-Box. y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 OB 42 FA C3 4E 3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06 7 DO 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE FO B4 E6 73 9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 OE AA 18 BE 1B B FC 56 3E 4B C6 D2 79 20 9A DB CO FE 78 CD 5A F4 C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F D 60 51 7F A9 19 B5 4A OD 2D E5 7A 9F 93 C9 9C EF E A0 E0 3B 4D AE 2A F5 BO C8 EB BB 3C 83 53 99 61 F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 OC 7D Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces vAddRoundKey InvShiftRows vMixColumns InvSubBytes InvSubBytes II 1 Všechny prvky pole State nahradíme pomocí InvS-Boxu. První čtyři bity prvku označují řádek v tabulce InvS-Box, další čtyři sloupec. y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 OB 42 FA C3 4E 3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 00 8C BC D3 OA F7 E4 58 05 B8 B3 45 06 X 7 DO 2C 1E 8F CA 3F OF 02 C1 AF BD 03 01 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE FO B4 E6 73 9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 OE AA 18 BE 1B B FC 56 3E 4B C6 D2 79 20 9A DB CO FE 78 CD 5A F4 C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F D 60 51 7F A9 19 B5 4A OD 2D E5 7A 9F 93 C9 9C EF E AO EO 3B 4D AE 2A F5 BO C8 EB BB 3C 83 53 99 61 F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 OC 7D Historie AES Popis AES Tvorba klíčů Šifrovací proces Dešifrovací proces InvAddRoundKey InvMixColumns InvShiftRows InvSubBytes InvSubBytes III Například prvek "D4"ukazuje v S-Boxu na čtrnáctý řádek, čtvrtý sloupek a to je hodnota "19". y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 OB 42 FA C3 4E 3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06 7 DO 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE FO B4 E6 73 9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 OE AA 18 BE 1B B FC 56 3E 4B C6 D2 79 20 9A DB CO FE 78 CD 5A F4 C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F D 60 51 7F A9 19 B5 4A OD 2D E5 7A 9F 93 C9 9C EF E A0 E0 3B 4D AE 2A F5 BO C8 EB BB 3C 83 53 99 61 F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 OC 7D Historie AES Tvorba klíčů Dešifrovací proces Popis AES Šifrovací proces vAddRoundKey InvShiftRows vMixColumns InvSubBytes InvSubBytes IV 1 CB 1B 3D A5 59 44 8B 29 82 CD OE DF =$>■ 11 80 D7 EF FB 9E 96 A8 63 DF 35 6F F5 91 C2 9C 77 AC A8 1C Tabulka 9: Procedura InvSubBytes 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E3 39 82 9B 2F FF 87 34 8E 43 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 OB 42 FA C3 4E 3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06 7 DO 2C 1E 8F CA 3F OF 02 C1 AF BD 03 01 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF OE' FQ! pB4 €6 73 s *0 O*