COMP 655:   Cryptography

Instructor Mike Reiter
Office: Fred Brooks Building 350
Office hour: 2-3pm on Mondays indicated below
Location Sitterson Hall 011
Meeting times Mondays, Wednesdays 11:15am-12:30pm
Prerequisites COMP 455 (Models of Languages and Computation) and STOR 435 (Introduction to Probability) or their equivalent
Text There is no textbook for this class. Instead, the class will use a collection of papers and lecture notes.
Honor code The degree of collaboration permitted and the resources that should be used will be specified per assignment. However, the default policy is that no collaboration or resources except those specifically provided by the class (e.g., class notes and recommended readings) should be used in completing assignments. All work must be your own.
Course summary

Cryptography refers to algorithmic techniques for protecting information from adversaries. While traditional goals of cryptography include preventing unintended disclosure of that information or detecting its unauthorized alteration, the field has grown in the last thirty years to include much richer primitives and protocols. Cryptographic techniques are already the basis for many security mechanisms in common use today, including secure communication protocols (e.g., TLS, IPSec), disk encryption facilities (e.g., Microsoft's BitLocker), and signed code updates. The use of cryptography will undoubtedly grow in the future, and so an understanding of modern cryptography is warranted for anyone developing technologies for use in environments where adversaries might be present.

Cryptography is a class that will focus on cryptographic primitives that are in common use today, with an emphasis on understanding why they are secure and for what purposes they should be used. To accomplish this, topics will be treated in a rigorous way, with an emphasis on definitions of security properties and, where possible, proofs of why particular constructions achieve those definitions. Topics that will be covered include

  • Basics of abstract algebra
  • Pseudorandom functions and permutations
  • Symmetric encryption algorithms
  • Cryptographic hash functions
  • Message authentication codes
  • Information-theoretic security
  • Number theory and number-theoretic primitives
  • Asymmetric encryption
  • Digital signature schemes
  • Elliptic curve algorithms
  • Side-channel attacks
Time permitting, the class will also cover more advanced topics, such as
  • Interactive proofs and zero-knowledge proofs
  • Bilinear maps
  • Advanced key management techniques

Course schedule (subject to change)

Note: Class meets on days/dates in boldface.
Wk Day Date Topic Reading Comments
1 We Aug 23 Course introduction [slides]
Finite fields [slides]
UNC Honor Code  
2 Mo Aug 28 Finite fields (cont.); Pseudorandom functions [slides] Bellare & Rogaway, Ch. 4  
  We Aug 30 Pseudorandom functions (cont.)    
3 We Sep 6 Pseudorandom functions (cont.)    
4 Mo Sep 11 Pseudorandom functions (cont.)    
  We Sep 13 Symmetric encryption [slides] Bellare & Rogaway, Ch. 5  
5 Mo Sep 18 Symmetric encryption (cont.)    
  We Sep 20 Message authentication codes, hash functions, and authenticated encryption [slides] Bellare & Rogaway, Ch. 7 Homework 1 out
6 Mo Sep 25 Message authentication codes, hash functions, and authenticated encryption (cont.)    
  We Sep 27 Message authentication codes, hash functions, and authenticated encryption (cont.) McGrew and Viega 2004  
7 Mo Oct 2 Number theory [slides] Bellare & Rogaway, Ch. 9 Homework 1 due
  We Oct 4 Number theory (cont.)    
8 Mo Oct 9 Number-theoretic primitives [slides]
Office hour
Bellare & Rogaway, Ch. 10  
  We Oct 11 Asymmetric encryption [slides] Bellare & Rogaway, Ch. 11  
9 Mo Oct 16 Asymmetric encryption (cont.)    
  We Oct 18 Asymmetric encryption (cont.); Exam review    
10 Mo Oct 23 Midterm exam    
  We Oct 25 Random oracles [slides] Bellare & Rogaway 1993  
11 Mo Oct 30 Digital signatures [slides] Bellare & Rogaway, Ch. 12  
  We Nov 1 Digital signatures (cont.)    
12 Mo Nov 6 Interactive proofs [slides]    
We Nov 8 Interactive proofs (cont.)    
13 Mo Nov 13 Elliptic curve cryptography [slides]
Office hour
  Homework 2 due
  We Nov 15 Unconditional security [slides]    
14 Mo Nov 20 Rainbow tables (Maxwell Daum) [slides]
An enciphering scheme based on a card shuffle (Catherine Nemitz) [slides]
Oechslin 2003
Hoang et al. 2014
15 We Nov 29 Transport layer security (Adam Humphries) [slides]
Public key infrastructure (Mamtha) [slides]
Sections 1, 2, 5, 6.2.3, 6.3, 7.3, and 8 of Dierks & Rescorla 2008
Albarqi et al. 2015
Ellison & Schneier 2000
16 Mo Dec 4 Quantum cryptography (Neal Davis) [slides]
Post-quantum cryptography (Jeffrey Young) [slides]
Aditya & Rao
Bernstein 2009
  We Dec 6 Bitcoin (Ryan Court) [slides]
Visual cryptography (Brittany Subialdea) [slides]
Naor and Shamir 1994
17 Tu Dec 12 Final Exam