Sergey NikolenkoMain page Books Research papers Talks and posters Students Popular science Other stuff Research CS and crypto Bioinformatics Machine learning Algebraic geometry Algebra Bayesian networks Earth sciences Teaching 2014 ML, KFU Game Theory, HSE Mech. Design, HSE ML, CSClub Kazan Game theory, HSE Math. logic, AU Machine learning, STC Machine learning, AU 2013 Discrete math, HSE Machine learning, STC Math. logic, AU Cryptography, AU 2012 Machine learning, STC Math. logic, AU Machine learning II, AU Machine learning, AU Machine learning, EMC 2011 Cryptography, AU Math. logic, AU Machine learning, AU 2010 Math. logic, AU Machine learning, AU Cryptography, AU 2009 Crypto in CS Club Statistics Machine learning, AU Cryptography 2008 Speech recognition MD for CS Club ML for CS Club Mechanism design 2007 Machine Learning Probabilistic learning External links Google Scholar profile DBLP profile LiveJournal account nikolenko (in Russian) | |
Teaching activities |
Cryptography
This course is presented in the fall of 2011 at the St. Petersburg Academic University
as part of the Chair of Mathematics and Computer Science.
- 1. Introduction. The subject and history of cryptography. Cryptographic attacks. Cryptographic primitives: hash functions, secret key, and public key protocols.
- Slides (.pdf, 2184kb)
- 2-3. Secret key cryptography. Block ciphers: ECB, CBC, CFB, and OFB. Message authenticity codes. Secret key cryptography via hash functions.
- Slides (.pdf, 1906kb)
- 4. Stream ciphers: synchronous and asynchronous codes, pseudorandom sequences, pn-sequences, LFSRs, linear complexity, non-linear shift registers.
- Slides (.pdf, 536kb)
- 5-6. Euclid's algorithm for polynomials, reconstructing rational functions, learning LFSRs. Reed-Solomon codes.
- See Chapter 17 of A Computational Introduction to Number Theory and Algebra
- 7. Key agreement protocols. Diffie-Hellman. AKEP. Shamir's protocol. Otway–Rees protocol. Kerberos. Needham–Shroeder protocol. X.509. Attacks: man-in-the-middle, reflection, interleaving, misplaced trust. Key distribution. Secret sharing.
- Slides (.pdf, 4776kb)
- 8. Factoring. Fermat's method. Kraitchik's method. Smooth numbers, their distribution. Quadratic sieve and its complexity. Solving linear systems: Wiedemann's algorithm.
- Slides (.pdf, 647kb)
- 9. Discrete logarithm. O(sqrt(n))-methods: Pollard's rho and Pollard's lambda. Index calculus: main idea and the first two phases.
- Slides (.pdf, 625kb)
- 10. Index calculus: third phase and complexity bound.
- Slides (.pdf, 1226kb)
- 11. Elliptic curves: basic definitions, singular and nonsingular curves, projective plane and projective curves. Resultants.
- See, e.g., J.S. Milne, Elliptic Curves.
- 12. Intersection numbers. Bezout's theorem. The group law on the elliptic curves.
- See, e.g., J.S. Milne, Elliptic Curves.
- 13. Lenstra's ECM algorithm.
- 14. Quantum computing: basics. Entanglement, interference, parallelism. Deutsch-Jozsa problem. Quantum Fourier transform. Shor's algorithm.
- Slides (.pdf, 461kb)
- 15. Noncommutative cryptography: groups in cryptography, Ko-Lee protocol, Anshel-Anshel-Goldfeld protocol. Braid groups. Attacks: length-based attacks and linearization.
- Slides (.pdf, 482kb)
|