**Courses**

*Fall 2017 *

** - 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).

** - 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 http://cacr.uwaterloo.ca/hac/ ).

N. Ferguson, B. Schneier, and T. Kohno,
*Cryptography engineering*, Wiley (2010).

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

* Research *

The *Graphical Passwords Project*
in cooperation with D. Hong, N. Memon, S. Man, and S. Wiedenbeck:
Page.