CS456/MA456 Cryptography

Spring 2005

Instructor: Christino Tamon
Lecture: Snell 129 TR 4:00-5:15pm
Office hours: Science Center 373 TR 10:45-12:15, 15:00-16:00
Pre-requisites: MA211 or MA346, good programming skills and/or mathematical curiosity.
Cryptography is the study of secure communication over insecure channels. We will study the basic methods and concepts in theoretical cryptography along with their applications. The course will look at concepts such as one-way functions and trapdoor permutations (functions that are easy to compute but computationally hard to invert), pseudorandom generators (devices that produces sequences that are computationally random), public-key cryptosystems (secure systems that require no secret agreement), one-way hash functions (tools to authenticate messages and to verify data integrity), digital signatures (mechanisms for signing documents), and zero-knowledge proofs (convincing a party of an undeniable fact without revealing its proof).

Most of these topics require background in number theory and probability theory. The first part of the course will be spent on developing the necessary background in these areas, mainly number theory. The second part of the course is spent on the applications of these to building cryptographic tools.

An alternative underlying theme of the course is the rise and fall of the RSA cryptographic system. Theoretical properties and improvements of the RSA system will be discussed in detail. Then a discussion of Shor's quantum algorithm for Factoring will be described. Finally, a brief look at simple quantum cryptography will be given.

GRADING: Assignments and Quizzes 40%, Midterm 20%, Final 40%

Main: Bruce Schneier, "Applied Cryptography," 2nd edition, Wiley (1996)

Recommended: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, "Introduction to Algorithms," 2nd edition, The MIT Press (2001) (on reserve)

Other references: David M. Bressoud, "Factorization and Primality Testing," Springer-Verlag (1989)
Jonathan Knudsen, "Java Cryptography," O'Reilly (1998) (in ERC library)
Scott Oaks, "Java Security," O'Reilly (1998) (in ERC library)

The objective of this course is to learn fundamental issues and important algorithms involved in the field of cryptography.

The specific outcomes are as follows:

Although attendance is not mandatory, students are responsible for all course materials covered in lectures and any exams given during class periods. Students that need to make up missing course work must provide the required Clarkson official exempt form. All students must submit their own work; the exchange of ideas are encouraged but ultimately the submitted work must be the student's own. Please refer to the Clarkson University Regulations for more guidelines on academic integrity and related matters.

D. Boneh's cryptography course at Stanford; there are some useful handouts at the end.

J. Watrous's QFT talk at MSRI.