Fall 2018

Numerical methods   (50:198:481, 56:198:581)
Computational techniques for solving scientific problems: Precision and IEEE floating point representation, solving an equation, interpolation, numerical integration, approximation of functions, 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, Centage, Brooks/Cole (any edition from the 4th onward).

Cryptography and computer security   (50:198:475, 56:198:575)
Secret-key cryptography, one-way functions, 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.