'; print ''; ?>

Sergey Nikolenko

Sergey Nikolenko

Main pageBooks'; print '
Research papers'; print '
Talks and posters'; print '
Students'; print '
Popular science'; print '
Other stuff'; print '

   Research'; print '
CS and crypto'; print '
Bioinformatics'; print '
Machine learning'; print '
Algebraic geometry'; print '
Algebra'; print '
Bayesian networks'; print '
Earth sciences'; print '

   Teaching'; print '
 2014'; print '
ML, KFU'; print '
Game Theory, HSE'; print '
Mech. Design, HSE'; print '
ML, CSClub Kazan'; print '
Game theory, HSE'; print '
Math. logic, AU'; print '
Machine learning, STC'; print '
Machine learning, AU'; print '
 2013'; print '
Discrete math, HSE'; print '
Machine learning, STC'; print '
Math. logic, AU'; print '
Cryptography, AU'; print '
 2012'; print '
Machine learning, STC'; print '
Math. logic, AU'; print '
Machine learning II, AU'; print '
Machine learning, AU'; print '
Machine learning, EMC'; print '
 2011'; print '
Cryptography, AU'; print '
Math. logic, AU'; print '
Machine learning, AU'; print '
 2010'; print '
Math. logic, AU'; print '
Machine learning, AU'; print '
Cryptography, AU'; print '
 2009'; print '
Crypto in CS Club'; print '
Statistics'; print '
Machine learning, AU'; print '
Cryptography'; print '
 2008'; print '
Speech recognition'; print '
MD for CS Club'; print '
ML for CS Club'; print '
Mechanism design'; print '
 2007'; print '
Machine Learning'; print '
Probabilistic learning'; print '

  External links'; print '
Google Scholar profile'; print '
DBLP profile'; print '
LiveJournal account
userinfonikolenko (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)