ICS 280: Introduction to the Theory of Cryptography

Winter Quarter, 2004

tentative outline 

list of reference readings

handouts (and homeworks)

 Instructor:       Stanislaw Jarecki


Course Description:

This course is an introduction to modern cryptography for graduate and advanced undergraduate students.   At the end of the course, the students will be able to understand current research in cryptography and, if interested, pursue such research themselves.  The cryptographic toolkit we will cover will be also useful for students interested in algorithms or in security.

Modern cryptography provides tools for the design of provably secure protocols.  It shows that complex security requirements of modern computer systems can be satisfied by algorithms that are provably secure against adversarial attacks, assuming some well-defined computational complexity assumptions.  Existence of such proofs allows practitioners to build computer systems whose security rests on firm foundations.  However, the resulting computer systems are secure only to the degree that they are implemented correctly (an issue we will not cover in this class), and that the security requirements imposed on the cryptographic algorithm correctly represent the operation of the system, and hence the types of attacks that can be launched against it.  We will touch on this last point quite often in our class, whenever we discuss the security requirement of any cryptographic tool.

This winter quarter course is intended as an introductory class, and so we will start with the fundamentals of modern cryptography and gradually move up to more complex cryptographic tools, which can then be applied to building secure protocols.  The primary focus of the class will be on:

The most important lesson of this course should be not any particular cryptographic construction, but the approach of modern cryptography:  (1) the  importance of defining the security requirements of the application at hand, and (2) knowing how to go about arguing if (and on what grounds) a proposed algorithm satisfies these requirements.

Tentative Outline:

See the tentative outline for the list of topics we will cover.

Background Reading List:

See the list of reference texts for the course


There will be about 4-6 homework sets (counting 70%) and a take-home final (20%).  You will be expected to actively participate in the class.  Depending on the attendance level, 10% of the grade will be either for class participation or for scribing the lecture notes.


There are no formal prerequsites for this class.  However:

The last three topics listed above will be briefly reviewed in class. In fact, if you are missing some of this background, see the reading list link above for review material which is available on-line.  Even if you do not have all the background listed above, you will be able to pick it up from the class review, and then consult the listed textbooks when needed.

This class is complementary to other UCI classes on security/cryptography:

No previous experience in cryptography or security is necessary for this class (see the prerequisites above), but for those students who have taken or are thinking of taking other UCI classes on security/cryptography, here is a word of explanation why this class differs from and complements the related UCI classes:

Last modified: 07 Jan 2004