Fall 2018

- Numerical methods   (50:198:481, 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. Prerequisites: 50:198:113 and 50:640:122.
Required textbook:   R.L. Burden, J.D. Faires, Numerical analysis (any edition from the 4th onward).

- Cryptography 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.
Required textbooks:
A. Menezes, P. van Oorschot and S. Vanstone, Handbook of applied cryptography, CRC Press (1996)   (see ).
N. Ferguson, B. Schneier, and T. Kohno, Cryptography engineering, Wiley (2010).

[Reference page on C, Unix, Python, etc.:   Ref. page.]


Computational 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:   Page.