- Optimization Methods 50:198:461, 56:198:561
Introduction to various methods based on linear programming (LP) to solve discrete optimization problems. The topics covered include introduction to non-linear optimization, and especially linear optimization (linear programming with the simplex algorithm); network flows, and application of LP-based techniques to solve certain optimization problem. Prerequisites: 50:640:121 or 50:640:130; and 50:640:250.
Required textbook: J. Matoušek, B. Gärtner, Understanding and Using Linear Programming, Springer (2007).
- Crytography and Computer Security 50:198:475, 56:198:575
Secret-key cryptography, one-way function, cryptographic hash functions; public-key cryptography, key agreement, digital signatures; secret sharing; message and user authentication; key management; attacks; practical applications to computer and communications security. Prerequisites: 50:198:113; and 50:640:237 or 50:198:171.
A. Menezes, P. van Oorschot and S. Vanstone, Handbook of applied cryptography, CRC Press (1996) (see http://cacr.uwaterloo.ca/hac/ ).
N. Ferguson, B. Schneier, and T. Kohono, Cryptography Engineering, Wiley (2010).
- Numerical Methods 50:198:481 and 56:198:581
Computational techniques for solving scientific problems: Precision, IEEE floating point representation, interpolation, root finding, numerical integration, numerical differentiation, approximation of functions, functions minimization, numerical linear algebra, numerical solutions of ordinary differential equations.
Textbook: R.L. Burden, J.D. Fayres, Numerical Analysis (any edition from 4th onward).
ResearchComputational complexity, cryptography and computer security (graphical passwords), automata theory, complexity of problems in combinatorial group theory; publications.
The Graphical Passwords Project
in cooperation with D. Hong, N. Memon, S. Man, and S. Wiedenbeck: