Osnovni algoritmi u teoriji brojeva. Algoritmi za množenje velikih prirodnih brojeva. Euklidov algoritam. Kineski teorem o ostacima. Verižni razlomci. Kvadratne kongruencije. Kvadrati i kvadratni korijeni. LLL-algoritam.

Kriptografija javnog ključa. Kriptosustavi zasnovani na problemu faktorizacije. Kriptosustavi zasnovani na problemu diskretnog logaritma. Ostali kriptosustavi s javnim ključem. Primjena LLL-algoritma u kriptoanalizi.

Testiranje i dokazivanje prostosti. Distribucija prostih brojeva. Pseudoprosti brojevi. Miller-Rabinov, AKS i drugi testovi prostosti.

Metode faktorizacije. Pollardova ρ-metoda. Pollardova p-1 metoda. Metoda verižnog razlomka. Metoda kvadratnog sita.



Eliptičke krivulje nad poljem racionalnih brojeva. Zbrajanje točaka na eliptičkoj krivulji. Mordell-Weilova grupa eliptičke krivulje nad poljem racionalnih brojeva. Algoritmi za računanje torzijske grupe i ranga.

Eliptičke krivulje nad konačnim poljima. Efikasna implementacija osnovnih operacija na eliptičkih krivuljama. Eliptičke krivulje nad poljima karakteristike 2. Algoritmi za određivanje reda grupe točaka na eliptičkoj krivulji.

Kriptografija javnog ključa. Ideja javnog ključa. Kriptosustavi zasnovani na problemu faktorizacije i problemu diskretnog logaritma u konačnoj grupi. Digitalni potpis.

Kriptosustavi koji koriste eliptičke krivulje. Analogoni El-Gamalovog i DSA kriptosustava. Usporedba s ostalim kriptosustavima javnog ključa. Problem diskretnog logaritma za eliptičke krivulje. Izbor parametara kriptosustava.

Ostale primjene eliptičkih krivulja. Lenstrina metoda faktorizacije. Dokazivanje prostosti pomoću eliptičkih krivulja.



Jupyter, Scipy stack (numpy, pandas, matplotlib), sympy, Markdown; LaTeX stack, lokalizacija (KOMAScript, babel, csquotes), TikZ, Beamer

Cilj kolegija je studente upoznati s osnovnim tehnikama numeričke matematike koje se koriste u financijama, a posebno u analizi financijskih instrumenata i produkata na tržištu novca.

Cilj kolegija je stjecanje vještine primjene naučenih numeričkih metoda koristeći računala. Također bi se produbilo shvaćanje pojmova aproksimacije, perturbacije, stabilnosti. Za razliku od kolegija Znanstveno računanje 1, ovdje bi se koristilo grafičko okruženje tipa MATLAB (Činjenica je da se u modernim inženjerskim aplikacijama modeliranje, analiza i numeričko računanje izvršavaju korištenjem sofisticiranih paketa kao što je MATLAB). Time bi se studente oslobodilo detalja programiranja a dala bi se sloboda eksperimentiranja s kompliciranijim studijskim problemima. Time je ovaj kolegij u isto vrijeme praktikum iz modeliranja i računanja.