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

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

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

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Cyklické grupy a grupy permutací

Základy elementární teorie čísel

Charakteristika tělesa

Zbytky a nezbytky Vazební věznice Orličky Kondr (Brkos 2010) Zbytky a nezbytky / 22

Základy elementární teorie čísel

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.

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

Jak funguje asymetrické šifrování?

21ˆx 0 mod 112, 21x p 35 mod 112. x p mod 16. x 3 mod 17. α 1 mod 13 α 0 mod 17. β 0 mod 13 β 1 mod 17.

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem Festival Fantazie, Štěpán Sem

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

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

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

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

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

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

Relace a kongruence modulo

Pokročilá kryptologie

Principy indukce a rekursivní algoritmy

Diskrétní matematika 1. týden

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

Lineární algebra nad obecným Z m, lineární kódy

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

Principy indukce a rekurentní rovnice

Prvočísla, dělitelnost

Matematické algoritmy (11MAG) Jan Přikryl

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

8 Kořeny cyklických kódů, BCH-kódy

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

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

Historie matematiky a informatiky Cvičení 2

Historie matematiky a informatiky Cvičení 1

Matematické algoritmy (11MAG) Jan Přikryl. verze: :29

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)

Diskrétní logaritmus

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie

Relativní Eulerova funkce

Subexponenciální algoritmus pro diskrétní logaritmus

Diskrétní matematika

5. a 6. přednáška z kryptografie

MFF UK Praha, 22. duben 2008

z nich byla poprvé dokázána v 19. století velikány analytické teorie čísel (Pafnutij Lvovič Čebyšev, Charles-Jean de la Vallée Poussin a další).

Transformace souřadnic

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

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

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

Základy algebraických specifikací

Historie matematiky a informatiky 2 7. přednáška

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

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod 2. Róbert Lórencz. lorencz@fel.cvut.cz

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Algoritmy okolo teorie čísel

0.1 Úvod do lineární algebry

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

0.1 Úvod do lineární algebry

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

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

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

Algoritmy okolo teorie čísel

GRUPY SBÍRKA PŘÍKLADŮ

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

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

Matematika 2 pro PEF PaE

4 Počítání modulo polynom

19. a 20. přednáška z kryptografie

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Největší společný dělitel

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,

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

Aritmetika s didaktikou I.

VZOROVÝ TEST PRO 1. ROČNÍK (1. A, 3. C)

Západočeská univerzita v Plzni FAKULTA PEDAGOGICKÁ KATEDRA MATEMATIKY, FYZIKY A TECHNICKÉ VÝCHOVY

Číselné množiny Vypracovala: Mgr. Iva Hálková

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

ALGEBRA I PRO INFORMATIKY. Obsah

Aritmetika s didaktikou I.

Algebra 2 Teorie čísel. Michal Bulant

1 Báze a dimenze vektorového prostoru 1

Kongruence na množině celých čísel

Digitální učební materiál

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

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

Testování prvočíselnosti

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

Svobodná chebská škola, základní škola a gymnázium s.r.o. Dušan Astaloš. samostatná práce, případně skupinová práce. pochopení znaků vztahů mezi čísly

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.

18. První rozklad lineární transformace

Matematika B101MA1, B101MA2

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

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve

Odpřednesenou látku naleznete v kapitole 3.3 skript Diskrétní matematika.

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

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

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

Soustavy lineárních rovnic

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

Transkript:

Hlubší věty o počítání modulo Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 1/18

Příklad Vyřešte: Idea řešení: x = 3 v Z 4 x = 2 v Z 5 x = 6 v Z 21 x = 3 + 2 + 6 Musí být: 1 První obdélník roven 1 v Z 4 a roven 0 v Z 5 a v Z 21. 2 Druhý obdélník roven 1 v Z 5 a roven 0 v Z 4 a v Z 21. 3 Třetí obdélník roven 1 v Z 21 a roven 0 v Z 4 a v Z 5. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 2/18

Příklad (pokrač.) Nulovost obdélníků: x = 3 + 2 + 6 5 21? 4 21? 4 5? Jedničkovost obdélníků: x = 3 5 21 1 + 2 4 21 4 + 6 4 5 20 protože: 1 (5 21) 1 = 1 1 = 1 v Z 4. (gcd(4, 5) = 1 a gcd(4, 21) = 1) 2 (4 21) 1 = 4 1 = 4 v Z 5. (gcd(5, 4) = 1 a gcd(5, 21) = 1) 3 (4 5) 1 = 20 1 = 20 v Z 21. (gcd(21, 4) = 1 a gcd(21, 5) = 1) Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 3/18

Příklad (pokrač.) Celkově: x = 3 5 21 1 + 2 4 21 4 + 6 4 5 20 = 3 387 = 27 v Z 420 protože a lcm(4, 5, 21) = 4 5 21 = 420. Funguje to: 27 = 3 v Z 4 27 = 2 v Z 5 27 = 6 v Z 21 a lcm(a,..., b) značí nejmenší společný násobek celých čísel a,..., b, anglicky least common multiple. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 4/18

Čínská věta o zbytcích (Sun Zi: 3. stol. n. l.) Ať m 1, m 2,..., m r jsou navzájem nesoudělná přirozená čísla, m i 2 pro i = 1,..., r. Potom každá soustava rovnic x = a 1 v Z m1 x = a 2 v Z m2. x = a r v Z mr má řešení a toto řešení je určeno jednoznačně v Z M, kde M = m 1 m 2 m r. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 5/18

Zobecnění čínské věty Ať m 1 a m 2 jsou libovolná přirozená čísla, m i 2 pro i = 1, 2. Označme d = gcd(m 1, m 2 ). Pak jsou následující dvě podmínky ekvivalentní: 1 Soustava má řešení. 2 Platí d (a 2 a 1 ). x = a 1 v Z m1 x = a 2 v Z m2 Jestliže platí d (a 2 a 1 ), je řešení určeno jednoznačně v Z M, kde M = lcm(m 1, m 2 ). Máme tedy rekursivní algoritmus pro řešení jakékoli soustavy! Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 6/18

Příklad Čísla m 1 = 5, m 2 = 7, m 3 = 11, m 4 = 13 jsou navzájem nesoudělná, M = m 1 m 2 m 3 m 4 = 5 005. Čínská věta o zbytcích: pro čísla 0 Z < 5 005 je korespondence: Z ([Z] 5, [Z] 7, [Z] 11, [Z] 13 ) bijekce a respektuje sčítání a násobení (po složkách). Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 7/18

Příklad (pokrač.) Vynásobte 28 a 47. Protože výsledek Z je < 5 005, postupujeme takto: 1 28 ([28] 5, [28] 7, [28] 11, [28] 13 ) = (3, 0, 6, 2). 2 47 ([47] 5, [47] 7, [47] 11, [47] 13 ) = (2, 5, 3, 8). 3 Po složkách vynásobíme: (1, 0, 7, 3). 4 Dekódujeme čínskou větou o zbytcích: (1, 0, 7, 3) 1 316. Rychlost algoritmu, zobecnění (rychlé násobení matic, apod.) viz např. V. Shoup, A Computational Introduction to Number Theory and Algebra, Cambridge Univ. Press, 2005 Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 8/18

Malá Fermatova věta (Pierre de Fermat: 1601 1665) Ať p je prvočíslo. Jestliže gcd(a, p) = 1, pak platí a p 1 = 1 v Z p Důkaz. Zobrazení x x a je bijekce na invertibilních prvcích Z p. To jsou prvky {1, 2,..., p 1}. Proto {1a, 2a,..., (p 1)a} = {1,..., (p 1)} v Z p Proto a p 1 1 2 (p 1) = 1 2 (p 1) v Z p. Tedy a p 1 = 1 v Z p. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 9/18

Definice Eulerova funkce ϕ: pro kladné přirozené číslo m je ϕ(m) počet všech čísel z množiny {0, 1,..., m 1}, která jsou s m nesoudělná. Poznámka ϕ(m) je počet invertibilních prvků v Z m. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 10/18

Vlastnosti Eulerovy funkce 1 ϕ(1) = 1. 2 Pro prvočíslo p je ϕ(p) = p 1. 3 Pro prvočíslo p je ϕ(p n ) = p n p n 1. 4 Pro nesoudělná a, b je ϕ(ab) = ϕ(a) ϕ(b). Příklad 1960 = 2 3 5 7 2. Proto ϕ(1960) = ϕ(2 3 ) ϕ(5) ϕ(7 2 ) = (2 3 2 2 ) (5 1) (7 2 7) = 4 4 42 = 672. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 11/18

Eulerova věta (Leonard Euler: 1707 1783) Jestliže gcd(a, m) = 1, pak platí a ϕ(m) = 1 v Z m Důkaz. Zobrazení x x a je bijekce na invertibilních prvcích Z m. To jsou prvky {b 1, b 2,..., b ϕ(m) }. Proto {b 1 a, b 2 a,..., b ϕ(m) a} = {b 1,..., b ϕ(m) } v Z m Proto a ϕ(m) b 1 b 2 b ϕm = b 1 b 2 b ϕ(m) v Z m. Tedy a ϕ(m) = 1 v Z m. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 12/18

Příklad Spočítejte 13 12 098 v Z 1960. Postup: 1 Spočítáme: 1960 = 2 3 5 7 2, takže gcd(1960, 13) = 1. 2 Spočítáme: ϕ(1960) = 672, takže 13 672 = 1 v Z 1960. 3 Spočítáme: 12 098 = 672 18 + 2. 4 Takže: 13 12 098 = 13 672 18+2 = (13 672 ) 18 13 2 = 1 13 2 = 13 2 = 169 v Z 1960. Eulerova věta drasticky snižuje exponent velkých mocnin. Jak ale spočítat např. 13 654 v Z 1960? Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 13/18

Příklad (Budeme potřebovat příště) Spočítejte x = 11 16 601 v Z 36 181, když víme, že 36 181 = 97 373 (rozklad na prvočísla). Eulerova věta dává: x = 11 16 601 = 11 96 172+89 = 11 89 v Z 97 x = 11 16 601 = 11 372 44+233 = 11 233 v Z 373 Použijeme čínskou větu o zbytcích a získáme x v Z 36 181. Výpočet 11 89 v Z 97? Výpočet 11 233 v Z 373? Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 14/18

Příklad (pokrač.) Binární rozvoj exponentu 89 je (89) 2 = (1, 0, 1, 1, 0, 0, 1). Algoritmus opakovaných čtverců v Z 97 : X 11 = 11 1 S 11 2 = 121 = 24 S 11 4 = 24 2 = 576 = 91 X 11 5 = 11 91 = 1 001 = 31 S 11 10 = 31 2 = 961 = 88 X 11 11 = 11 88 = 968 = 95 S 11 22 = 95 2 = 9 025 = 4 S 11 44 = 4 2 = 16 S 11 88 = 16 2 = 256 = 62 X 11 89 = 11 62 = 682 = 3 11 89 = 3 v Z 97. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 15/18

Příklad (pokrač.) Binární rozvoj exponentu 233 je (233) 2 = (1, 1, 1, 0, 1, 0, 0, 1). Algoritmus opakovaných čtverců v Z 373 : X 11 = 11 1 S 11 2 = 121 X 11 3 = 11 121 = 1 331 = 212 S 11 6 = 212 2 = 44 944 = 184 X 11 7 = 11 184 = 2 024 = 159 S 11 14 = 159 2 = 25 281 = 290 S 11 28 = 290 2 = 84 100 = 175 X 11 29 = 11 175 = 1 925 = 60 S 11 58 = 60 2 = 3 600 = 243 S 11 116 = 243 2 = 59 049 = 115 S 11 232 = 115 2 = 13 225 = 170 X 11 233 = 11 170 = 1 870 = 5 11 233 = 5 v Z 373. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 16/18

Příklad (pokrač.) Čínská věta o zbytcích pro x = 3 = 11 89 v Z 97 x = 5 = 11 233 v Z 373 Řešení: x = 11 16 601 = 3 373 84 +5 97 50 = 118 246 = 9 703 v Z 36 181 Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 17/18

Shrnutí výpočet a b v Z m 1 Zredukujte (pokud to jde) a v Z m. Označte jej jako x. Platí tedy 0 x < m. Dále počítejte x b v Z m. 2 Zredukujte (pokud to jde) exponent b pomocí Eulerovy věty. K tomu je nutné, aby platilo gcd(b, m) = 1. 3 Počítejte x b v Z m algoritmem opakovaných čtverců. 4 Pokud navíc známe prvočíselný rozklad čísla m, může být vhodné použít čínskou větu o zbytcích. Jiří Velebil: A7B01MCS 31. října 2011: Hlubší věty o počítání modulo 18/18