CS 355: Topics in Cryptography
Syllabus
(Spring 2000)
The course is a seminar on topics in cryptography. Course topics this
year include pseudorandomness, security notions for both encryption
and signatures, random oracle analysis, and a bit of distributed computations.
The course is intended for graduate students interested in
cryptography research.
Topic by lecture  highly tentative
 Introduction. Crash course in probability, pair wise independence, large deviation bounds.
Part I: Pseudorandomness
 A bit of complexity theory. Definition of oneway functions.
Amplification of onewayness.
 Motivation and definition of PRNGs. Next bit test. Proof of universality.
 Hard core bits. BlumMicali generator. Example: discrete log.
 GoldreichLevin theorem. Application: generators based on subset sum.
 Definition of PRFs. Applications and constructions.
 Motivation and Definition of PRPs. LubyRackoff a la NaorReingold.
 Leftoverhash Lemma. (HILL)
Part II: Security notions
 When is a cipher secure? Semantic security. Nonmalleability.
 Constructions: probabilistic encryption, CramerShoup.
 Random oracle analysis
 When are digital signatures unforgable?
 Signatures based on strongRSA.
 Signatures based on UOWHF.
Part III: Zero knowledge protocols
 Interactive proof systems. Definition of zero knowledge. Examples.
 Zero knowledge proofs of knowledge. Authentication protocols.
 Witness indistinguishability.
 Non interactive zero knowledge.

Part IV: Basic distributed computation.
 Introduction to secure function evaluation. Applications.
 Oblivious transfer. Yao's two party protocol and GMW.
 The BGW multiparty protocol.
Return to course homepage.
Last update: Mar. 20, 2000 by
Dan Boneh.