Rýchle algoritmy
2015/16 -- letný semester, rozsah 2-2
Vyučujúci
doc.RNDr. Karol Nemoga, CSc., nemoga@mat.savba.sk
Zadanie (vykonávateľný modul s interfejsom na overenie správnosti výpočtu) odovzdávajte osobne doc.Nemogovi. Miesto a čas si musíte dohodnúť individuálne. Za dvojicu stačí odovzdať jeden spoločný program. |
Termíny skúšok: Riadny termín: štvrtok 2.júna 2016 - o 11oo Rozdelenie do miestností:
Opravný termín: pondelok 27.júna 2016 - 2.beh - CD 300
|
Približné zloženie písomkových úloh (na skúške):
|
Konzultácie budú (ak sa medzitým nezmení situácia) v stredu 1.júna 2016 o 13oo, stretnutie pred CD 150. |
Stručná osnova predmetu
1. Úvodné pojmy. Euklidov algoritmus. Overovanie prvočíselnosti. Konštrukcia prvočísel.
2. Základy algebry, grupy, okruhy, polia, polynómy, rozšírenia, cyklotomické polynómy.
3. Konečné polia, štruktúra a reprezentácia, norma, stopa.
4. Konštrukcia ireducibilných a primitívnych polynómov, faktorizácia, Berlekampov algoritmus.
5. Lineárne rekurentné rovnice, reprezentácia riešení, LFSR, Berlekampov Masseyov algoritmus.
6. Riešenie rovníc nad konečnými poľami, efektívne výpočty, CRT.
7. Efektívne metódy aritmetiky, (Montgomery, Karacuba, Cook, ...).
8. Diskrétna Fourierova transformácia a jej aplikácie, konvolúcie, Winogradov algoritmus.
9. Eliptické krivky, výpočty.
10. NTL, softvérové balíky pre výpočty.
11. Mrežové body, LLL algoritmus, aplikácie v kryptológii.
12. Riešenie veľkých sústav rovníc, Laczosova a Wiedemanova metóda.
Literatúra
- LIDL, R. -- NIEDERREITER, H.: Finite Fields. Cambridge: Cambridge University Press, 2nd Ed., 1997. 768 s. ISBN 0-521-39231-4.
- POMERANCE, C. -- CRANDALL, R.: Prime Numbers. New York: Springer, 2001. 546 s. ISBN 0-387-94777-9.
- WILF, H.S.: Algorithms and Complexity.
COHEN, H. -- FREY, G. et al.: Handbook of Elliptic and Hyperelliptic Curve Cryptography, Chapman & Hall/CRC
- LeVEQUE, W.: Fundamentals of Number Theory
- HOFFSTEIN, J. -- PIPHER, J. --SILVERMAN, J.: An Introduction to Mathematical Cryptography, Springer
Podmienky na absolvovanie predmetu
Z celkového počtu 100 bodov môže študent získať
- 30 bodov za priebežnú písomku
- 30 bodov za zadanie (v priebehu semestra študenti vypracujú zadanie zamerané na výpočty v konečných poliach, zadaný výpočet implementujú do podoby vykonávateľných modulov s interfejsom na overenie správnosti výpočtu)
- 40 bodov za záverečnú skúškovú písomku
Pre udelenie zápočtu je potrebné získať z písomky a zadania aspoň 30 bodov. Účasť na prednáškach a cvičeniach je nutná.
Prílohy, linky
Tabuľka hodnôt Eulerovej funkcie (pre n<100)