20
Teorie čísel • Prvočíslo • Generování prvočísel: Erathosenovo síto • Kolik je prvočísel?

Teorie čísel

Embed Size (px)

DESCRIPTION

Teorie čísel. Prvočíslo Generování prvočísel: Erathosenovo síto Kolik je prvočísel?. Eulerova funkce. Eulerova funkce φ (n), počet přirozených čísel menších než n a nesoudělných s n. Dodefinujeme φ (1) = 1 První hodnoty funkce φ : 1,1,2,2,4,2,6,3,6,4 - PowerPoint PPT Presentation

Citation preview

Page 1: Teorie čísel

Teorie čísel

• Prvočíslo

• Generování prvočísel: Erathosenovo síto

• Kolik je prvočísel?

Page 2: Teorie čísel

Eulerova funkce • Eulerova funkce φ(n), počet přirozených čísel

menších než n a nesoudělných s n.

• Dodefinujeme φ(1) = 1

• První hodnoty funkce φ: 1,1,2,2,4,2,6,3,6,4

• Pro a, b nesoudělná φ(ab)= φ(a). φ(b)

• Snadno spočítáme třeba φ(91)=φ(7.13)=72

• p prvočíslo: φ(p)=p-1

• a je součin dvou prvočísel a=p.q, pak φ(a)=φ(p).φ(q)=(p-1).(q-1)

Page 3: Teorie čísel

Vlastnosti prvočísel

• Binomický koeficient (p nad i) mod p = 0, pro i=1..p-1

• (a+b)p mod p=ap+bp

• Pro c menší než p je cpmod p = c,

Page 4: Teorie čísel

Malá Fermatova věta

• Pro c menší než p platí cp-1mod p = 1

• Pierre de Fermat (1601-1665)

Page 5: Teorie čísel

Velká Fermatova věta

• Neexistuje čtveřice přirozených a,b,c,n, n>2, pro která platí an+bn=cn

• Údajně dokázal P.Fermat v 17. století

• V roce 1900 formulováno jako 7. Hilbertův problém

• Hilbertovy problémy (23), dnes vyřešeny všechny až na 2.

• Velká Fermatova věta dokázána v roce 1994 (sir Andrew John Wiles), důkaz má 109 (velmi hutných) stran

Page 6: Teorie čísel

Čínská věta o zbytcích

• Sun Tse (snad 3.-5. století)

• N je součin dvou prvočísel p,q. φ(N)=(p-1)(q-1), c φ(N) mod N = 1

Page 7: Teorie čísel

Další NP problémy

• Problém faktorizace součinu dvou prvočísel– A=p.q, známe A, třeba určit p a q– Pro přesnou formulaci je třeba si uvědomit, co

je zde velikost vstupních dat.

• Problém modulárních rovnic– f(t) = pt mod q = α– Známe-li p,q a t, snadno určíme α– Známe-li p, q a α, nelze jednoduše určit t

Page 8: Teorie čísel

Distribuce klíčů D-H *1976

Whitfield Diffie *1944 Martin Hellban *1945

Massachusetts Institute of Technology (Boston)

Protokol SSL

Page 9: Teorie čísel

Metoda Diffie Hellman

• Použiji jednosměrnou funkci f(x)=px mod q p,q jsou velká prvočísla.

• Uživatel A zvolí tajný klíč t, uživatel B tajný klíč s.

• Uživatel A spočítá f(t) = pt mod q = α a pošle• Uživatel B spočítá f(s) = ps mod q = β a pošle

Page 10: Teorie čísel

Metoda Diffie Hellman

• A spočítá βt mod q = pst mod q = K.

• B spočítá αs mod q = pts mod q = K.

• K se použije jako klíč pro jednorázovou šifru (např. DES)

Page 11: Teorie čísel

RSA šifra *1977

• Ronald Rivest *1947

Adi Shamir *1952

Leonard Adelman *1945

University of Southern California, Los Angeles

Protokol PGP

Page 12: Teorie čísel
Page 13: Teorie čísel

RSA šifra

• Dvě prvočísla p,q

• Šifrovací modul N=p.q

• Dešifrovací exponent t nesoudělný s N

• Φ(N)=(p-1).(q-1)

• s je řešení kongurence s.t mod Φ(N)=1

• Veřejný klíč: N,s

• Tajný klíč: p,q, Φ(N), t

Page 14: Teorie čísel

RSA šifra

• Šifrovací zobrazení y=xs mod N

• Dešifrovací zobrazení x=yt mod N

• xst mod N = xkΦ(N)+1 mod N = 1k.x mod N = x

Page 15: Teorie čísel

Příklad

• p=7, q=13

• N=91, Φ(N)=6.12=72

• t=7

• s.7 mod 72 = 1, s=31

• Veřejný klíč s=31, N=91, y=x31mod 91

• Tajný klíč t=7, p=7, q=13, Φ(N)=72, x=y7 mod 91

Page 16: Teorie čísel

Příklad

• x=24• y= x31mod 91= 2431mod 91 =

(2416mod 91). (248mod 91). (244mod 91). (242mod 91). (241mod 91) = 24.30.81.9.81mod 91= 42515280 mod 91 = 80

• x = 807 mod 91= (801 mod 91). (802 mod 91). (804 mod 91) = 80.30.81 mod 91 = 24

Page 17: Teorie čísel

Elektronický podpis

• X=yt mod N, y =xs mod A

• y=yst mod N = y

Page 18: Teorie čísel

Jak vybrat prvočísla p, q

• Prvočísel je nekonečně mnoho

• Počet prvočísel menších než n: π(n)≈n/ln(n)

• Počet 100místných prvočísel: π(10100)- π(1099) ≈4,3*1097

• ln(10100) ≈ 230, každé 230 číslo je prvočíslo

Page 19: Teorie čísel

Algoritmus pro hledání prvočísla

• Zvol náhodné číslo n

• Otestuj, jestli je prvočíslo

• Pokud ne, polož n:=n+1

Page 20: Teorie čísel

Test prvočíselnosti

• Vyzkoušet všechny dělitele – nereálné

• Malá Fermatova věta, pro c<p, p prvočíslo platí: cp-1 mod p = 1

• Obrácené tvrzení neplatí

• Čísla, která splňují cp-1 mod p = 1 pro každé c a nejsou prvočísla, Carmichaelova čísla, nejmenší 561=3*11*17