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

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

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

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

Charakteristika tělesa

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

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í

Těleso racionálních funkcí

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

4 Počítání modulo polynom

Aritmetika s didaktikou I.

Operace s maticemi

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

Operace s maticemi. 19. února 2018

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

Střípky z LA Letem světem algebry

Lineární algebra : Lineární prostor

1 Báze a dimenze vektorového prostoru 1

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

Teorie grup 1 Příklad axiomatické teorie

1 Lineární prostory a podprostory

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

)(x 2 + 3x + 4),

Algebraické struktury s jednou binární operací

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

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

1 Linearní prostory nad komplexními čísly

Lineární algebra : Polynomy

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

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

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

Co je to univerzální algebra?

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

Matematika pro informatiku 2

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

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

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

Matice. a m1 a m2... a mn

Pomocný text. Polynomy

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

Matematická analýza 1

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

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.

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

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

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

PŘEDNÁŠKA 2 POSLOUPNOSTI

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

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:

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

1 Polynomiální interpolace

Základy matematiky pro FEK

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

ÚVOD DO ARITMETIKY. Michal Botur

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

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

Báze a dimenze vektorových prostorů

Základy elementární teorie čísel

Základy elementární teorie čísel

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

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

Úvod do lineární algebry

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

pochopení celé kapitoly je myšlenka, že těleso S lze považovat za vektorový prostor

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

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

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

6 Lineární geometrie. 6.1 Lineární variety

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

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

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

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

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

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

Lineární algebra : Polynomy

Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra.

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

0.1 Úvod do lineární algebry

Základy teorie grupoidů a grup

Základy matematiky pro FEK

Množiny, relace, zobrazení

Úvod do informatiky. Miroslav Kolařík

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Eliptické křivky a RSA

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

Lineární algebra : Skalární součin a ortogonalita

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í

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

Algebra II pro distanční studium

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

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

(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

1 Mnohočleny a algebraické rovnice

10. Vektorové podprostory

1 Mnohočleny a algebraické rovnice

0.1 Úvod do lineární algebry

Transkript:

MPI - 5. přednáška vytvořeno: 3. října 2016, 10:06 Doteď jsem se zabývali strukturami, které vzniknou přidáním jedné binární operace k neprázdné množině. Jako grupu jsme definovali takovou strukturu, kde má daná operace něco jako svou inverzi, což je analogie k tomu co známe z klasických množin čísel: odečítání je přičítání inverze podobně jako dělení je násobení inverzí. Ovšem abychom měli aritmetiku kompletní, potřebujeme stejně jako na (reálných) číslech jak sčítání s odečítáním, tak také násobení s dělením, abychom mohli definovat například už tak základní pojem jako je polynom. Proto se v této přednášce, po krátkém výletě po eliptických křivkách, budeme věnovat právě strukturám se dvěma binárními operacemi, zejména okruhům a tělesům, které jsou právě zobecněním reálných čísel s dobře definovaným sčítáním a násobením i operacemi k nim obrácenými. počítání nad eliptickými křivkami Co bude v dnešní přednášce tělesa, okruhy konečná tělesa obecně tělesa neprvočíselného řádu 1.1 Eliptické křivky Na eliptických křivkách se v kryptografii počítá s body (x, y), kde x a y jsou zbytkové třídy po dělení nějakým prvočíslem p. Operace, která se tradičně (ovšem bez zvláštního důvodu) značí + je definována následovně: Definice 1. Pro dva body P = (x 1, y 1 ) a Q = (x 2, y 2 ) definujeme P + Q = (x 3, y 3 ) takto: x 3 s 2 x 1 x 2 (mod p) y 3 s(x 1 x 3 ) y 1 (mod p), Počítání na eliptických křivkách 1

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 2 kde y 2 y 1 x s = 2 x 1 (mod p) pokud P Q, 3x 2 1 +a 2y 1 (mod p) pokud P = Q. Parametr a je převzat z rovnice dané eliptické křivky y 2 x 3 + ax + b (mod p), a, b Z p, kterou musí všechny body splňovat. Neutrální prvek O je uměle dodefinován tak, aby měl vlastnosti neutrálního prvku. Názorněji se dá vysvětlit počítání nad eliptickými křivkami, pokud bereme body (x, y) ze spojité roviny R 2. Eliptické křivky nad tělesem reálných čísel (1 ze 3) Definice 2. Eliptickou křivkou rozumíme množinu bodů splňující rovnici y 2 = x 3 + ax + b, kde pro reálné koeficienty a, b platí, že 4a 3 + 27b 2 0. Grupovou operaci sčítání pak lze definovat geometricky: viz Wolfram Demonstrations Project. Sčítáme-li dva body P = (x 1, y 1 ) a Q = (x 2, y 2 ), musíme najít průniky přímky procházející těmito body a danou eliptickou křivkou. Platí-li P Q, má přímka procházející body P a Q rovnici y = y 2 y 1 x 2 x 1 (x x 1 ) + y 1 = y 2 y 1 x 2 x 1 (x x 2 ) + y 2. Je-li P = Q = (x 1, y 1 ), má tečna směrnici danou derivací křivky v bodě x 1, což je y = x 3 + ax + b 3x 2 + a 2 x 3 + ax + b = {pro x = x 1} = 3x2 1 + a, 2y 1 Eliptické křivky nad tělesem reálných čísel (2 ze 3) a rovnice je tedy 3x 2 1 + a 2y 1 (x x 1 ) + y 1.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 3 Při sčítání bodů tedy hledáme průsečíky nějaké přímky y = sx + d, kde s je směrnice a d R, a eliptické křivky y 2 = x 3 + ax + b. To vede na řešení rovnice (sx + d) 2 = x 3 + ax + b, což je polynomiální rovnice 3. stupně a ta, jak víme, může mít 1 až 3 reálné kořeny (jedno řešení máme vždy ze zadání). Např. situace, kdy pro různé P a Q dostaneme pouze dva kořeny, odpovídá tomu, že Q = P a výsledkem součtu je neutrální prvek O. Obecně řešení této rovnice získáme takto: Definice 3. Pro dva body P = (x 1, y 1 ) a Q = (x 2, y 2 ) definujeme P + Q = (x 3, y 3 ) takto: x 3 = s 2 x 1 x 2 y 3 = s(x 1 x 3 ) y 1, y 2 y 1 x kde s = 2 x 1 pokud P Q, 3x 2 1 +a 2y 1 pokud P = Q. Eliptické křivky nad tělesem reálných čísel (3 ze 3) Na předchozích třech slidech (spisovně fóliích) jsme ukázali, jak se tvoří grupa nad množinou bodů roviny R R. Obecně ale místo množiny R můžeme vzít libovolné těleso, např. těleso Z p vede na konečnou cyklickou grupu popsanou na prvním slidu této sekce, ve které je problém diskrétního logaritmu těžko řešitelný. Eliptické křivky nad libovolným tělesem Co je to těleso si právě teď ukážeme: slovy řečeno je to množina s dvěma operacemi nazývanými tradičně sčítání a násobení, které umožňují definovat obdobu běžných aritmetických operací, jako jsou odečítání, dělení, mocnění, logaritmus,... 1.2 Okruhy a tělesa Neprázdná množina M s binární operací (resp. + při aditivním zápisu). Množiny s jednou binární operací

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 4 (M, ) resp. (M, +) grupoid pologrupa monoid grupa Abelovská grupa asociativita neutrální prvek inverzní prvky komutativita 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í. Množiny s dvěma binárními operacemi (M, +, ) okruh / ring obor integrity / integral domain těleso / field Definice okruhu Definice 4 (Okruh / Ring). Buď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 pologrupa, platí (levý a pravý) distributivní zákon: ( a, b, c M) (a(b + c) = ab + ac (b + c)a = ba + ca).

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 5 Dodržujeme standardní konvenci, že násobení má vyšší prioritu než sčítání. Názvosloví Buď R = (M, +, ) okruh. Je-li komutativní, je R komutativní okruh, (M, +) se nazývá aditivní grupa okruhu R, (M, ) se nazývá multiplikativní pologrupa 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. V libovolném okruhu (M, +, ) platí: Základní vlastnosti okruhu Levý i pravý distributivní zákon pro odečítání, tj. c(b a) = cb ca. Vskutku: ca + c(b a) = c(a + b a) = cb c(b a) = cb ca.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 6 Ž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 5 (dělitelé nuly). Buď R = (M, +, ) okruh. Libovolné nenulové prvky a, b M takové, že a b = 0, se nazývají dělitelé nuly. Definice 6 (obor integrity / integral domain). Komutativní okruh bez dělitelů nuly se nazývá obor integrity. Příklady integrity oborů (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, neboť např. ( 1 0 1 0 ) ( 0 0 1 1 ) = ( 0 0 0 0 ) Definice tělesa Definice 7 (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.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 7 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. V každém tělese máme definované všechny obvyklé aritmetické operace: [0.1cm] 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 8. Každé komutativní 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ý. Některé vlastnosti

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 8 Homomorfismus a izomorfismus Definice 9. 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á. 1.3 Konečná tělesa Konečná tělesa 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ášky). 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í (Z p, +) grupa Řád aditivní grupy (Z p, +) je prvočíslo p. 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}, ) Řád grupy Z p je p 1 a to není nikdy prvočíslo!

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 9 Z p je cyklická (tj. existuje v ní generátor). Počet generátorů závisí na p 1, a je roven počtu čísel nesoudělných s p 1, tedy ϕ(p 1). Nechť k < p dělí p 1, pak v Z p právě ty prvky, pro které a k = 1. existuje podgrupa řádu k a obsahuje Z p je grupou pouze pro prvočíselné p, jinak obsahuje dělitele nuly. Odbočka: Z n pro obecné n (1 ze 3) Násobení modulo neprvočíselné n netvoří s množinou {1, 2, 3,..., n} grupu: Skutečně, pokud existuje k > 1, které dělí n, tedy n = kl pro nějaké l, není tato množina uzavřená vůči násobení, neb kl = n 0 (mod n). Musíme tedy z množiny vyhodit všechny dělitele n. Dostaneme tak grupu? Nikoli nezbytně: uvažujme jakékoli číslo k soudělné s n, potom existují α, β Z tak, že αk + βn = gcd(k, n) = d > 1 a tedy αk + βn d (mod n). To ale znamená, že výsledek násobení αk je opět mimo množinu, ze které jsme museli vyhodit dělitele n a tedy i d! Musíme tedy z množiny vyhodit nejen všechny dělitele n ale i čísla soudělná. Stačí to už na grupu? Věta 10. Ano stačí. Jinými slovy: pro celé číslo n > 1 tvoří množina {k N 1 k < n, gcd(k, n) = 1} s operací násobení modulo n grupu. Tuto grupu značíme Z n. Odbočka: Z n pro obecné n (2 ze 3)

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 10 Důkaz. Uzavřenost: (sporem) buďte k a l nesoudělná s n a d = kl (mod n) nechť je s n soudělné, potom existuje j N tak, že kl = jn + d. Jelikož d je soudělné s n, existuje prvočíslo dělící jak d tak n, které musí dělit i k nebo l, což je spor. Asociativita je jasná (je to vlastnost operace, nikoli množiny!), neutrální prvek je 1. Inverze: je-li k nesoudělné s n, existují α, β Z tak, že αk + βn = 1 a tedy αk = 1 βn 1 (mod n), neboli α (mod n) je hledaná inverze k 1. Z 8 má řád 4 a obsahuje čísla 1, 3, 5, 7. Platí, že 32 5 2 7 2 1 (mod 8). Tedy žádný prvek není generátor a grupa Z 8 není cyklická. Odbočka: Z n pro obecné n (3 ze 3) Z 10 má řád 4 a obsahuje čísla 1, 3, 7, 9. Platí, že 32 9 (mod 10) a 3 3 7 (mod 10). Tedy 3 je generátor a Z 10 je cyklická. Pro jaká n je tedy grupa Z n cyklická? Věta 11. Grupa Z n je cyklická právě když je n rovno 2, 4, p k nebo 2p k pro nějaké liché prvočíslo p a celé k > 0. 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? Tělesa kterých řádů existují? Věta 12. Řádem konečného tělesa musí být mocnina prvočísla, tedy číslo zapsatelné jako p n, kde p je prvočíslo a n je přirozené číslo. Prvočíslo p se nazývá charakteristika. Navíc platí, že všechna tělesa řádu p n jsou navzájem izomorfní. 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!

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 11 1.4 Binární tělesa Při šifrované výměně delšího textu, jsou asymetrické šifry (RSA, Diffie-Hellman a spol.) neefektivní. Symetrické šifrování (více v předmětu MI-BHW) 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á šifra (block cipher) zvaná Advanced Encryption Standard (AES). Zde se seznámíme s matematickým podhoubím této metody. 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í. Bloková AES šifra Uvažujme těleso GF (2 8 ). Každý prvek lze reprezentovat jako 8 bitů, tedy např. 11010110, 01100011, atd. Kudy cesta nevede 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) = 10110101. 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.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 12 Násobení musíme definovat jinak! Abychom mohli sčítat, odčítat a násobit polynomy ve tvaru a i x i, potřebujeme pouze vědět jak sčítat, odčítat a násobit koeficienty. Obecně tedy můžeme vybudovat okruh polynomů podobný tomu, který známe z reálných resp. komplexních čísel, nad libovolným okruhem či tělesem. Věta 13. Buď K okruh. Potom množina polynomů s koeficienty z tohoto okruhu spolu s operacemi sčítání a násobení definovanými jako n n n a i x i + b i x i = (a i + b i )x i i=0 i=0 i=0 ( n ) ( m ) a i x i n+m b i x i = a j b k x i i=0 i=0 i=0 j+k=i tvoří komutativní okruh polynomů nad okruhem K. Tento okruh značíme K[x]. Okruh polynomů nad okruhem / tělesem po- Ireducibilní lynom Definice 14. Buď P (x) K[x] stupně alespoň 1. Řekneme, že P (x) je ireducibilní nad K, jestliže pro každé dva polynomy A(x) a B(x) z K[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í nad Q, 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! Neboť x 2 +1 = (x+1)(x+1) = x 2 + 2x + 1. 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). Ireducibilní polynom jako modul

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 13 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 P (x) ireducibilní (s ohledem na těleso, ze kterého bereme koeficienty), tvoří zbytky po dělení 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í definujeme po složkách modulo 2: (x 3 + x + 1) + (x 2 + x + 1) = x 3 + x 2. Násobení zavádíme jako 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. 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 Těleso GF (2 4 ) násobení 2. 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. 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ů. AES v tělese GF (2 8 )

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 14 1.5 Konečná tělesa shrnutí Řekli jsme si, že konečná tělesa mohou být pouze řádu p n, kde p je prvočíslo a n je kladné přirozené číslo. Jak zkonstruovat těleso řádu p n pro konkrétní p a n? Konstrukce všech možných konečných těles Případ n = 1: těleso prvočíselného řádu zkonstruujeme snadno, vezmeme množinu Z p s operacemi sčítání a násobení modulo p. Všechna ostatní tělesa řádu p jsou s tímto tělesem izomorfní. Případ n > 1: těleso neprvočíselného řádu p n zkonstruujeme jako množinu polynomů z okruhu Z p [x] stupně nejvýše n 1 s binárními operacemi Sčítání po složkách modulo p. Násobení v okruhu Z p [x] modulo zadaný polynom stupně n ireducibilní nad Z p. Co víme o aditivní grupě tělesa GF (p n ): GF (p n ): aditivní grupa Má řád p n. Neutrální prvek je 00 0 = 0 n. Inverze k prvku b 1 b 2 b n je (p b 1 )(p b 2 ) (p b n ). Není cyklická, dokonce pro každý prvek x platí, že p x = x. Co víme o multiplikativní grupě tělesa GF (p n ): GF (p n ): multiplikativní grupa Má řád p n 1. Neutrální prvek je 00 1 = 0 n 1 1. Inverzi ke každému prvku umíme nalézt pomocí EEA v polynomiálním čase. Je vždy cyklická (důkaz není moc složitý, ale zabral by nám moc času).

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 15 Abychom zkonstruovali těleso GF (p n ), potřebujeme alespoň jeden polynom stupně n ireducibilní nad Z p. Ireducibilní polynomy: co o nich víme Otázka: Existuje pro každé přirozené n > 1 a prvočíslo p polynom stupně n ireducibilní nad Z p? Odpověď: Ano, dokonce se přesně ví, kolik jich je. Věta 15 (Jacobson 2009). Mějme přirozené n > 1 a prvočíslo p. Označme N(p, n) počet monických polynomů stupně n ireducibilních nad Z p. Potom N(p, n) = 1 n d n µ(d)p n 1 d p n n q n,q prvoč. p n q. Ireducibilní polynomy: co o nich víme Kde µ je Möbiova funkce definovaná pro přirozené n > 0 takto: 1 pokud n neobsahuje čtverec prvočísla a má sudý počet prvoč. faktorů, µ(n) = 1 pokud n neobsahuje čtverec prvočísla a má lichý počet prvoč. faktorů, 0 pokud n obsahuje čtverec prvočísla. a monický polynom je takový polynom, který má za koeficient u nejvyšší mocniny jedničku. Otázka: Jak najít ireducibilní polynom? Ireducibilní polynomy: co o nich víme Poznat, jestli je daný polynom ireducibilní je snazší, než poznat jestli dané číslo je prvočíslo: Dokonce existují polynomiální algoritmy, které nejen rozhodnou o ireducibilitě, ale dokonce najdou rozklad na ireducibilní polynomy (obdoba prvočíselného rozkladu). Jedná se o Berlekampův a Cantor Zassenhausův algoritmus: detaily např. v D. Knuth, The Art of Computer Programming, Vol. 2, sekce 4.6.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 16 1.6 Něco o polynomech Lemma 16 (o dělení polynomů). Buď T komutativní těleso a f, g T [x] nenulové polynomy. Pek existují jednoznačně určené polynomy q, r T [x] takové, že f = qg + r, kde r je buď nulový nebo ostře menšího stupně než g. Důkaz. Zřejmé (tj. za domácí úkol). Něco o polynomech (1 ze 2) Buďte f, g T [x]. Potom polynom h T [x] nazveme největší společný dělitel polynomů f a g jestliže Něco o polynomech (2 ze 2) h dělí f i g, každý polynom, který dělí f i g, dělí také h. Tento polynom značíme gcd(f, g). Věta 17 (Bezoutova rovnost pro polynomy). Buďte f a g nenulové polynomy nad tělesem T. Pak existují polynomy u, v T [x] tak, že gcd(f, g) = uf + vg. Důkaz se provádí indukcí na součet stupňů polynomů f a g (lze aplikovat i na čísla, kde jsme to dokazovali jinak!!) a využívá faktu (rozmyslet!!), že pro libovolný polynom q T [x] platí gcd(f, g) = gcd(f qg, g). Označme stupeň f jako s a stupeň g jako t a předpokládejme bez újmy na obecnosti, že s t a že oba polynomy jsou monické 1. Je-li s + t = 0, je gcd(f, g) = 1, a tedy můžeme zvolit u(x) = 0 a v(x) = 1. Buď nyní s + t = n. Předpokládejme, že pro polynomy, jejichž součet stupňů je menší než n, tvrzení platí (= indukční předpoklad). Pokud g dělí f, je gcd(f, g) = g, a tedy můžeme opět zvolit u(x) = 0 a v(x) = 1. Předpokládejme tedy, že g nedělí f. Potom existují polynomy q, r T [x] takové, že f = qg + r, 1 U nejvyšší mocniny mají jednotkový prvek tělesa T. Takový polynom získáme vynásobením původního polynomu inverzí (pro násobení v tělese T ) k číslu u nejvyšší mocniny x.

KAPITOLA 1. MPI - 5. PŘEDNÁŠKA 17 kde r je ostře menšího stupně než g. Dle indukčního předpokladu (součet stupňů r a g je menší než n) existují ũ a ṽ tak, že gcd(r, g) = gcd(f qg, g) = ũr + ṽg = ũ(f qg) + ṽg, a proto můžeme položit u = ũ a v = ṽ ũq. Tím je věta dokázána.