CS 4770: Cryptography

CS 6750: Cryptography and Communication Security

Class Information

Calendar

Additional Reading

Other Resources

 

Instructor:

  • Instructor: Alina Oprea (alinao).

Class Schedule:

·         Tuesday 11:45am-1:25pm

·         Thursday 2:50pm – 4:30pm

·         Location: Snyder Library 13

Office Hours: Thursday, 4:30-6pm, WVH 348

Class description:

 

Cryptography provides the mathematical foundation and protocols for protecting information in today's electronic world. This class will cover the design and formal assessment of cryptographic primitives, including symmetric ciphers, hash functions, public-key encryption and digital signatures. We will also study how to use these primitives correctly and rigorously in real-world applications to achieve strong security guarantees. The course will include as case studies several emerging applications rooted in strong cryptographic foundations: cloud security, secure multi-party computation, and crypto-currencies.

 

Pre-requisites:

·         Discrete mathematics

·         Probability theory

·         Number theory

 

Textbook

Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography. Second Edition.

 

Grading

The grade will be based on:

 

-          Homework assignments – 20%

-          Programming projects – 25%

-          Midterm exam – 20%

-          Final exam – 25%

-          Class participation – 10%

 Calendar (Tentative)

 

Unit

Week

Date

Topic

Readings

Introduction

1

Tue

01/10

Course outline (syllabus, grading, policies)

Course overview and history of cryptography

[KL] Chapter 1

Perfect security

Thu

01/12

Probability overview

Perfectly secret cryptography

[KL] Chapter 2

 

Symmetric-key primitives

2

Tue

01/17

Computational security

Definition of secure encryption

Pseudorandom generators

[KL] Chapters 3.1 - 3.2

 

Thu

01/19

Reduction proofs

Construction of computationally secure encryption from PRG

[KL] Chapter 3.3

 

HW1 assigned

 

3

Tue

01/24

Constructions and attacks on stream ciphers

Pseudorandom functions

[KL] Chapters 6.1 and 3.5

Thu

01/26

Pseudorandom permutations and CPA-secure encryption

[KL] Chapters 3.4 and 3.5

 

4

Tue

01/31

Principles for designing block ciphers.

Block ciphers – DES and AES

[KL] Chapter 6.2

HW1 due

Thu

02/02

Modes of operation for block ciphers.

Padding-oracle attacks on CBC encryption.

[KL] Chapters 3.6 and 3.7

Project 1

 

5

Tue

02/07

Class canceled

 

 

Thu

02/09

School closed

 

 

6

Tue

02/14

Message Authentication Codes.

[KL] Chapter 4.1-4.4

Project 1 due 02/13

HW2

Hash functions

Thu

02/16

Authenticated encryption. Cryptographic hash functions.

[KL] Chapters 4.5, 5.1, and 5.2

 

7

Tue

02/21

Hash functions, attacks, Merkle trees.

[KL] Chapters 5.3 and 5.4

Public-key cryptography

Thu

02/23

Number theory basics.  Primality testing

[KL] Chapter 8

HW2 due

 

 

8

Tue

02/28

Key exchange (Diffie-Hellman, Needham-Schroeder).

[KL] Chapter 10

 

Thu

03/02

Midterm exam

 

 

Spring break

 

Tue

03/07

No class

 

 

Thu

03/09

No class

 

Public-key cryptography

9

Tue

03/14

School closed

HW3

 

Thu

03/16

 

Public-key encryption. Trapdoor permutations. RSA encryption.

[KL 11.1,11.2, 11.5]

 

10

Tue

03/21

Attacks against RSA. Discrete log-based encryption. El-Gamal cryptosystem.

 

 

[KL 11.4,12.1-12.4]

Project 2

Applications

Thu

03/23

Digital signatures (definition and RSA Full-Domain Hash construction)

PKI; Certification Authorities;

 

HW3 due

 

11

Tue

03/28

SSL/TLS and HTTPS

User authentication; one-time passwords; challenge-response protocols

 

Thu

03/30

Crypto currencies

 

J. Bonneau et al. SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies

 

Project 2 due 03/31

HW 4 out on 03/31

 

12

Tue

04/04

Class canceled

 

 

Thu

04/06

Cloud security using trusted hardware

Lecture by Amirali Sanatinia

 

13

Tue

04/11

Crypto currencies

HW4 due 04/10 – submissions accepted until 04/13

Project 3 04/11

 

 

Thu

04/13

Anonymity in Bitcoin, zero-knowledge proofs; commitments

I. Miers et al. Zerocoin: Anonymous Distributed E-Cash from Bitcoin

 

14

Tue

04/18

Secure two-party computation; oblivious transfer; Yao’s garbled circuits; homomorphic encryption

 

 

Thu

04/20

Review and prepare for final exam

 

 

Fri

04/21

Final exam; 3:30-5:30pm; Ell Hall 311

Project 3 due 04/26

 

 

 

Additional reading

 

 

 

 

Other resources

 

Books: