1 / 20

Teorie čísel

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

Download Presentation

Teorie čísel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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,

  4. Malá Fermatova věta • Pro c menší než p platí cp-1mod p = 1 • Pierre de Fermat (1601-1665)

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

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

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

  8. Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology (Boston) Protokol SSL

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

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

  11. RSA šifra *1977 • Ronald Rivest *1947 Leonard Adelman *1945 Adi Shamir *1952 University of Southern California, Los Angeles Protokol PGP

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

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

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

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

  16. Elektronický podpis • X=yt mod N, y =xs mod A • y=yst mod N = y

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

  18. Algoritmus pro hledání prvočísla • Zvol náhodné číslo n • Otestuj, jestli je prvočíslo • Pokud ne, polož n:=n+1

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

More Related