Čtení: 40 minHodnotí se: minikvízy 4 a 5, písemka, ústní

3 Konečná tělesa

Varování 3.1 (Termíny)

Minikvíz 4 (konečná tělesa): středa 4. 11. ve 23:59. Minikvíz 5 (počítání v konečných tělesech): středa 18. 11. ve 23:59. Zpětně je splnit nejde a na zápočet potřebuješ aspoň 7 kvízů.

Kapitola vysvětluje látku a její otázky jsou moje. Otázky ze skutečných minikvízů neobsahuje.

Po přečtení umíš
  • poznat, kdy je struktura těleso, a najít inverzi rozšířeným Eukleidovým algoritmem
  • rozhodnout o ireducibilitě polynomu a vědět, kdy test kořenů nestačí
  • sestavit GF(pn)GF(p^n) a počítat v něm včetně inverze a rovnic
  • najít generátory multiplikativní grupy

V praxi na ní stojí například šifra AES, která počítá v tělese GF(28)GF(2^8) modulo x8+x4+x3+x+1x^8 + x^4 + x^3 + x + 1.

3.1 Ukázka: proč nestačí počítat modulo 4

Chceme čtyři prvky, se kterými jde sčítat, násobit a dělit. První nápad je Z4\mathbb{Z}_4:

2⋅2=4≡0(mod4).2 \cdot 2 = 4 \equiv 0 \pmod 4.

Dvě nenulová čísla dala nulu, takže 2 nemá inverzi a dělit jí nejde. Z4\mathbb{Z}_4 tedy těleso není.

Řešení je počítat s polynomy místo s čísly. Prvky budou 0, 1, x, x+10,\ 1,\ x,\ x+1 a násobit budeme „modulo“ polynom x2+x+1x^2 + x + 1, který roli prvočísla hraje mezi polynomy. Vyjde těleso se čtyřmi prvky. Přesně to si teď složíme krok za krokem.

3.2 Okruh a těleso

Definice 3.3 (Okruh)

Trojice (M,+,⋅)(M, +, \cdot) je okruh, pokud (M,+)(M, +) je abelovská grupa, (M,⋅)(M, \cdot) je monoid a platí oba distributivní zákony.

Definice 3.4 (Těleso)

Okruh je těleso, pokud (M∖{0},⋅)(M \setminus \{0\}, \cdot) je abelovská grupa. Lidsky: každý nenulový prvek jde invertovat, takže se dá dělit vším kromě nuly.

Příklady: Z\mathbb{Z} je okruh, ale ne těleso (2 nemá celočíselnou inverzi). Q\mathbb{Q} a R\mathbb{R} tělesa jsou.

Věta 3.5 (V tělese nejsou dělitelé nuly)

Pokud ab=0ab = 0, pak a=0a = 0 nebo b=0b = 0.

Proto Z6\mathbb{Z}_6 není těleso: 2⋅3=02 \cdot 3 = 0. Naopak Zp\mathbb{Z}_p je těleso právě pro prvočíslo pp.

3.3 Inverze v Zp\mathbb{Z}_p

Inverzi hledáme rozšířeným Eukleidovým algoritmem (EEA). Najdeme čísla α,β\alpha, \beta taková, že αk+βp=1\alpha k + \beta p = 1. Modulo pp pak zbyde αk≡1\alpha k \equiv 1, takže α\alpha je inverze kk.

Příklad 3.6 (Inverze 5 v Z17\mathbb{Z}_{17})

Dělíme se zbytkem:

17=3⋅5+2,5=2⋅2+1.17 = 3 \cdot 5 + 2, \qquad 5 = 2 \cdot 2 + 1.

Vyjádříme 1 zpětně:

1=5−2⋅2=5−2(17−3⋅5)=7⋅5−2⋅17.1 = 5 - 2 \cdot 2 = 5 - 2(17 - 3 \cdot 5) = 7 \cdot 5 - 2 \cdot 17.

Výsledek: 5−1=75^{-1} = 7. Zkouška: 5⋅7=35=2⋅17+15 \cdot 7 = 35 = 2 \cdot 17 + 1.

3.4 Polynomy a ireducibilita

Polynomy nad tělesem se sčítají, násobí a dělí se zbytkem stejně jako ve škole, jen koeficienty počítáme v Zp\mathbb{Z}_p. Stupně se při násobení sčítají.

Definice 3.7 (Ireducibilní polynom)

Polynom PP stupně aspoň 1 je ireducibilní nad TT, pokud ho nejde napsat jako součin dvou polynomů stupně aspoň 1. Je to obdoba prvočísla.

Věta 3.8 (Test pro stupeň 2 a 3)

Polynom stupně 2 nebo 3 je ireducibilní nad TT právě tehdy, když nemá v TT kořen.

Proč to platí: rozklad stupně 3 musí obsahovat činitel stupně 1 a ten dává kořen.

Příklad 3.9 (Ireducibilita nad Z5\mathbb{Z}_5)

Je P(x)=x3+2x+1P(x) = x^3 + 2x + 1 ireducibilní? Má stupeň 3, takže stačí dosadit všech pět hodnot:

xx 0 1 2 3 4
P(x) mod 5P(x) \bmod 5 1 4 3 4 3

Žádná nula, takže kořen nemá a polynom je ireducibilní.

Polynom x2+2x+2x^2 + 2x + 2 naopak dává pro x=1x = 1 hodnotu 5≡05 \equiv 0. Má kořen, takže ireducibilní není.

Varování 3.10 (Stupeň 4 a výš)

Pro stupeň aspoň 4 test nefunguje. Polynom x4+x2+1x^4 + x^2 + 1 nad Z2\mathbb{Z}_2 nemá kořen, a přesto x4+x2+1=(x2+x+1)2x^4 + x^2 + 1 = (x^2 + x + 1)^2. Tady musíš hledat i rozklad na polynomy stupně 2.

3.5 Konstrukce GF(pn)GF(p^n)

Definice 3.11 (Postup konstrukce)

Pro prvočíslo pp a n≥2n \ge 2:

  1. Vezmeme těleso T=ZpT = \mathbb{Z}_p.
  2. Najdeme polynom PP stupně nn ireducibilní nad TT.
  3. Prvky jsou všechny polynomy stupně nejvýš n−1n - 1. Je jich pnp^n.
  4. Sčítáme po koeficientech. Násobíme jako polynomy a výsledek vezmeme modulo PP.

Zápis prvků: polynom se píše jako řetězec koeficientů od nejvyšší mocniny. V GF(32)GF(3^2) znamená 21 polynom 2x+12x + 1. V GF(23)GF(2^3) znamená 010 polynom xx.

Proč musí být PP ireducibilní: kdyby P=ABP = AB, pak by AA a BB byly nenulové prvky se součinem 0. Vznikli by dělitelé nuly stejně jako v Z4\mathbb{Z}_4.

Věta 3.12 (Které řády existují)

Řád konečného tělesa je vždy mocnina prvočísla pnp^n a všechna tělesa téhož řádu jsou izomorfní. Těleso se 6, 10, 12, 14, 15 nebo 18 prvky proto neexistuje.

Číslo pp se nazývá charakteristika tělesa.

Příklad 3.13 (Tabulka GF(4)GF(4))

Počítáme modulo x2+x+1x^2 + x + 1.

Z x2+x+1=0x^2 + x + 1 = 0 plyne nad Z2\mathbb{Z}_2 pravidlo x2=x+1x^2 = x + 1. Tím se zbavíme každého x2x^2:

  • 10⋅10=x⋅x=x+1=1110 \cdot 10 = x \cdot x = x + 1 = 11
  • 10⋅11=x2+x=(x+1)+x=1=0110 \cdot 11 = x^2 + x = (x + 1) + x = 1 = 01
  • 11⋅11=x2+2x+1=x2+1=x=1011 \cdot 11 = x^2 + 2x + 1 = x^2 + 1 = x = 10
⋅\cdot 01 10 11
01 01 10 11
10 10 11 01
11 11 01 10

Každý řádek obsahuje každý prvek právě jednou, takže inverze existují: 10−1=1110^{-1} = 11.

Příklad 3.14 (Násobení v GF(16)GF(16))

Počítáme modulo P=x4+x+1P = x^4 + x + 1.

Spočítejme 1101⋅01101101 \cdot 0110.

  1. Přepíšeme: (x3+x2+1)(x2+x)(x^3 + x^2 + 1)(x^2 + x).
  2. Roznásobíme nad Z2\mathbb{Z}_2: Q=x5+x3+x2+xQ = x^5 + x^3 + x^2 + x.
  3. Vydělíme PP: Q=x⋅P+x3Q = x \cdot P + x^3.
  4. Zbytek je x3x^3, tedy výsledek je 1000.

Není to bitový AND po složkách, který by dal 0100.

3.6 Inverze v GF(pn)GF(p^n)

Postup je stejný jako v Zp\mathbb{Z}_p, jen dělíme polynomy.

Příklad 3.15 (Inverze v GF(9)GF(9))

Počítáme modulo P=x2+2x+2P = x^2 + 2x + 2 a hledáme inverzi prvku 20.

Označme A=2xA = 2x.

  1. Vydělíme: P=(2x+1)⋅A+2P = (2x + 1) \cdot A + 2. Zbytek je konstanta 2.
  2. Vyjádříme: 2=P−(2x+1)A2 = P - (2x + 1)A.
  3. Vynásobíme inverzí zbytku, 2−1=22^{-1} = 2 v Z3\mathbb{Z}_3: 1=2P−2(2x+1)A1 = 2P - 2(2x + 1)A.
  4. Modulo PP zmizí první člen a −2≡1-2 \equiv 1, takže 1≡(2x+1)A1 \equiv (2x + 1)A.

Výsledek: (20)−1=21(20)^{-1} = 21.

Zkouška s x2=x+1x^2 = x + 1: 2x(2x+1)=4x2+2x=x2+2x=(x+1)+2x=12x(2x + 1) = 4x^2 + 2x = x^2 + 2x = (x + 1) + 2x = 1.

Varování 3.16 (Zbytek nemusí být 1)

EEA často skončí jinou konstantou. Celou rovnost pak vynásob její inverzí, jinak máš špatný výsledek.

3.7 Grupy uvnitř tělesa

Aditivní grupa GF(pn)GF(p^n) má řád pnp^n a pro n>1n > 1 není cyklická: sečteš-li libovolný prvek pp-krát, dostaneš 0, takže žádný prvek nemá řád pnp^n.

Multiplikativní grupa má řád pn−1p^n - 1 a je vždy cyklická. Generátorů je φ(pn−1)\varphi(p^n - 1).

Příklad 3.17 (Generátory GF(9)GF(9))

Počítáme modulo x2+2x+2x^2 + 2x + 2.

Grupa má řád 8, takže generátory jsou φ(8)=4\varphi(8) = 4. Zkusíme g=10g = 10, tedy xx, a násobíme s pravidlem x2=x+1x^2 = x + 1:

kk 0 1 2 3 4 5 6 7
gkg^k 01 10 11 21 02 20 22 12

Vyšlo všech 8 nenulových prvků, takže 10 je generátor. Ostatní jsou gkg^k pro kk nesoudělná s 8, tedy k=3,5,7k = 3, 5, 7: 21, 20, 12.

Řád prvku dělí řád grupy (Lagrangeova věta). V grupě řádu 8 může mít prvek jen řád 1, 2, 4 nebo 8, takže stačí ověřit g4≠1g^4 \ne 1.

3.8 Typické chyby

3.9 Kvíz

Kvíz

1. Existuje těleso se 6 prvky?
2. Kolik je inverze 5 v Z7\mathbb{Z}_7?
3. Který polynom je ireducibilní nad Z2\mathbb{Z}_2?
4. Polynom stupně 4 nad Z3\mathbb{Z}_3 nemá kořen. Co z toho plyne?
5. Co platí v GF(24)GF(2^4)? Může být správně více možností, ale také žádná.
6. Kolik generátorů má multiplikativní grupa GF(52)GF(5^2)?
7. Je aditivní grupa GF(9)GF(9) cyklická?
8. V GF(23)GF(2^3) modulo x3+x+1x^3 + x + 1 spočítej 011⋅011011 \cdot 011.
9. V GF(23)GF(2^3) modulo x3+x+1x^3 + x + 1 spočítej 100⋅011100 \cdot 011.
10. Vysvětli vlastními slovy, proč musí být polynom PP v konstrukci ireducibilní.
Ukázat řešeníKdyby P=ABP = AB se stupni aspoň 1, byly by AA i BB nenulové prvky stupně menšího než nn a jejich součin by modulo PP dal 0. Těleso nemá dělitele nuly, takže by to těleso nebylo.

3.10 Příklady na procvičení

Cvičení 3.18

V tělese Z263\mathbb{Z}_{263} najdi inverzi k 112.

Řešení

EEA dá 23⋅263+(−54)⋅112=123 \cdot 263 + (-54) \cdot 112 = 1, takže 112−1=−54≡209(mod263)112^{-1} = -54 \equiv 209 \pmod{263}.

Cvičení 3.19

Rozhodni, zda je x4+x3+x+2x^4 + x^3 + x + 2 ireducibilní nad Z3\mathbb{Z}_3.

Řešení

Hodnoty pro 0, 1, 2 jsou 2, 2, 1, takže kořen nemá. Stupeň je ale 4, proto to nestačí. Polynom se rozkládá: (x2+x+2)(x2+1)(x^2 + x + 2)(x^2 + 1). Není ireducibilní.

Cvičení 3.20

V GF(23)GF(2^3) modulo x3+x+1x^3 + x + 1 spočítej 100⋅(010)−1+010⋅010100 \cdot (010)^{-1} + 010 \cdot 010.

Řešení

Platí x(x2+1)=x3+x=(x+1)+x=1x(x^2 + 1) = x^3 + x = (x + 1) + x = 1, tedy (010)−1=101(010)^{-1} = 101.

Dále 100⋅101=x4+x2100 \cdot 101 = x^4 + x^2. Z x3=x+1x^3 = x + 1 plyne x4=x2+xx^4 = x^2 + x, takže x4+x2=xx^4 + x^2 = x, tedy 010.

A 010⋅010=x2010 \cdot 010 = x^2, tedy 100. Součet je 110.

Cvičení 3.21

V GF(32)GF(3^2) modulo x2+2x+2x^2 + 2x + 2 najdi všechna yy, pro která 21(y+11)=01+y21(y + 11) = 01 + y.

Řešení

Spočítáme 21⋅11=(2x+1)(x+1)=2x2+1=2x+2+1=2x21 \cdot 11 = (2x + 1)(x + 1) = 2x^2 + 1 = 2x + 2 + 1 = 2x, tedy 20. Rovnice je 21y+20=01+y21y + 20 = 01 + y.

K oběma stranám přičteme 02y+1002y + 10. Vlevo 2020 a 1010 dají 00, vpravo 01+10=1101 + 10 = 11 a y+02y=00y + 02y = 00. Zůstane (21+02)y=20y=11(21 + 02)y = 20y = 11.

Podle příkladu výše je (20)−1=21(20)^{-1} = 21, takže y=21⋅11=20y = 21 \cdot 11 = 20. Řešení je jediné: y=20y = 20.

Cvičení 3.22

Najdi všechny ireducibilní polynomy stupně 2 nad Z2\mathbb{Z}_2.

Řešení

Kandidáti jsou x2x^2, x2+1x^2 + 1, x2+xx^2 + x a x2+x+1x^2 + x + 1. Kořen nemá jen poslední, takže jediný je x2+x+1x^2 + x + 1.

3.11 Tahák

Tahák
  • Těleso = komutativní okruh, kde každý nenulový prvek má inverzi. Nemá dělitele nuly.
  • Zn\mathbb{Z}_n je těleso právě pro prvočíslo nn.
  • Řád tělesa je vždy pnp^n. Těleso téhož řádu je až na izomorfismus jedno.
  • Stupeň 2 a 3: ireducibilní = bez kořene. Od stupně 4 to neplatí.
  • GF(pn)GF(p^n): polynomy stupně menšího než nn, násobení modulo ireducibilní PP stupně nn.
  • Trik: z P=0P = 0 vyjádři nejvyšší mocninu, třeba x2=x+1x^2 = x + 1, a dosazuj.
  • Inverze: EEA, αA+βP=c\alpha A + \beta P = c, pak vynásob c−1c^{-1}.
  • Aditivní grupa: řád pnp^n, pro n>1n > 1 necyklická.
  • Multiplikativní grupa: řád pn−1p^n - 1, vždy cyklická, generátorů φ(pn−1)\varphi(p^n - 1).
  • gg je generátor právě tehdy, když má řád pn−1p^n - 1. Rychlejší test (nad rámec slajdů): g(pn−1)/q≠1g^{(p^n-1)/q} \ne 1 pro všechna prvočísla qq dělící pn−1p^n - 1.

Zdroje

  • NI-MPI přednáška 4 (Algebra IV): okruh a těleso strany 7–29, polynomy 35–51, ireducibilita 53–61, konečná tělesa 65–69, konstrukce 77–87, příklad 88–92, řády těles 96, grupy GF 102–107, AES 114–115
  • NI-MPI přednáška 5 (příklady): strany 2–10
  • NI-MPI přednáška 2 (Algebra II): řád grupy a Lagrangeova věta
  • NI-MPI cvičení 4: sekce 12 a 13 a jejich řešení