3 Konečná tělesa
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.
- 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 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 modulo .
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 :
Dvě nenulová čísla dala nulu, takže 2 nemá inverzi a dělit jí nejde. tedy těleso není.
Řešení je počítat s polynomy místo s čísly. Prvky budou a násobit budeme „modulo“ polynom , 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
Trojice je okruh, pokud je abelovská grupa, je monoid a platí oba distributivní zákony.
Okruh je těleso, pokud je abelovská grupa. Lidsky: každý nenulový prvek jde invertovat, takže se dá dělit vším kromě nuly.
Příklady: je okruh, ale ne těleso (2 nemá celočíselnou inverzi). a tělesa jsou.
Pokud , pak nebo .
Proto není těleso: . Naopak je těleso právě pro prvočíslo .
3.3 Inverze v
Inverzi hledáme rozšířeným Eukleidovým algoritmem (EEA). Najdeme čísla taková, že . Modulo pak zbyde , takže je inverze .
Dělíme se zbytkem:
Vyjádříme 1 zpětně:
Výsledek: . Zkouška: .
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 . Stupně se při násobení sčítají.
Polynom stupně aspoň 1 je ireducibilní nad , pokud ho nejde napsat jako součin dvou polynomů stupně aspoň 1. Je to obdoba prvočísla.
Polynom stupně 2 nebo 3 je ireducibilní nad právě tehdy, když nemá v kořen.
Proč to platí: rozklad stupně 3 musí obsahovat činitel stupně 1 a ten dává kořen.
Je ireducibilní? Má stupeň 3, takže stačí dosadit všech pět hodnot:
| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 1 | 4 | 3 | 4 | 3 |
Žádná nula, takže kořen nemá a polynom je ireducibilní.
Polynom naopak dává pro hodnotu . Má kořen, takže ireducibilní není.
Pro stupeň aspoň 4 test nefunguje. Polynom nad nemá kořen, a přesto . Tady musíš hledat i rozklad na polynomy stupně 2.
3.5 Konstrukce
Pro prvočíslo a :
- Vezmeme těleso .
- Najdeme polynom stupně ireducibilní nad .
- Prvky jsou všechny polynomy stupně nejvýš . Je jich .
- Sčítáme po koeficientech. Násobíme jako polynomy a výsledek vezmeme modulo .
Zápis prvků: polynom se píše jako řetězec koeficientů od nejvyšší mocniny. V znamená 21 polynom . V znamená 010 polynom .
Proč musí být ireducibilní: kdyby , pak by a byly nenulové prvky se součinem 0. Vznikli by dělitelé nuly stejně jako v .
Řád konečného tělesa je vždy mocnina prvočísla a všechna tělesa téhož řádu jsou izomorfní. Těleso se 6, 10, 12, 14, 15 nebo 18 prvky proto neexistuje.
Číslo se nazývá charakteristika tělesa.
Počítáme modulo .
Z plyne nad pravidlo . Tím se zbavíme každého :
| 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í: .
Počítáme modulo .
Spočítejme .
- Přepíšeme: .
- Roznásobíme nad : .
- Vydělíme : .
- Zbytek je , tedy výsledek je
1000.
Není to bitový AND po složkách, který by dal 0100.
3.6 Inverze v
Postup je stejný jako v , jen dělíme polynomy.
Počítáme modulo a hledáme inverzi prvku 20.
Označme .
- Vydělíme: . Zbytek je konstanta 2.
- Vyjádříme: .
- Vynásobíme inverzí zbytku, v : .
- Modulo zmizí první člen a , takže .
Výsledek: .
Zkouška s : .
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 má řád a pro není cyklická: sečteš-li libovolný prvek -krát, dostaneš 0, takže žádný prvek nemá řád .
Multiplikativní grupa má řád a je vždy cyklická. Generátorů je .
Počítáme modulo .
Grupa má řád 8, takže generátory jsou . Zkusíme , tedy , a násobíme s pravidlem :
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|---|---|---|---|---|---|---|---|---|
| 01 | 10 | 11 | 21 | 02 | 20 | 22 | 12 |
Vyšlo všech 8 nenulových prvků, takže 10 je generátor. Ostatní jsou pro nesoudělná s 8, tedy : 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 .
3.8 Typické chyby
- Test kořenů u polynomu stupně 4 a výš. Bez kořene ještě neznamená ireducibilní.
- Záměna a . Modulo 4 těleso nedává.
- Násobení po složkách místo násobení polynomů modulo .
- Zapomenuté zmenšení koeficientů modulo . Sčítání v je XOR.
- Neznormovaná konstanta na konci EEA.
- Zápis
21čtený od nejnižší mocniny. Zde je to .
3.9 Kvíz
3.10 Příklady na procvičení
V tělese najdi inverzi k 112.
Řešení
EEA dá , takže .
Rozhodni, zda je ireducibilní nad .
Ř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á: . Není ireducibilní.
V modulo spočítej .
Řešení
Platí , tedy .
Dále . Z plyne , takže , tedy 010.
A , tedy 100. Součet je 110.
V modulo najdi všechna , pro která .
Řešení
Spočítáme , tedy 20. Rovnice je .
K oběma stranám přičteme . Vlevo a dají 00, vpravo a . Zůstane .
Podle příkladu výše je , takže . Řešení je jediné: .
Najdi všechny ireducibilní polynomy stupně 2 nad .
Řešení
Kandidáti jsou , , a . Kořen nemá jen poslední, takže jediný je .
3.11 Tahák
- Těleso = komutativní okruh, kde každý nenulový prvek má inverzi. Nemá dělitele nuly.
- je těleso právě pro prvočíslo .
- Řád tělesa je vždy . Těleso téhož řádu je až na izomorfismus jedno.
- Stupeň 2 a 3: ireducibilní = bez kořene. Od stupně 4 to neplatí.
- : polynomy stupně menšího než , násobení modulo ireducibilní stupně .
- Trik: z vyjádři nejvyšší mocninu, třeba , a dosazuj.
- Inverze: EEA, , pak vynásob .
- Aditivní grupa: řád , pro necyklická.
- Multiplikativní grupa: řád , vždy cyklická, generátorů .
- je generátor právě tehdy, když má řád . Rychlejší test (nad rámec slajdů): pro všechna prvočísla dělící .