Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

Podobné dokumenty
MPI - 5. přednáška. 1.1 Eliptické křivky

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

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

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Charakteristika tělesa

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n.

Věta o dělení polynomů se zbytkem

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Operace s maticemi. 19. února 2018

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Aritmetika s didaktikou I.

Operace s maticemi

Algebra 2 KMI/ALG2. Zpracováno podle přednášek prof. Jiřího Rachůnka a podle přednášek prof. Ivana Chajdy. slidy k přednáškám

Učební texty k státní bakalářské zkoušce Matematika Algebra. študenti MFF 15. augusta 2008

Eliptické křivky a RSA

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

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

Modulární aritmetika, Malá Fermatova věta.

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

Střípky z LA Letem světem algebry

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

Matematika IV - 2. přednáška Základy teorie grup

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

Matematika pro informatiku 2

Teorie grup 1 Příklad axiomatické teorie

Těleso racionálních funkcí

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

Úvod. Karel Klouda c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011

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

Lineární algebra Kapitola 1 - Základní matematické pojmy

1 Báze a dimenze vektorového prostoru 1

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

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

Nechť M je množina. Zobrazení z M M do M se nazývá (binární) operace

Algebraické struktury s jednou binární operací

Algebraická teorie diskrétního lineárního řízení vznikla jako speciální obor teorie

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

4 Počítání modulo polynom

Aritmetika s didaktikou I.

Matematika IV - 5. přednáška Polynomy

ElGamal, Diffie-Hellman

Základy matematiky pro FEK

Úvod do lineární algebry

)(x 2 + 3x + 4),

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

Co je to univerzální algebra?

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Hlubší věty o počítání modulo

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

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

Matematika IV - 5. přednáška Polynomy

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Okruhy, podokruhy, obor integrity, těleso, homomorfismus. 1. Rozhodněte, zda daná množina M je podokruhem okruhu (C, +, ): f) M = { a

Diskrétní logaritmus

Pokročilá kryptologie

Modulární aritmetika, Malá Fermatova věta.

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

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

Matematika IV - 3. přednáška Rozklady grup

Matematika IV - 3. přednáška Rozklady grup

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Hlubší věty o počítání modulo

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

Lineární algebra : Lineární prostor

Okruh Lineární rovnice v Z m Těleso Gaussova eliminace (GEM) Okruh Z m. Jiří Velebil: X01DML 19. listopadu 2007: Okruh Z m 1/20

1. Základní příklady a poznatky o monoidech a grupách

Západočeská univerzita v Plzni FAKULTA PEDAGOGICKÁ

Lineární algebra : Polynomy

3. Aritmetika nad F p a F 2

Princip rozšíření a operace s fuzzy čísly

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:

Algebra II pro distanční studium

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry

Lineární algebra : Úvod a opakování

0.1 Úvod do lineární algebry

Lineární algebra Operace s vektory a maticemi

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

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

4C. Polynomy a racionální lomené funkce. Patří mezi tzv. algebraické funkce, ke kterým patří také funkce s odmocninami. Polynomy

18. První rozklad lineární transformace

Úlohy k procvičování textu o svazech

Zimní semestr akademického roku 2014/ prosince 2014

Polynomy. Vlasnosti reálných čísel: Polynom v matematice můžeme chápat dvojím způsobem. 5. (komutativitaoperace )provšechnačísla a, b Rplatí

Množinu všech matic typu m n nad tělesem T budeme označovat M m n (T ), množinu všech čtvercových matic stupně n nad T pak M n (T ).

Trocha teorie Ošklivé lemátko První generace Druhá generace Třetí generace Čtvrtá generace O OŠKLIVÉM LEMÁTKU PAVEL JAHODA

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

1 Mnohočleny a algebraické rovnice

Zavedení a vlastnosti reálných čísel

Západočeská univerzita v Plzni

Pokročilá kryptologie

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

(1) Dokažte, že biprodukt je součin (a tím pádem i součet). Splňují-li homomorfismy. A B je izomorfismus stejně jako A B i+j

Matematika pro informatiku 1

Vysoké učení technické v Brně Fakulta informačních technologií. Regulární pologrupy. Semestrální práce do předmětu Algebra, Kombinatorika, Grafy

1 Linearní prostory nad komplexními čísly

Komutativní a nekomutativní polookruhy ve školské matematice. Commutative and non-commutative semi-rings in educational mathematics

Transkript:

MI-MPI, Přednáška č. 3 Karel Klouda karel.klouda@fit.cvut.cz c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

Množiny s jednou binární operací Neprázdná množina M s binární operací (resp. + při aditivním zápisu). (M, ) resp. (M, +) grupoid pologrupa monoid grupa Abelovská grupa asociativita neutrální prvek inverzní prvky komutativita

Množiny s dvěma binárními operacemi Pro většinu operací s čísly potřebujeme jak sčítat tak násobit. K aditivní grupě (M, +) přidáme ještě operaci násobení. (M, +, ) okruh / ring obor integrity / integral domain těleso / field

Definice okruhu Definice (Okruh / Ring) Bud te M neprázdná množina a + a binární operace. Řekneme, že R = (M, +, ) je okruh, pokud platí: (M, +) je Abelovská grupa, (M, ) je grupoid, platí (levý a pravý) distributivní zákon: ( a, b, c M) (a(b + c) = ab + ac (b + c)a = ba + ca). Dodržujeme standardní konvenci, že násobení má vyšší prioritu než sčítání.

Názvosloví Bud R = (M, +, ) okruh. Je-li asociativní, je R asociativní okruh, Je-li komutativní, je R komutativní okruh, (M, +) se nazývá aditivní grupa okruhu R, (M, ) se nazývá multiplikativní grupoid okruhu R, neutrální prvek grupy (M, +) se nazývá nulový prvek a značí se 0, inverzní prvek k a M pak značíme a, v okruhu můžeme definovat odečítání předpisem a b := a + ( b).

Příklady (N, +, ) není okruh, neb (N, +) není grupa, (Z, +, ) je okruh, triviální okruh je ({0}, +, ) (platí-li 0 0 = 0), množina (R n,n, +, ) čtvercových reálných matic se sčítáním po složkách a maticovým násobením je okruh, nulový prvek je nulová matice, množina všech polynomů (s komplexními / reálnými / celočíselnými koeficienty) je okruh, nulový prvek je nulový polynom p(x) = 0.

Základní vlastnosti okruhu V libovolném okruhu (M, +, ) platí levý i pravý distributivní zákon pro odečítání, tj. vskutku: c(b a) = cb ca. ca + c(b a) = c(a + b a) = cb c(b a) = cb ca. že násobení nulovým prvkem dává opět nulový prvek, tj. ( a M)(a 0 = 0 0 a = 0). vskutku: a 0 = a(a a) = aa aa = 0.

Obor integrity Definice (dělitelé nuly) Bud R = (M, +, ) okruh. Libovolné nenulové prvky a, b M takové, že a b = 0, se nazývají dělitelé nuly. Definice (obor integrity / integral domain) Asociativní a komutativní okruh bez dělitelů nuly se nazývá obor integrity.

Příklady oborů integrity (Z, +, ) je obor integrity, každý číselný okruh (M, +, ), kde M C a + a jsou klasické, je obor integrity, okruh (R n,n, +, ) není oborem integrity pro n 2, nebot např. ( ) ( ) ( ) 1 0 0 0 0 0 = 1 0 1 1 0 0

Definice tělesa Definice (těleso / field) Okruh T = (M, +, ) se nazývá těleso, jestliže (M \ {0}, ) je grupa. Tuto grupu nazýváme multiplikativní grupou tělesa T.

Definice tělesa Definice (těleso / field) Okruh T = (M, +, ) se nazývá těleso, jestliže (M \ {0}, ) je grupa. Tuto grupu nazýváme multiplikativní grupou tělesa T. Proč musíme vyjmout nulový prvek? Protože k nule neexistuje inverzní prvek, tj. nelze dělit nulou: 0 1 =?!. Všemi jinými prvky tělesa dělit umíme! dělení = násobení inverzním prvkem a b := a b 1 pro b 0.

Příklady těles Okruh celých čísel (Z, +, ) není těleso, neb v (Z \ {0}, ) chybí inverzní prvky. Okruh racionálních čísel (Q, +, ) je těleso. Dokonce nejmenší číselné těleso (s obvyklými aritmetickými operacemi). Nejmenší těleso je tzv. triviální těleso ({0, 1}, +, ) s operacemi danými násl. tabulkami: + 0 1 0 0 1 1 1 0 a 0 1 0 0 0 1 0 1 První tabulka odpovídá bitové operaci XOR a druhá AND, nebo také sčítání a násobení modulo 2.

Některé vlastnosti V každém tělese máme definované všechny obvyklé aritmetické operace: sčítání, odčítání, násobení, dělení a všechny z nich odvozené, jako mocnění, odmocňování, logaritmování,... Triviální těleso nám tyto všechny operace definuje nad jedním bitem. Později si ukážeme, jak je rozšířit nad libovolný počet bitů.

Některé vlastnosti V každém tělese máme definované všechny obvyklé aritmetické operace: sčítání, odčítání, násobení, dělení a všechny z nich odvozené, jako mocnění, odmocňování, logaritmování,... Triviální těleso nám tyto všechny operace definuje nad jedním bitem. Později si ukážeme, jak je rozšířit nad libovolný počet bitů. Věta Každé těleso je obor integrity. Důkaz. Jelikož je multiplikativní grupa tělesa (M \ {0}, ) uzavřená vůči násobení, platí pro všechna nenulová a, b, že jejich součin a b M \ {0} je opět nenulový.

Homomorfismus a izomorfismus Definice Zobrazení h z okruhu (resp. tělesa) R 1 do okruhu (resp. tělesa) R 2 je homomorfismus, jestliže je h homomorfismem příslušných aditivních a multiplikativních grupoidů (resp. grup). Je-li navíc h bijekce (prosté a na ), jedná se o izomorfismus. Izomorfní tělesa jsou v podstatě totožná.

Konečná tělesa / finite fields Těleso, které má konečný počet prvků, se nazývá konečné. Základní příklad konečného tělesa je množina (zbytkových tříd modulo p) Z p = {0, 1,..., p 1} s operacemi modulo prvočíslo p (viz minulá přednáška). Např. pro p = 5 dostáváme těleso s násl. operacemi + 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 a 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1

Aditivní grupa (Z p, +) Řád aditivní grupy (Z p, +) je prvočíslo p. (Rozmyslet!) Každý nenulový prvek je generátor a má tedy řád p (to platí pro všechny grupy s prvočíselným řádem). (Z p, +) je grupou i pro p, které není prvočíslo.

Multiplikativní grupa (Z p \ {0}, ) Multiplikativní grupu (Z p \ {0}, ) značíme Z p. Řád grupy Z p je p 1 a to není nikdy prvočíslo! Počet generátorů závisí na p 1, jak uvidíme dále. Z p je grupou pouze pro prvočíselné p, jinak obsahuje dělitele nuly.

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1 podgrupy: {1, 3, 4, 9, 10, 12},

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1 podgrupy: {1, 3, 4, 9, 10, 12}, {1, 5, 8, 12},

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1 podgrupy: {1, 3, 4, 9, 10, 12}, {1, 5, 8, 12}, {1, 3, 9}

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1 podgrupy: {1, 3, 4, 9, 10, 12}, {1, 5, 8, 12}, {1, 3, 9} {1, 12}

Příklad: p = 13 Existuje generátor? Zkusme dvojku... (mod 13) 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 4 8 3 6 12 11 9 5 10 7 1 podgrupy: {1, 3, 4, 9, 10, 12}, {1, 5, 8, 12}, {1, 3, 9} {1, 12} generátory: 2, 6, 11, 7

Vlastnosti Z p Věta Pro každé prvočíslo p platí: Z p je cyklická (tj. existuje v ní generátor), je-li a generátor, pak a k je také generátor, právě když gcd(k, p 1) = 1 (tj. k a p 1 jsou nesoudělná) důkaz na cvičení, počet generátorů je roven počtu čísel nesoudělných s p 1, tedy ϕ(p 1), kde ϕ je Eulerova funkce, necht k < p dělí p 1, pak v Z p existuje podgrupa řádu k a obsahuje právě ty prvky, pro které a k = 1. Tato věta platí pro libovolnou konečnou cyklickou grupu i neprvočíselného řádu.

Tělesa kterých řádů existují? Zatím jsme si ukázali pouze konstrukci konečných těles řádu p, kde p je prvočíslo. Existují tělesa libovolného řádu? Věta Existují pouze konečná tělesa řádu p n, kde p je prvočíslo a n je přirozené číslo. Prvočíslo p se nazývá charakteristika. Důsledek: neexistuje těleso s 6, 10, 12, 14,... prvky. Vezmeme-li p = 2 a n = 8, získáme těleso umožňující nám počítat v rámci jednoho bytu!

Problém diskrétního logaritmu Definice (problém diskrétního logaritmu v Z p ) Bud Z p grupa řádu p 1, α nějaký její generátor a β její prvek. Řešit problém diskrétního logaritmu znamená najít celé číslo 1 x p 1 takové, že α x β mod p Klasický logaritmus (o základu a) čísla b je řešení rovnice a x = b v tělese (R, +, ).

Výpočet diskrétního logaritmu? Není známý žádný rozumně rychlý algoritmus, řešící problém diskr. logaritmu, ale mocnit v Z p umíme rychle (viz dále). Rychlost známých algoritmů je zhruba úměrná p, což pro p délky 1024 bitů dává cca 2 512 operací. Získáváme tedy jednosměrnou / one-way funkci, kterou lze použít pro asymetrickou šifru: najít β α x mod p je lehké, známe-li x, α a p, najít x, známe-li β, α a p je velmi obtížné Pro konstrukci RSA byla použita jednosměrná funkce násobení prvočísel : násobit prvočísla je lehké a rychlé, hledat prvočíselný rozklad výsledku je složité.

Diffie-Hellman Key Exchange Inicializace: Alice si najde veliké prvočíslo p a nějaký generátor α grupy Z p. Zveřejní p a α. (najít velké prvočíslo a generátor nejsou lehké úkoly!) Alice zvolí soukromý klíč a {2,..., p 2} spočte veřejný klíč A α a mod p Bob zvolí soukromý klíč b {2,..., p 2} spočte veřejný klíč B α b mod p výměna veřejných klíču A a B spočítá k AB B a mod p spočítá k AB A b mod p

Princip Diffie-Hellman Key Exchange stojí na následujících faktech: Mocnění v Z p je komutativní a tedy vypočtené k AB je pro Alici i Boba stejné: k AB (α b ) a α ab mod p k AB (α a ) b α ab mod p, mocnění není výpočetně náročné, inverzní operace k mocnění, tedy diskrétní logaritmus, je výpočetně velmi náročné.

Efektivní mocnění Úkol: umocněte x na 50, tj. x 50 =? Hrubá síla: 50-krát vynásobím x, při mocnění obrovskými čísly nepoužitelné. Chytřeji: pouze 8 kroků 1 nás. 1 x sqr. & 1 nás. x 3 sqr. x 6 sqr. x 12 sqr. & nás. x 25 0 0 1 sqr. 0 x 50

Efektivní mocnění Úkol: umocněte x na 50, tj. x 50 =? Hrubá síla: 50-krát vynásobím x, při mocnění obrovskými čísly nepoužitelné. Chytřeji: pouze 8 kroků 1 nás. 1 x sqr. & 1 nás. x 3 sqr. x 6 sqr. x 12 sqr. & nás. x 25 0 0 1 sqr. 0 x 50 50 = 110010 2, tj. 110010 je zápis čísla 50 ve dvojkové soustavě a počet operací počet bitů ( 1, 5).

Square-and-multiply algorithm příklad Chci spočítat x 110010 2. krok 0: spočítám r = x 1 2 (tj. x) krok 1a: spočítám r = r 2 = x 10 2 (druhá mocnina = posunutí bitů doleva) krok 1b: spočítám r = r x = x 11 2 (nás. x = změna posl. bitu na 1) krok 2a: spočítám r = r 2 = x 110 2 krok 2b: nedělám nic, třetí bit je nula krok 4a: spočítám r = r 2 = x 110010 2 krok 4b: nedělám nic, poslední pátý bit je nula.

Square-and-multiply algorithm v Z p Input: mocněnec x, exponent H = (h t h t 1 h 1 h 0 ) 2 a modul p Output: x H mod p Inicializace: r = x Algoritmus: 1. FOR i = t 1, t 2,..., 1, 0 1.1 r r 2 mod p IF h i = 1 1.2 r r x mod p 2 RETURN r (průměrný) počet operací: t-krát krok 1.1 a (průměrně) (0, 5 t)-krát krok 1.2

Hledání inverzního prvku v Z p EEA Věta Bud te r 0 a r 1 přirozená čísla. Potom existují celá čísla s a t taková, že gcd(r 0, r 1 ) = sr 0 + tr 1. Speciálně, jsou-li r 0 a r 1 nesoudělná, platí 1 = gcd(r 0, r 1 ) = sr 0 + tr 1. Čísla s, t a gcd(r 0, r 1 ) lze najít pomocí rozšířeného Euklidova algoritmu / extended Euclidean algorithm (EEA). Nastudovat si a pochopit EEA je Váš domácí úkol! (viz Internet). EEA má plynomiální složitost.

Hledání inverzního prvku v Z p Úkol: najděte inverzní prvek k prvku r v grupě Z p Řešení: pomocí EEA najdu s a t tak, že sp + tr = 1. To jistě lze, neb prvočíslo p a r < p jsou nesoudělná čísla. Platí, že t je inverzní k r: sp + tr tr 1 mod p.

Symetrické šifrování Při kódované výměně delšího textu, jsou asymetrické šifry (RSA, Diffie-Hellman a spol.) neefektivní. Proto se používá symetrické šifrování, kde se předpokládá, že Alice a Bob znají nějaký společný soukromý klíč, který nikdo jiný nezná a který šifrování výrazně usnadní. Asymetrické šifry se použijí pouze k výměně tohoto společného soukromého klíče. Nejpoužívanější metoda je bloková cifra (block cipher) zvaná Advanced Encryption Standard (AES). Zde se seznámíme s matematickým podhoubím této metody.

Bloková šifra AES Kódovaný text si rozdělíme na bloky o (např.) 8 bitech. Ty zašifrujeme pomocí klíče tak, že dešifrování lze snadno provést pouze se znalostí toho samého klíče. Toto šifrování v AES je založeno na tom, že operace s n = 8 bity lze chápat jako aritmetické operace v konečném tělese s 2 n prvky pro n = 8. Tělesa s 2 n prvky zveme binární tělesa a značíme GF(2 n ) (jako Galois Fields). Ukážeme si, jak v takovýchto tělesech zavést operace sčítání a násobení.

Kudy cesta nevede Uvažujme těleso GF(2 8 ). Každý prvek lze reprezentovat jako 8 bitů, tedy např. 11010110, 01100011, atd. Sčítání: sčítání lze zavést po složkách modulo 2. Tj. 11010110 + 01100011 = (1 + 0 mod 2)(1 + 1 mod 2) (0 + 1 mod 2) = 10010101.

Kudy cesta nevede Uvažujme těleso GF(2 8 ). Každý prvek lze reprezentovat jako 8 bitů, tedy např. 11010110, 01100011, atd. Sčítání: sčítání lze zavést po složkách modulo 2. Tj. 11010110 + 01100011 = (1 + 0 mod 2)(1 + 1 mod 2) (0 + 1 mod 2) = 10010101. Neutrální (nulový) prvek je 0000000 a každý prvek je sám sobě inverzní: máme aditivní grupu. Násobení: násobení po složkách zavést nelze. V takovém případě by musel být jednotkový prvek roven 11111111 a neexistovala by inverze např. k 11111110. Násobení musíme definovat jinak!

Ireducibilní polynom Definice Bud P(x) polynom s celočíselnými koeficienty stupně alespoň 1. Řekneme, že P(x) je ireducibilní, jestliže pro každé dva polynomy A(x) a B(x) platí A(x) B(x) = P(x) (stupeň A(x) = 0 stupeň B(x) = 0). Ireducibilní polynomy jsou prvočísla mezi polynomy! Také jsou naprosto analogicky definovány a mají stejné vlastnosti. Příklad: x 2 + 1 je ireducibilní, x 2 1 = (x + 1)(x 1) není. Poznámka: x 2 + 1 je ireducibilní nad tělesem Q, ale není ireducibilní nad tělesem Z 2, kde se koeficienty počítají modulo 2! Nebot x 2 + 1 = (x + 1)(x + 1) = x 2 + 2x + 1.

Ireducibilní polynom jako modul Zavedeme počítání modulo polynom takto: A(x) mod P(x) = zbytek po dělení A(x) polynomem P(x). Výsledek je tedy polynom stupně ostře menšího než je stupeň modulu P(x). Příklad: pro A(x) = x 3 a P(x) = x 2 + 1 máme A(x) = x(x 2 + 1) + ( x) a tedy x 3 x mod x 2 + 1. Je-li je P(x) ireducibilní (s ohledem na těleso, ze kterého bereme koeficienty), tvoří zbytky po dělění P(x) grupu (pokud opět vyjmeme nulový polynom)

Těleso GF(2 4 ) Prvky GF(2 4 ) reprezentujeme jako polynomy stupně nanejvýš 3 s koeficienty h i z tělesa Z 2 : h 3 x 3 + h 2 x 2 + h 1 x + h 0 (h 3 h 2 h 1 h 0 ) 2. Sčítání po složkách modulo 2: (x 3 + x + 1) + (x 2 + x + 1) = x 3 + x 2.

Těleso GF(2 4 ) násobení Násobení modulo zvolený ireducibilní polynom, např. x 4 + x + 1. Příklad: násobení A(x) B(x) pro A(x) = x 3 + x 2 + 1 a B(x) = x 2 + x 1. krok vynásobím A(x) B(x) klasicky a koeficienty výsledku přepočtu modulo 2: A(x) B(x) = x 5 +2x 4 +x 3 +x 2 +x = {koef. mod 2} = x 5 +x 3 +x 2 +x 2. krok najdu zbytek po dělení P(x). Jelikož x 5 = x(x 4 +x+1)+(x 2 +x), platí x 5 x 2 +x mod x 4 +x+1 z čehož dostáváme x 5 +x 3 +x 2 +x (x 2 +x)+(x 3 +x 2 +x) x 3 mod x 4 +x +1. Neboli jsme spočítali, že 1101 0110 = 1000.

AES v tělese GF(2 8 ) Dle specifikace AES se násobení počítá modulo x 8 + x 4 + x 3 + x + 1. K reprezentaci prvků se tedy používá 8 (= stupeň polynomu výše) bitů.

Bonusové přednáškové body Spočítejte 69 999632 mod 113. Najděte inverzi k x 7 + x 6 + x 4 + x 2 + 1 při počítání v GF(2 8 ) s modulem x 8 + x 4 + x 3 + x + 1. Řešení i s výpočtem (či podrobným popisem toho jak jste se k výsledku dostali), mi pošlete na email karel.klouda@fit.cvut.cz Oceňuji kvalitu řešení, ale i rychlost bod(y) dostane pouze prvních cca 10 řešitelů. Aktuální stav řešení problému najdete na www.kloudak.eu/mpi.

Literatura J. Mareš, Algebra, skriptum FJFI více o okruzích, oborech integrity a tělesech Ch. Paar a J. Pelzl, Understanding Cryptography vše o Diffie-Hellmanovi a AES a mnohé o konečných tělesech R. Montowani, P. Raghavan, Randomized algorithms pravděpodobnostní algoritmy řešící některé dnes zmíněné problémy