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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 MI-MPI, Přednáška č. 11 Karel Klouda c KTI, FIT, ČVUT v Praze 18. dubna, letní semestr 2010/2011

2 RSA potřiapadesáté šifrování Co potřebuje k zašifrování zprávy x: číslo n, které je součinem dvou prvočísel n = pq, exponent e, který je nesoudělný s ϕ(n), tyto dvě čísla tvoří veřejný klíč k pub = (n, e) Šifrování: y x e (mod n) kde šifrovaná zpráva x musí být ze Z n, tzn. musíme vzít n dostatečně velké anebo x rozdělit na více částí, zašifrovaná zpráva y pak nutně vyjde také jako prvek Z n.

3 RSA potřiapadesáté šifrování Co potřebuje k dešifrování zprávy y: soukromý klíč k pr = d, který má tuto speciální vlastnost: pro všechna z Z n (z e ) d = z ed z (mod n) Dešifrování: x = y d x ed (mod n) To, že vyjde opět šifrovaná zpráva x nám zaručuje výše uvedená speciální vlastnost pro z = x.

4 RSA potřiapadesáté příklad šifrovaná zpráva x = 4, veřejný klíč k pub = (n, e), kde n = 33 = 3 11 a e = 3 (nesoudělné s ϕ(33) = 20), soukromý klíč d = 7. Šifrování: y x e (mod n) = 4 3 (mod 33) = 31, tedy zašifrovaná zpráva je y = 31. Dešifrování: y d = 31 7 = (mod 33). Tedy skutečně získáváme původní zprávu!

5 RSA potřiapadesáté dílčí problémy Co potřebujeme: vygenerovat dvě veliká prvočísla p a q, aby n = pq bylo dostatečně vysoké: n by mělo mít více jak 1024 bitů, tedy p a q musí mít kolem 512 bitů!! vhodně zvolit e nesoudělné s ϕ(n) = (p 1)(q 1), najít soukromý klíč d s požadovanou vlastností nutnou k dešifrování, umět rychle mocnit x e a y d modulo n, bez takového rychlého mocnění by RSA bylo k ničemu!

6 RSA potřiapadesáté dílčí problémy Co potřebujeme: vygenerovat dvě veliká prvočísla p a q, aby n = pq bylo dostatečně vysoké: n by mělo mít více jak 1024 bitů, tedy p a q musí mít kolem 512 bitů!! později testování prvočíselnosti vhodně zvolit e nesoudělné s ϕ(n) = (p 1)(q 1), najít soukromý klíč d s požadovanou vlastností nutnou k dešifrování, umět rychle mocnit x e a y d modulo n, bez takového rychlého mocnění by RSA bylo k ničemu! umíme pomocí square & multiply

7 Volba e Hledání n = pq se budeme věnovat později, nyní se zaměřme na druhou složku veřejného klíče, exponent e. Toto číslo je veřejné, takže není třeba, aby bylo neuhodnutelné. Jediné kritérium je, aby se při znalosti e, n a y nedalo zjistit x z rovnice y x e (mod n). Tomuto problému se obecně říká root finding (hledání odmocniny).

8 Root finding modulární odmocnina Pro neprvočíselné n je problém nalezení odmocniny už pro e = 2 (druhá odmocnina) stejně těžký jako faktorizace n. To že jsou stejně těžké znamená, že existuje (v tomto případě pravděpodobnostní) polynomiální algoritmus, který převádí jeden z těchto problémů na ten druhý. Vyřešit rovnici y x e (mod n). pro známé e, n a y umíme efektivně pouze pro případ, že n je prvočíslo nebo mocnina jednoho prvočísla.

9 Druhá odmocnina a kvadratická rezidua Naznačíme si, jak hledat druhou odmocninu pro n = p prvočíslo, kde navíc p 3 (mod 4). Hledáme x tak, aby pro dané y y x 2 (mod p).

10 Druhá odmocnina a kvadratická rezidua Naznačíme si, jak hledat druhou odmocninu pro n = p prvočíslo, kde navíc p 3 (mod 4). Hledáme x tak, aby pro dané y y x 2 (mod p). Aby řešení mohlo vůbec existovat, musí být y kvadratické reziduum a to platí právě když je Legendrův symbol roven 1, tedy y p (mod p). Bud p = 4k + 3, potom (y k+1 ) 2 = y 2(k+1) = y p+1 2 y (mod p). a hledané x = y k+1 (mod p).

11 Druhá odmocnina a kvadratická rezidua příklad Bud p = 683 = , tedy k = 170. Necht y = 120, hledáme x tak, že 120 x 2 (mod 683). Je 120 kvadratické reziduum (tj. existuje vůbec řešení)? = (mod 683) a tedy 120 je kvadratické reziduum a řešení existuje. Položme x = (mod 683), potom skutečně = = !

12 Volba e pro RSA Jelikož na velikosti e nezáleží (je to těžké už pro e = 2), volí se e v RSA tak, aby se co nejvíce zkrátilo šifrování (mocnění na e) y = x e (mod n). To probíhá (samozřejmě) pomocí algoritmu square & multiply. Obvyklé volby jsou v násl. tabulce: veřejný klíč e binární zápis počet operací v S&M alg Musí být stále splněno gcd(e, ϕ(n)) = 1!! To se kontroluje pomocí EA (Eukl. algoritmu), pokud to neplatí, musíme zvolit jiné e a opět otestovat pomocí EA.

13 Soukromý klíč d Volba soukromého klíče d závisí na volbě e. Chceme, aby pro všechna x Z n platilo x ed x (mod n) tj. musí jít dešifrovat jakákoli zpráva x. Takové d vždy existuje a získá se z této rovnice: e d 1 (mod ϕ(n)).

14 Soukromý klíč d trocha teorie Víme, že Z m \ {0} tvoří grupu pouze pokud je m prvočíslo. V takovém případě má každý prvek e inverzi d = e 1 tak, že e d 1 (mod m).

15 Soukromý klíč d trocha teorie Víme, že Z m \ {0} tvoří grupu pouze pokud je m prvočíslo. V takovém případě má každý prvek e inverzi d = e 1 tak, že e d 1 (mod m). Není-li ale m prvočíslo, Z m \ {0} grupu netvoří, nebot je-li m = s t, pak součin z množiny Z m \ {0} vyleze. s t 0 (mod m)

16 Soukromý klíč d trocha teorie Víme, že Z m \ {0} tvoří grupu pouze pokud je m prvočíslo. V takovém případě má každý prvek e inverzi d = e 1 tak, že e d 1 (mod m). Není-li ale m prvočíslo, Z m \ {0} grupu netvoří, nebot je-li m = s t, pak součin z množiny Z m \ {0} vyleze. s t 0 (mod m) Aby Z m byla grupa s násobením modulo m, musíme z ní vyjmout nulu a všechna čísla soudělná s m!

17 Soukromý klíč d příklad Je-li n v RSA rovno 33 a e = 3, hledáme d jako inverzi k e vůči násobení modulo ϕ(33) = 20, tj. chceme aby 3 d 1 (mod 20). Takové d existuje (d = 7), nebot 3 je nesoudělné s 20!!

18 Soukromý klíč d příklad Je-li n v RSA rovno 33 a e = 3, hledáme d jako inverzi k e vůči násobení modulo ϕ(33) = 20, tj. chceme aby 3 d 1 (mod 20). Takové d existuje (d = 7), nebot 3 je nesoudělné s 20!! Pro volbu e = 5 bychom takové d nenašli: (mod 20), (mod 20), (mod 20), (mod 20), (mod 20)... tj. 5 nemá inverzi vzhledem k násobení modulo 20.

19 Soukromý klíč d příklad (pokrač.) Všechny volby e, pro které existuje inverze d jsou tyto: 1, 3, 7, 9, 11, 13, 17, 19. Tyto čísla s násobením modulo 20 tvoří grupu a jsou to jediné možné volby e pro RSA s n = 33. Inverze těchto prvků jsou e d = e

20 Jak najít d, známe-li ϕ(n) Pro daný veřejný klíč k pub = (n, e) najdeme d pomocí (polynomiálního) EEA (rozšířený eukl. algoritmus): gcd(ϕ(n), e) = 1 = s ϕ(n) + t e, kde s a t dostaneme z EEA. Klademe d t (mod ϕ(n)).

21 Jak najít d, známe-li ϕ(n) Pro daný veřejný klíč k pub = (n, e) najdeme d pomocí (polynomiálního) EEA (rozšířený eukl. algoritmus): gcd(ϕ(n), e) = 1 = s ϕ(n) + t e, kde s a t dostaneme z EEA. Klademe d t (mod ϕ(n)). Tedy známe-li faktorizaci n = pq, snadno spočítáme ϕ(n) = (p 1)(q 1) a pomocí EEA i soukromý klíč d.

22 Jak najít d, neznáme-li ϕ(n) Neznáme-li ϕ(n), těžko spočítáme d. Naopak známe-li jej, získáme d snadno. Důležitá pro bezpečnost RSA je tedy násl. Otázka: Jak je složité zjistit hodnotu ϕ(n)?

23 Jak najít d, neznáme-li ϕ(n) Neznáme-li ϕ(n), těžko spočítáme d. Naopak známe-li jej, získáme d snadno. Důležitá pro bezpečnost RSA je tedy násl. Otázka: Jak je složité zjistit hodnotu ϕ(n)? Odpověd : Stejně složité, jako najít faktorizaci n. Důkaz. Známe-li faktorizaci n = pq, snadno spočítáme ϕ(n) = (p 1)(q 1).

24 Jak najít d, neznáme-li ϕ(n) Neznáme-li ϕ(n), těžko spočítáme d. Naopak známe-li jej, získáme d snadno. Důležitá pro bezpečnost RSA je tedy násl. Otázka: Jak je složité zjistit hodnotu ϕ(n)? Odpověd : Stejně složité, jako najít faktorizaci n. Důkaz. Známe-li faktorizaci n = pq, snadno spočítáme ϕ(n) = (p 1)(q 1). Známe-li hodnotu ϕ(n), dostávám pro p a q dvě rovnice: pq = n (p 1)(q 1) = pq (p + q) + 1 = ϕ(n) a z nich dostaneme snadno řešitelnou rovnici p 2 (n ϕ(n) + 1)p + n = 0.

25 Volba d v praxi Zatímco e může být zvolen krátký, aby se zkrátilo šifrování (= mocnění na e), d by měl být naopak dlouhý, aby odolal brute-force útokům. Doporučuje se alespoň třetina bitů čísla n, ale často se používá prostě srovnatelná délka. Dlouhé d ale zesložit uje dešifrování (= mocnění na d), existuje ale urychlující procedura založená na čínské větě o zbytcích (viz minulé přednášky).

26 Urychlení dešifrování čínská věta o zbytcích Věta (Čínská věta o zbytcích připomenutí) Necht n 1,..., n k jsou navzájem nesoudělná čísla a necht n = k i=1 n i. Pro libovolnou k-tici r 1 Z n1,..., r k Z nk existuje jednoznačně určený r Z n tak, že Platí r r i (mod n i ) for all i = 1,..., k. r = kde pro všechna i a j i k i=1 r i m i n n i (mod n) m i n n i 1 (mod n i ) a m i n n i 0 (mod n j ). Tzn. r lze spočítat v polynomiálním čase.

27 Urychlení dešifrování Počítáme x = y d (mod n). 1. najdi a podobně 2. vypočti y p y (mod p) a y q y (mod q), d p d (mod p 1) a d q d (mod q 1), x p y dp p (mod p) a x q y dq q (mod q), 3. platí kde x = (qc p )x p + (pc q )x q (mod n) c p q 1 (mod p) a c q p 1 (mod q).

28 Necht Urychlení dešifrování příklad p = 11, q = 13, n = 11 13, e = 7, d = 103. Zašifrovaný text je y = 15, máme a tedy y p = 4 15 (mod 11) a y q = 2 15 (mod 113), d p = 4 3 (mod 10) a d q = (mod 12), x p = y dp p (mod 11) a x q = y dq q (mod q) a konečně c p = (mod 11) a c p = (mod 13) x (qc p )x p + (pc q )x q (13 6)9 + (11 6) (mod 143).

29 Urychlení dešifrování proč to funguje Použijeme čínskou větu o zbytcích pro n 1 = p, n 2 = q a pro r 1 = x p a r 2 = x q. Jistě dešifrovaná zpráva x splňuje x y d y k(p 1)+dp y dp x p (mod p) kde d = k(p 1) + d p. Využili jsme toho, že p je prvočíslo a tedy v multipl. grupě Z p je cokoli umocněno na p 1 rovno 1. Podobně se ukáže x x q (mod q) a tedy dešifrovaná zpráva hraje roli jednoznačně určeného r z čínské věty o zbytcích! A vzoreček pro výpočet r známe... (pořádně dorozmyslet!)

30 Urychlení dešifrování jak jsme to urychlili? Bud t počet bitů čísla n a tedy i d. V praxi se p a q volí cca t/2 bitové. Klasické použití S&M vyžaduje 1, 5t operací násobení a umocňování na 2. Pří použití urychlení, provádíme dvě umocnění x p y dp p (mod p) a x q y dq q (mod q), kde d p a d q mají cca t/2 bitů. Ostatní operace jsou vzhledem k tomuto mocnění zanedbatelné (nebo se dají předpočítat). Celkem tedy 2 1, 5 t 2 = 1, 5t. Tedy zdánlivě žádné zlepšení, ale násobení (se složitostí O(t 2 )) se provádí s o polovinu kratšími čísly, tedy výsledný čas je čtvrtinový! (opravdu se používá v praxi!!)

31 Dešifrování proč to funguje Věta Při volbě d popsané výše platí tj. RSA funguje. x y d (mod n),

32 Dešifrování proč to funguje Věta Při volbě d popsané výše platí tj. RSA funguje. x y d (mod n), Důkaz. Platí d e 1 (mod ϕ(n)), tedy d e = kϕ(n) + 1. První případ: je-li gcd(x, n) = 1, je dle Eulerovy věty x d e = x kϕ(n)+1 = x kϕ(n) x 1 x (mod n)

33 Dešifrování proč to funguje Důkaz. Platí d e 1 (mod ϕ(n)), tedy d e = kϕ(n) + 1. První případ: je-li gcd(x, n) = 1, je dle Eulerovy věty x d e = x kϕ(n)+1 = x kϕ(n) x 1 x (mod n) Druhý případ: je-li gcd(x, n) = gcd(x, p q) = 1, musí být x násobek p nebo q, necht x = r p a tedy gcd(x, q) = 1. Potom opět podle Eulerovy věty x ϕ(n)k = x (q 1)(p 1)k = (x ϕ(q) ) (p 1)k 1 (p 1)k (mod q), existuje tedy u Z tak, že x ϕ(n)k = 1 + u q a máme x d e = x x ϕ(n)k = x+x u q = x+r p u q = x+r u n x (mod n).

34 RSA shrnutí Ukázali jsme si: jak RSA funguje a jak musíme volit jeho parametry, že RSA funguje a proč, že všechny (matematické) útoky vyžadují faktorizaci n, nebo nějaký stejně složitý či ještě složitější úkon, jak urychlit šifrování (bezpečná volba malého e) a dešifrování (čínská věta o zbytcích).

35 Faktorizace n state of the art Díky obrovské rozšířenosti RSA se prudce navýšil zájem o problém faktorizace čísel na prvočíselný rozklad. Dokonce: RSA Laboratories vyhlásili RSA Factoring Challenge, kde můžete za faktorizaci jednoho n ze seznamu RSA-čísel získat slušné peníze. Poslední ( ) rozluštěné bylo číslo RSA-768 (768 bitů, 232 desetinných, USD), využito ekvivalentu 2000 hodin single core 2.2 GHz AMD Opteron. [zdroj: wikipedia.org]

36 RSA poslední ingredience Poslední, co ještě neznáme a co nám chybí k tomu, abychom byli s to RSA implementovat, je nějaké efektivní generování velkých prvočísel p a q. Algoritmy, které si ukážeme, jsou pravděpodobnostní a fungují zhruba takto: 1. vyber náhodně číslo požadované velikosti, 2. otestuj jestli je to prvočíslo, 3. pokud ano, skonči, pokud ne, jdi zpět do kroku 1.

37 Testování prvočíselnosti obtížnost Řešíme dva spojené rozhodovací problémy PRIMALITY: je dané číslo prvočíslo? COMPOSITENESS: je dané číslo složené? Je snadno vidět, že COMPOSITENESS je NP a méně snadno se dá ukázat, že PRIMALITY je též NP. Z toho důvodu se neočekává, že by byli NP-úplné, spíše se věří, že obtížnost PRIMALITY je někde mezi P a NP-úplnými problémy.

38 Naivní přístup Pro dané číslo n: for k = 1,..., s 1. zvol náhodně a {2, 3,..., n 2}, 2. if gcd(a, n) 1, return n je složené return n je prvočíslo

39 Naivní přístup Pro dané číslo n: for k = 1,..., s 1. zvol náhodně a {2, 3,..., n 2}, 2. if gcd(a, n) 1, return n je složené return n je prvočíslo Analýza: Je-li výsledek n je složené, je n určitě složené číslo. Ovšem v případě výsledku n je prvočíslo se mohlo stát, že jsme ani jednou netrefili číslo soudělné se složeným n. Je-li n = p q, je čísel soudělných s n méně než p + q (násobky q plus násobky p) a tedy pravděpodobnost chyby je (p + q)/n 2/ n a to je příliš (s by muselo být obrovské).

40 Fermatův test myšlenka Díky Fermatově větě víme, že pro prvočíslo p a pro každé a {1,..., p 1} platí Fermatova kongruence a p 1 1 (mod p).

41 Fermatův test myšlenka Díky Fermatově větě víme, že pro prvočíslo p a pro každé a {1,..., p 1} platí Fermatova kongruence a p 1 1 (mod p). Bud nyní n libovolné číslo: Jistě platí, že pokud pak n je složené. a n 1 1 (mod n). Tj., kdyby byla relativně vysoká pravděpodobnost toho, že pro náh. vybrané a je Fermatova kongruence narušena, lze to použít jako klíčový krok pravděpodobnostního algoritmu.

42 Fermatův test algoritmus Algoritmus (Fermatův test) Input: číslo n, parametr s Output: n je složené nebo n je prvočíslo Algoritmus: (1) for k = 1,..., s (1.1) zvol náhodně a {2, 3,..., n 2}, (1.2) if a n 1 1 (mod n), return n je složené (2) return n je prvočíslo

43 Fermatův test Achillova pata Fermatův test funguje velmi dobře pro drtivou většinu n, ale existují bohužel čísla, pro která zcela selže: Definice Složené číslo n se nazývá Carmichaelovo, pokud pro všechna a nesoudělná s n. a n 1 1 (mod n)

44 Fermatův test Achillova pata Fermatův test funguje velmi dobře pro drtivou většinu n, ale existují bohužel čísla, pro která zcela selže: Definice Složené číslo n se nazývá Carmichaelovo, pokud pro všechna a nesoudělná s n. a n 1 1 (mod n) Pro Carmichaelova čísla Fermatův test selže, pokud (velkou) náhodou netrefíme a soudělné s n. Carmichaelových čísel je bohužel nekonečně mnoho, i když jsou velmi řídká: menších než jich je cca

45 Bez Carmichaelových čísel by to fungovalo... Označme množinu čísel nesoudělných s n jako Z n (je to mult. grupa!). Věta Bud n složené ne-carmichaelovo číslo. Potom počet čísel a Z n nesplňujících Fermatovu kongruenci je více než 0, 5 #Z n = 0, 5 ϕ(n).

46 Bez Carmichaelových čísel by to fungovalo... Označme množinu čísel nesoudělných s n jako Z n (je to mult. grupa!). Věta Bud n složené ne-carmichaelovo číslo. Potom počet čísel a Z n nesplňujících Fermatovu kongruenci je více než 0, 5 #Z n = 0, 5 ϕ(n). Důkaz. Označme F n = {a Z n a n 1 1 (mod n)}. Jistě F n Z n, jinak by n bylo Carmichaelovo nebo prvočíslo. Snadno se ukáže, že F n s násobením modulo n tvoří grupu a tedy i (vlastní) podgrupu Z n. Platí tedy, že řád F n dělí řád Z n a tedy musí být #Z n 2 a důkaz je hotov.

47 Fermatův test info Nebýt Carmichaelových čísel, byla by pravděpodobnost toho, že algoritmus vrátí n je prvočíslo pro n složené vždy menší než 2 s, n je složené je vždy správná odpověd, nejmenší Carmichaelovo číslo je 561 = , problém s Carmichaelovými čísly řeší Rabin-Millerův test...

48 Rabin-Miller myšlenka Věta Pro přirozené liché n označme čísla u a r tak, že n 1 = 2 u r (r liché). Pokud najdeme přirozené a takové, že a r 1 (mod n) a a r2j 1 (mod n) pro všechna j {0, 1,..., u 1}, je n složené. Jinak je n pravděpodobně prvočíslo. Jedná se o vylepšení kritéria daného Fermatovou větou, princip algoritmu zůstává stejný.

49 Rabin-Millerův test Algoritmus (Rabin-Millerův test) Input: číslo n, n 1 = 2 u r a parametr s Output: n je složené nebo n je prvočíslo Algoritmus: (1) for k = 1,..., s (1.1) zvol náhodně a {2, 3,..., n 2}, (1.2) z a r (mod n) (1.3) if z 1 and z n 1 for j = 0,..., u 1 z z 2 (mod n) if z = 1, return n je složené (1.5) if z = n 1, break % tj. začni s dalším náhodným a (2) return n je prvočíslo

50 Rabin-Millerův test příklad Bud n = 91 a tedy n 1 = 90 = tj. r = 45 a u = 1. Volím náhodně a a počítám: 1. a = 12: z = (mod 91) pokračuji 2. a = 17: z = (mod 91) pokračuji 3. a = 38: z = (mod 91) pokračuji 4. a = 39: z = (mod 91) return n je složené

51 Rabin-Millerův test info n je složené je vždy správná odpověd, pravděpodobnost chybného výsledku n je prvočíslo pro n složené je (výrazně) menší než 4 n, Rabin-Millerův test může být zdeterminizován, pokud platí tzv. zobecněná Riemannova hypotéza (pak stačí projít cca 2(log n) 2 nejmenších a), i když se věří, že tato hypotéza platí, používá se v praxi pravděpodobnostní verze.

52 Odbočka Riemannova hypotéza Riemannova hypotéza je momentálně asi nejslavnější navyřešený matematický problém: Riemannova hypotéza: Všechny netriviální kořeny zeta-funkce ζ(s) = mají reálnou část 1/2. n=1 1 n s, s C \ {1}

53 Odbočka Riemannova hypotéza Riemannova hypotéza je momentálně asi nejslavnější navyřešený matematický problém: Riemannova hypotéza: Všechny netriviální kořeny zeta-funkce ζ(s) = mají reálnou část 1/2. n=1 1 n s, s C \ {1} Souvislost s prvočísly je dána Eulerovým výsledkem: ζ(s) = p prvoč. 1 1 p s.

54 Jacobiho symbol Definice (Legendrův symbol) Pro p prvočíslo 3 a a nenulové celé číslo klademe [ ] a = a p 1 2 (mod p). p

55 Jacobiho symbol Definice (Legendrův symbol) Pro p prvočíslo 3 a a nenulové celé číslo klademe [ ] a = a p 1 2 (mod p). p Zobecnění i pro složená čísla Definice (Jacobiho symbol) Pro n liché číslo s faktorizací n = p k 1 nesoudělné s n klademe [ a ] = n 1 pk 2 t [ ] a ki. i=1 p i 2 pk t t a pro a Steně jako pro Legendrův symbol platí, že hodnota Jacobiho

56 Vlastnosti Jacobiho symbolu Platí následující: 1. [ ] [ ab n = a ] [ n b ] n 2. pro a b (mod n) platí [ [ a n] = b ] n 3. Pro lichá a nesoudělná a a n platí [ a ] [ = ( 1) a 1 n 1 n 2 2 n a] 4. [ 1 n] = 1 5. [ 2 n ] = { 1 pro n 3 nebo 5 (mod 8) 1 pro n 1 nebo 7 (mod 8)

57 Výpočet Jacobiho symbolu Předchozí větu lze využít ke konstrukci polynomiálního algoritmu vyčíslujícího Jacobiho symbol. Example [ 191 ] 279 = ( 1) [ ] = ( 1) [ ] = ( 1) [ ] 2 3 [ 11 ] = ( 1) 2 (+1) 3 [ ] = [ ] 4 11 (3. vlastnost) (2. vlastnost) (1. vlastnost) (5. a 3. vlastnost) (2. vlastnost) = [ 2 11] 2 (1. vlastnost) = ( 1) 2 (5. vlastnost) = 1

58 Jacobiho symbol myšlenka Definice Pro liché číslo n definujeme množinu { [ a ] } J n = a Z n a n 1 2 (mod n) n Věta Platí: pro n prvočíslo je J n = Z n, pro n složené je #J n #Z n 1 2. Tedy opět můžeme zkonstruovat algoritmus s pravděpodobností chyby 2 s pro parametr s.

59 Jacobiho symbol algoritmus Algoritmus Input: číslo n, parametr s Output: n je složené nebo n je prvočíslo Algoritmus: (1) for k = 1,..., s (1.1) zvol náhodně a {2, 3,..., n 2}, (1.2) if gcd(a, n) 1, return n je složené (1.2) if [ ] n 1 a n a 2 (mod n), return n je složené (2) return n je prvočíslo

60 Testování prvočíselnosti obecně Problém: najděte prvočíslo velikosti cca 512 bitů. Obecné schéma: 1. vyber náhodně číslo n s příslušnou délkou, 2. použij nějaký z předchozích algoritmů ke zjištění, jestli je n (skoro jistě) prvočíslo, 3. pokud není, jdi zpět do 1. kroku. Zásadní otázka: jaká je pravděpodobnost, že v 1. kroku natrefím na prvočíslo?

61 Označme Rozložení prvočísel Platí: π(n) = počet prvočísel menších nebo rovných n. Věta (prime number theorem) lim n π(n) x/ ln x = 1 tj. π(n) se (pro velká n) chová jako n ln n. Ještě lepší aproximací π(n) je integrál logaritmu Li(n) = n d t.

62 Pravděpodobnost nalezení prvočísla Volíme-li náhodně liché číslo n, pak pravděpodobnost, že se jedná o prvočíslo, je P(n je prvočíslo) 2 ln n. Example Chceme-li najít prvočíslo dlouhé 512 bitů, dostaneme pravděpodobnost P(n je prvočíslo) 2 ln Tedy můžeme čekat cca 177 běhů algoritmů pro testování prvočíselnosti. 177 je střední hodnota geometrického rozdělení pro pravděpodobnost 1/177.

63 Násobení n-místných celých čísel Problém: násobení dvou n-místných čísel x a y. Klasické násobení: Násobení vyžaduje vynásobit každou cifru čísla x s každou cifrou čísla y a pak provést n 1 součtů. Klasické sčítání čísel délky n vyžaduje zřejmě 2n operací. Proto má klasický algoritmus pro násobení časovou složitost O(n 2 ).

64 Karacubův algoritmus metoda Rozděl a panuj! Necht x, y jsou 2n místní čísla zapsané v desitkové soustavě: x = x 2n 1 x 2n 2... x 1 x 0 a y = y 2n 1 y 2n 2... y 1 y 0 Rozdělme je na úseky poloviční délky, zapsáno v decimální soustavě x = x 2n n x n 10 n }{{} + x n 1 10 } n x x {{ 0 } A 10 n B y = y 2n n y n 10 n }{{} + y n 1 10 } n y y {{ 0 } C 10 n D Pro součin platí x y = (A 10 n +B) (C 10 n +D) = AC 10 2n +(AD+BC) 10 n +BD

65 Karacubův algoritmus metoda Rozděl a panuj! x y = (A 10 n +B) (C 10 n +D) = AC 10 2n +(AD+BC) 10 n +BD Převedli jsme úlohu násobit 2n-místní čísla x y na 4 násobení AC, AD, BC a BD n-místních čísel. Potřebujeme provést jedno sčítání AD + BC. Další součty jsou časově nenáročné jedná se o součty u různých mocnin desítky. Pro součin AD + BC však taky platí x y = AC 10 2n + ( (A + B)(C + D) AC BD ) 10 n + BD Tedy provedeme nejdříve dvě sčítání A + B a C + D tři násobení AC, (A + B)(C + D) a BD. a pak dvě odčítání, abychom získali (A + B)(C + D) AC BD

66 Karacubův algoritmus složitost Oznčme počet T n počet kroků v Karacubově algoritmu. Sčítání vyžaduje Kn kroků pro n-místní čísla, kde K je konstanta nezávislá na n. Pro Karacubovo násobení dostaneme vztah T 2n = 3T n + 4Kn Věta Platí T n = O(n log 2 3 ).

67 Karacubův algoritmus výpočet složitosti Složitost vypočteme pomocí Master theoremu (mistrovská metoda): Věta (Master theorem) Necht ( n ) T (n) = at + f (n), kde a 1, b > 1. b Platí-li pro nějaké ɛ > 0 f (n) = O(n (log b a) ɛ ), potom T (n) = O(n log b a )

68 Karacubův algoritmus výpočet složitosti Pro nás platí a tedy T 2n = 3T n + 4Kn f (n) = 4Kn = O(n log b a ɛ), pro b = 2, a = 3, ɛ = (log 2 3) 1 znamená že T n = O(n log 2 3 ).

69 Bonusové přednáškové body Vymyslete polynomiální algoritmus pro výpočet Jacobiho symbolu a naprogramujte jej. Řešení i s (okomentovaným) zdrojákem a návodem jak to všechno zprovoznit mi pošlete na karel.klouda@fit.cvut.cz

70 Literatura Ch. Paar a J. Pelzl, Understanding Cryptography vše o Diffie-Hellmanovi a AES a mnohé o konečných tělesech R. Montowani a P. Raghavan, Randomized algorithms pravděpodobnostní algoritmy nejen grafové

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

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

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.

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. MPI - 7. přednáška vytvořeno: 31. října 2016, 10:18 Co bude v dnešní přednášce 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. Rovnice a b

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie RSA doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro

Více

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

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 11:20 Obsah

Více

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

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01 Čínská věta o zbytcích Mocnění Eulerova funkce Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG ponděĺı

Více

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

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21. Čínská věta o zbytcích Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MA) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MA čtvrtek 21. října 2010 verze:

Více

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

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

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011 MI-MPI, Přednáška č. 3 Karel Klouda karel.klouda@fit.cvut.cz c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011 Množiny s jednou binární operací Neprázdná množina M s binární operací (resp. +

Více

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

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické

Více

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

Hlubší věty o počítání modulo 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í

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

Úvod do kryptologie. 6. března L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března / 41

Úvod do kryptologie. 6. března L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března / 41 Testování prvočíselnosti L ubomíra Balková Úvod do kryptologie 6. března 2014 L. Balková (FJFI ČVUT v Praze) Primality Testing and Factorization 6. března 2014 1 / 41 Problémy 1 Primality problem: Rozhodni,

Více

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

Hlubší věty o počítání modulo Hlubší věty o počítání modulo Jiří Velebil: X01DML 3. prosince 2007: Hlubší věty o počítání modulo 1/17 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í

Více

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

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30 Generující kořeny cyklických kódů 6. přednáška z algebraického kódování Alena Gollová, TIK Generující kořeny 1/30 Obsah 1 Alena Gollová, TIK Generující kořeny 2/30 Hammingovy kódy Hammingovy kódy jsou

Více

Charakteristika tělesa

Charakteristika tělesa 16 6 Konečná tělesa V této kapitole budeme pod pojmem těleso mít na mysli vždy konečné komutativní těleso, tedy množinu s dvěma binárními operacemi (T, +, ), kde (T, +) je komutativní grupa s neutrálním

Více

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3. Asymetrické šifry Pavla Henzlová FJFI ČVUT v Praze 28.3.2011 Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.2011 1 / 16 Obsah 1 Asymetrická kryptografie 2 Diskrétní logaritmus 3 Baby step -

Více

Historie matematiky a informatiky Cvičení 2

Historie matematiky a informatiky Cvičení 2 Historie matematiky a informatiky Cvičení 2 Doc. RNDr. Alena Šolcová, Ph. D., KAM, FIT ČVUT v Praze 2014 Evropský sociální fond Investujeme do vaší budoucnosti Alena Šolcová Číselně teoretické funkce (Number-Theoretic

Více

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

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30 Počítání modulo polynom 3. přednáška z algebraického kódování Alena Gollová, TIK Počítání modulo polynom 1/30 Obsah 1 Polynomy nad Zp Okruh Zp[x] a věta o dělení se zbytkem 2 Kongruence modulo polynom,

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

MFF UK Praha, 22. duben 2008

MFF UK Praha, 22. duben 2008 MFF UK Praha, 22. duben 2008 Elektronický podpis / CA / PKI část 1. http://crypto-world.info/mff/mff_01.pdf P.Vondruška Slide2 Přednáška pro ty, kteří chtějí vědět PROČ kliknout ANO/NE a co zatím všechno

Více

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

19. a 20. přednáška z kryptografie 19. a 20. přednáška z kryptografie Alena Gollová 1/35 Obsah 1 2 IsPrime jako IsPrime jako s dělením malými prvočísly Alena Gollová 2/35 V předchozí kapitole jsme používali algoritmus IsPrime(n), který

Více

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča Asymetrická kryptografie a elektronický podpis Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Kryptoanalýza

Více

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

Zbytky a nezbytky Vazební věznice Orličky Kondr (Brkos 2010) Zbytky a nezbytky / 22 Zbytky a nezbytky aneb stručný úvod do kongruencí Zbyněk Konečný Vazební věznice Orličky 2009 23. 27.2.2009 Kondr (Brkos 2010) Zbytky a nezbytky 23. 27.2.2009 1 / 22 O čem to dnes bude? 1 Úvod 2 Lineární

Více

Univerzita Karlova v Praze Pedagogická fakulta

Univerzita Karlova v Praze Pedagogická fakulta Univerzita Karlova v Praze Pedagogická fakulta SEMINÁRNÍ PRÁCE Z METOD ŘEŠENÍ 1 TEORIE ČÍSEL 000/001 Cifrik, M-ZT Příklad ze zadávacích listů 10 101 Dokažte, že číslo 101 +10 je dělitelné číslem 51 Důkaz:

Více

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

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy Protokol RSA Jiří Velebil: X01DML 3. prosince 2010: Protokol RSA 1/18 Protokol RSA Autoři: Ronald Rivest, Adi Shamir a Leonard Adleman. a Publikováno: R. L. Rivest, A. Shamir a L. Adleman, A Method for

Více

Diskrétní logaritmus

Diskrétní logaritmus 13. a 14. přednáška z kryptografie Alena Gollová 1/38 Obsah 1 Protokoly Diffieho-Hellmanův a ElGamalův Diffieho-Hellmanův a ElGamalův protokol Bezpečnost obou protokolů 2 Baby step-giant step algoritmus

Více

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

Trocha teorie Ošklivé lemátko První generace Druhá generace Třetí generace Čtvrtá generace O OŠKLIVÉM LEMÁTKU PAVEL JAHODA O OŠKLIVÉM LEMÁTKU PAVEL JAHODA Prezentace pro přednášku v rámci ŠKOMAM 2014. Dělitelnost na množině celých čísel 3 dělí 6 Dělitelnost na množině celých čísel 3 dělí 6 protože Dělitelnost na množině celých

Více

4 Počítání modulo polynom

4 Počítání modulo polynom 8 4 Počítání modulo polynom Co se vyplatilo jendou, vyplatí se i podruhé. V této kapitole zavedeme polynomy nad Z p a ukážeme, že množina všech polynomů nad Z p tvoří komutativní okruh s jednotkou. Je-li

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

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

8 Kořeny cyklických kódů, BCH-kódy 24 8 Kořeny cyklických kódů, BCH-kódy Generující kořeny cyklických kódů Nechť K je cyklický kód délky n nad Z p s generujícím polynomem g(z). Chceme najít rozšíření T tělesa Z p, tedy nějaké těleso GF

Více

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

Modulární aritmetika, Malá Fermatova věta. Modulární aritmetika, Malá Fermatova věta. Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-03

Více

Diskrétní matematika 1. týden

Diskrétní matematika 1. týden Diskrétní matematika 1. týden Elementární teorie čísel dělitelnost Jan Slovák Masarykova univerzita Fakulta informatiky jaro 2015 Obsah přednášky 1 Problémy teorie čísel 2 Dělitelnost 3 Společní dělitelé

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

MPI - 5. přednáška. 1.1 Eliptické křivky

MPI - 5. přednáška. 1.1 Eliptické křivky MPI - 5. přednáška vytvořeno: 3. října 2016, 10:06 Doteď jsem se zabývali strukturami, které vzniknou přidáním jedné binární operace k neprázdné množině. Jako grupu jsme definovali takovou strukturu, kde

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie Kryptografie eliptických křivkek doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních

Více

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz Y36BEZ Bezpečnost přenosu a zpracování dat Róbert Lórencz 1. přednáška Úvod http://service.felk.cvut.cz/courses/y36bez lorencz@fel.cvut.cz Róbert Lórencz (ČVUT FEL, 2007) Y36BEZ Bezpečnost přenosu a zpracování

Více

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace Programování: základní konstrukce, příklady, aplikace IB111 Programování a algoritmizace 2011 Připomenutí z minule, ze cvičení proměnné, výrazy, operace řízení výpočtu: if, for, while funkce příklady:

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

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

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy... Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................

Více

Prvočísla, dělitelnost

Prvočísla, dělitelnost Prvočísla, dělitelnost Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 3. přednáška 11MAG pondělí 3. listopadu 2013 verze: 2014-11-03 11:28 Obsah přednášky

Více

Aritmetické funkce. Pepa Svoboda

Aritmetické funkce. Pepa Svoboda Aritmetické funkce Pepa Svoboda Abstrakt. V přednášce se seznámíme s aritmetickými funkcemi jako je Eulerova funkce nebo součet dělitelů. Ukážeme si jejich vlastnosti a spočítáme nějaké příklady. Ve druhé

Více

Zavedení a vlastnosti reálných čísel

Zavedení a vlastnosti reálných čísel Zavedení a vlastnosti reálných čísel jsou základním kamenem matematické analýzy. Konstrukce reálných čísel sice není náplní matematické analýzy, ale množina reálných čísel R je pro matematickou analýzu

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více

Diffieho-Hellmanův protokol ustanovení klíče

Diffieho-Hellmanův protokol ustanovení klíče Diffieho-Hellmanův protokol ustanovení klíče Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná grupa (G,

Více

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

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Jihomoravske centrum mezina rodnı mobility T-exkurze Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Brno 2013 Petr Pupı k Obsah Obsah 2 Šifrovací algoritmy RSA a ElGamal 12 2.1 Algoritmus RSA.................................

Více

Matematické algoritmy (11MAG) Jan Přikryl

Matematické algoritmy (11MAG) Jan Přikryl Prvočísla, dělitelnost Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 2. přednáška 11MAG ponděĺı 7. října 2013 verze: 2013-10-22 14:28 Obsah přednášky Prvočísla

Více

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

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon). Grupy, tělesa grupa: množina s jednou rozumnou operací příklady grup, vlastnosti těleso: množina se dvěma rozumnými operacemi příklady těles, vlastnosti, charakteristika tělesa lineární prostor nad tělesem

Více

Lineární algebra : Polynomy

Lineární algebra : Polynomy Lineární algebra : Polynomy (2. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních technologií České

Více

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

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve Faktorizace čísel pomocí řetězových zlomků Tento text se zabývá algoritmem CFRAC (continued fractions algorithm) pro rozkládání velkých čísel (typicky součinů dvou velkých prvočísel). Nebudeme se zde zabývat

Více

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

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie Obsah RSA šifrování 5. a 6. přednáška z kryptografie 1 RSA šifrování 2 Útoky na protokol RSA Útoky při sdíleném modulu nebo exponentu Útoky při malém soukromém exponentu Implementační útoky 3 Digitální

Více

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

5. a 6. přednáška z kryptografie RSA šifrování 5. a 6. přednáška z kryptografie Alena Gollová RSA širování 1/33 Obsah 1 RSA šifrování 2 Útoky při sdíleném modulu nebo exponentu Útoky při malém soukromém exponentu Implementační útoky 3

Více

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

VZOROVÝ TEST PRO 1. ROČNÍK (1. A, 3. C) VZOROVÝ TEST PRO. ROČNÍK (. A, 3. C) Zjednodušte daný příklad. (a 2 3 b 3 4) 2 (a 2 b 3 8) 3 max. 3 body 2 Ve které z následujících možností je uveden správný postup usměrnění daného zlomku a správný výsledek?

Více

Historie matematiky a informatiky Cvičení 1

Historie matematiky a informatiky Cvičení 1 Historie matematiky a informatiky Cvičení 1 Doc. RNDr. Alena Šolcová, Ph. D., KAM, FIT ČVUT v Praze 2014 Evropský sociální fond Investujeme do vaší budoucnosti Alena Šolcová Kapitola z teorie čísel Co

Více

Relativní Eulerova funkce

Relativní Eulerova funkce MUNDUS SYMBOLICUS 25 (2017) Relativní Eulerova funkce J. Nečas Abstract. The article deals with the sequence of ratios between values of the Euler function of the natural number n and that number n. Klíčová

Více

Riemannova hypotéza Martin Havlík 2. A

Riemannova hypotéza Martin Havlík 2. A Riemannova hypotéza Martin Havlík 2. A Motivace: Motivace mého projektu je jednoduchá, pochopit matematiky označovaný nejtěžší a nejdůležitější problém současné matematiky. Cíle: Dokázání téhle hypotézy

Více

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

Matematické algoritmy (11MAG) Jan Přikryl. verze: :29 Prvočísla, dělitelnost Matematické algoritmy (11MAG) Jan Přikryl 2. přednáška 11MAG pondělí 7. října 2013 verze: 2013-10-22 14:29 Obsah 1 Prvočísla 1 1.1 Vlastnosti prvočísel...................................

Více

M - Kvadratické rovnice a kvadratické nerovnice

M - Kvadratické rovnice a kvadratické nerovnice M - Kvadratické rovnice a kvadratické nerovnice Určeno jako učební tet pro studenty dálkového studia. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase.

Více

ElGamal, Diffie-Hellman

ElGamal, Diffie-Hellman Asymetrické šifrování 22. dubna 2010 Prezentace do předmětu UKRY Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus

Více

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

Historie matematiky a informatiky 2 7. přednáška Historie matematiky a informatiky 2 7. přednáška Doc. RNDr. Alena Šolcová, Ph. D., KAM, FIT ČVUT v Praze 5. října 2013 Evropský sociální fond Investujeme do vaší budoucnosti Alena Šolcová Kapitoly z teorie

Více

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

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa grupa komutativní podgrupa těleso generovaná prvkem, cyklická, řád prvku Malá Fermatova věta konečné těleso charakteristika tělesa polynomy ireducibilní prvky, primitivní prvky definice: G, je grupa kde

Více

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

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Eliptické křivky a RSA

Eliptické křivky a RSA Přehled Katedra informatiky FEI VŠB TU Ostrava 11. února 2005 Přehled Část I: Matematický základ Část II: RSA Část III: Eliptické křivky Matematický základ 1 Základní pojmy a algoritmy Základní pojmy Složitost

Více

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

Modulární aritmetika, Malá Fermatova věta. Modulární aritmetika, Malá Fermatova věta. Matematické algoritmy (11MAG) Jan Přikryl 4. přednáška 11MAG pondělí 3. listopadu 2014 verze: 2014-11-10 10:42 Obsah 1 Dělitelnost 1 1.1 Největší společný dělitel................................

Více

pro každé i. Proto je takových čísel m právě N ai 1 +. k k p

pro každé i. Proto je takových čísel m právě N ai 1 +. k k p KOMENTÁŘE ÚLOH 43. ROČNÍKU MO, KATEGORIE A 1. Přirozené číslo m > 1 nazveme k násobným dělitelem přirozeného čísla n, pokud platí rovnost n = m k q, kde q je celé číslo, které není násobkem čísla m. Určete,

Více

3. Podmíněná pravděpodobnost a Bayesův vzorec

3. Podmíněná pravděpodobnost a Bayesův vzorec 3. Podmíněná pravděpodobnost a Bayesův vzorec Poznámka: V některých úlohách řešíme situaci, kdy zkoumáme pravděpodobnost náhodného jevu za dalších omezujících podmínek. Nejčastěji má omezující podmínka

Více

Generátory náhodných a

Generátory náhodných a Kapitola 5 Generátory náhodných a pseudonáhodných čísel, generátory prvočísel V roce 1917 si Gilbert Vernam nechal patentovat šifru, která nyní nese jeho jméno. Byl přesvědčen, že je to zcela bezpečná

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání

Více

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.

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. KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení

Více

Lineární algebra : Násobení matic a inverzní matice

Lineární algebra : Násobení matic a inverzní matice Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A

Více

Algoritmy okolo teorie čísel

Algoritmy okolo teorie čísel Algoritmy okolo teorie čísel Martin Mareš mj@ucw.cz, 22. 1. 2011 Úvodem Tento textík rozebírá několik základních algoritmických problémů souvisících s teorií čísel: počítání největších společných dělitelů

Více

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)

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) C Ať C je [n, k] q kód takový, že pro každé u 1,..., u n ) C je také u 2,..., u n, u 1 ) C. Jinými slovy, kódová slova jsou uzavřena na cyklické posuny. Je přirozené takový kód nazvat cyklický. Strukturu

Více

1 Polynomiální interpolace

1 Polynomiální interpolace Polynomiální interpolace. Metoda neurčitých koeficientů Příklad.. Nalezněte polynom p co nejmenšího stupně, pro který platí p() = 0, p(2) =, p( ) = 6. Řešení. Polynom hledáme metodou neurčitých koeficientů,

Více

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,

Více

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

Odpřednesenou látku naleznete v kapitolách skript Abstraktní a konkrétní lineární algebra. nad obecným tělesem a lineární kombinace Odpřednesenou látku naleznete v kapitolách 1.1 1.4 skript Abstraktní a konkrétní lineární algebra. Jiří Velebil: A7B01LAG 1.10.2015: 1/20 nad obecným tělesem Co

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména

Více

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty. Kapitola 4 Tělesa Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty. Všechna čísla byla reálná, vektory měly reálné souřadnice, matice měly reálné prvky. Také řešení soustav

Více

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 1. Středy stran AC, BC označme postupně, N. Střed kružnice vepsané trojúhelníku KLC označme I. Úvodem poznamenejme, že body K, L

Více

Arnoldiho a Lanczosova metoda

Arnoldiho a Lanczosova metoda Arnoldiho a Lanczosova metoda 1 Částečný problém vlastních čísel Ne vždy je potřeba (a někdy to není ani technicky možné) nalézt celé spektrum dané matice (velké řídké matice). Úloze, ve které chceme aproximovat

Více

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar Řešte v : má rovnice tvar takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar takže rovnice v zadání má v tomto případě opět jedno řešení. Sjednocením obou případů dostaneme úplné

Více

Lineární algebra Kapitola 1 - Základní matematické pojmy

Lineární algebra Kapitola 1 - Základní matematické pojmy Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,

Více

Algoritmy okolo teorie čísel

Algoritmy okolo teorie čísel Úvodem Algoritmy okolo teorie čísel Martin Mareš mj@ucw.cz Tento textík rozebírá několik základních algoritmických problémů souvisících s teorií čísel: Notace. počítání největších společných dělitelů řešení

Více

= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme

= - rovnost dvou výrazů, za x můžeme dosazovat různá čísla, tím měníme - FUNKCE A ROVNICE Následující základní znalosti je nezbytně nutné umět od okamžiku probrání až do konce kapitoly (většinou do napsání čtvrtletní písemné práce, na výjimky z tohoto pravidla bude upozorněno).

Více

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí: Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se

Více

Kryptografie založená na problému diskrétního logaritmu

Kryptografie založená na problému diskrétního logaritmu Kryptografie založená na problému diskrétního logaritmu Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná

Více

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

BCH kódy. Alena Gollová, TIK BCH kódy 1/27 7. přednáška z algebraického kódování Alena Gollová, TIK 1/27 Obsah 1 Binární Alena Gollová, TIK 2/27 Binární jsou cyklické kódy zadané svými generujícími kořeny. Díky šikovné volbě kořenů opravuje kód

Více

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

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 10:52 Obsah 1 Čínská věta o zbytcích 2 1.1 Vlastní tvrzení.....................................

Více

M - Kvadratické rovnice

M - Kvadratické rovnice M - Kvadratické rovnice Určeno jako učební tet pro studenty denního i dálkového studia. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase. Více informací

Více

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem Ing. Festival Fantazie, 2013 Osnova 1 Základní pojmy Obtížnost Kryptografie 2 Základní princip Matematické souvislosti Historie 3 Vymezení pojmů Základní pojmy Obtížnost Kryptografie

Více

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních

Více

Kvantové algoritmy a bezpečnost. Václav Potoček

Kvantové algoritmy a bezpečnost. Václav Potoček Kvantové algoritmy a bezpečnost Václav Potoček Osnova Úvod: Kvantové zpracování informace Shorův algoritmus Kvantová distribuce klíče Post-kvantové zabezpečení Úvod Kvantové zpracování informace Kvantový

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Lineární algebra : Metrická geometrie

Lineární algebra : Metrická geometrie Lineární algebra : Metrická geometrie (16. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 6. května 2014, 10:42 1 2 Úvod Zatím jsme se lineární geometrii věnovali v kapitole o lineárních

Více

Aplikovaná numerická matematika - ANM

Aplikovaná numerická matematika - ANM Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Limita funkce. FIT ČVUT v Praze. (FIT) Limita funkce 3.týden 1 / 39

Limita funkce. FIT ČVUT v Praze. (FIT) Limita funkce 3.týden 1 / 39 Limita funkce FIT ČVUT v Praze 3.týden (FIT) Limita funkce 3.týden 1 / 39 Definice funkce. Zobrazení (f, D f ), jehož definiční obor D f i obor hodnot H f je podmnožinou množiny reálných čísel, se nazývá

Více

Pomocný text. Polynomy

Pomocný text. Polynomy Pomocný text Polynomy Tato série bude o polynomech a to zejména o polynomech jedné proměnné (pokud nebude uvedeno explicitně, že jde o polynom více proměnných). Formálně je někdy polynom jedné proměnné

Více

Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. (A7B01MCS) I. Matematická indukce a rekurse. Indukční principy patří

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Metody výpočtu limit funkcí a posloupností

Metody výpočtu limit funkcí a posloupností Metody výpočtu limit funkcí a posloupností Martina Šimůnková, 6. listopadu 205 Učební tet k předmětu Matematická analýza pro studenty FP TUL Značení a terminologie R značí množinu reálných čísel, rozšířenou

Více