CSC 580: Cryptography and Security in Computing

Detailed Schedule

The following calendar shows topics covered, handouts given, and assignments that have been given and when they are due. Items with yellow background are tentative (either because the date is in the future or because I haven't gotten around to updating it). All items with a white background are final.

In all cases, "Reading" assignments are to be done before the next class meeting.

 
Week 1
Tues, January 17 Thurs, January 19
Topics:
  • Introductions
  • Class/syllabus review
  • High-level security overview
Handouts: Reading: Textbook, Chapter 1
Topics: [Slides]
  • Security mindset and terminlogy
  • Secure Design Principles
  • System / Security Modeling
  • Attack Trees
Handout: Homework 1
 
Reading: Textbook, Sections 2.1-2.3
Week 2
Tues, January 24 Thurs, January 26
Topics: [Slides]
  • HW Solution Discussion
  • Basic Math for Crypto:
    • Divisibility
    • Greatest Common Divisor
    • Modular Arithmetic
Handout: Project Phase 1 (due Feb 7)
 
Reading:
  Sections 3.1, 3.2 (skip Hill cipher), 3.5
Topics: [Slides]
  • Quiz (based on HW 1)
  • Number sizes and estimates
  • Encryption basics / models
  • Types of attacks
Handouts: Reading: Sections 4.1, 4.2, 4.4
Week 3
Tues, January 31 Thurs, February 2
Topics: [slides from previous meeting]
  • HW Solution Discussion
  • Classical encryption techniques
  • One-time pad
  • Working with binary data
  • Steganography
Reading:
  Introduction from "JCA Reference Guide"
Topics: [Slides]
  • Quiz (based on HW 2)
  • Feistel Networks
  • DES
  • Block cipher security
  • Strength of DES
Handouts: Reading: AES Handout
Week 4
Tues, February 7 Thurs, February 9
Due: Project phase 1
 
Topics:
  • HW 3 Solution Discussion
  • Brief project design discussion
  • Java Cryptography Architecture
Handout: Project phase 2 (due Feb 28)
Topics: [Slides]
  • Quiz (based on HW 3)
  • Project design discussion
Handout: Homework 4
 
Reading: Sections 7.1-7.6
Week 5
Tues, February 14 Thurs, February 16
Topics:
  • Quiz 3 solution discussion
  • HW Solution Discussion
  • Chat Hub demo
  • AES
Topics: [Slides]
  • Quiz (based on HW 4)
  • Multiple encryption and 3DES
  • Block cipher modes – idea
  • Modes: ECB, CBC, CFB, and CTR
Handouts:  
Reading: Section 7.7
Week 6
Tues, February 21 Thurs, February 23
Topics:
  • HW Solution Discussion
  • Complete basic modes discussion
  • Practical implementation issues
Reading: Sections 8.1-8.3
Topics: [Slides]
  • Quiz (based on HW 5)
  • Storage encryption: XTS-AES mode
Handouts: Reading: Security models handout
Week 7
Tues, February 28 Thurs, March 2
Due: Project phase 2
 
Topics: [Slides]
  • HW Solution Discussion
  • (Pseudo)random numbers – issues
  • Entropy
  • Pseudorandom generators
Topics:
  • Quiz (based on HW 6)
  • Security models – concepts
  • Security games
  • IND-CPA security
Handout: Homework 7
 
Reading: Sections 9.1, 2.4-2.6
Week 8
Tues, March 7 Thurs, March 9
Topics:
  • HW Solution Discussion
  • Practice with security proofs
Handout: Project phase 3 (due March 28)
 
Reading: Section 9.2, 2.8, 10.1-10.2
Topics: [Slides]
  • Quiz (based on HW 7)
  • IND-CCA security
  • Public-Key Crypto – ideas
  • Using RSA and Diffie-Hellman
  • Comparable key sizes across ciphers
Week 9
Tues, March 14 Thurs, March 16
 
No class - Spring Break!
 
 
No class - Spring Break!
 
Week 10
Tues, March 21 Thurs, March 23
Topics: [Slides]
  • Math for RSA
    • Fermat's Little Theorem
    • Primality testing (Miller-Rabin)
    • Euler's Totient Function
    • Euler's Theorem
  • RSA - the algorithm
Topics:
  • Discrete logarithms
  • Diffie-Hellman Key Establishment
  • Elliptic curve ideas
  • Security and key sizes
Handout: Homework 8
 
Reading: Chapter 11 (skip SHA-512 logic and SHA3 iteration function)
Week 11
Tues, March 28 Thurs, March 30
Due: Project phase 3
 
Topics: [Slides]
  • HW Solution Discussion
  • Hash functions – ideas
  • Hash function requirements
  • Status of current hash function security
  • Hash function applications
Handout: Grad Student Project Info
Topics:
  • Quiz (based on HW 8)
  • Discussion of project phase 4
Handouts:
Week 12
Tues, April 4 Thurs, April 6
Topics:
  • HW Solution Discussion
  • More hash function applications
Topics:
  • Quiz (based on HW 9)
  • Widely-used hash functions
Handout: Homework 10
 
Reading: Sections 12.1-12.5
Week 13
Tues, April 11 Thurs, April 13
Topics: [Slides]
  • HW Solution Discussion
  • Message Authentication Codes (MACs)
  • MAC requirements / security model
  • Digital signature and certificate ideas
  • Initial attempts at a MAC
 
Reading: Sections 12.7-12.9, 13.1, 13.2, 13.4
Topics: [Slides]
  • Quiz (based on HW 10)
  • HMAC
  • Authenticated encryption
Handout: Homework 11
 
Reading: Sections 13.6
Week 14
Tues, April 18 Thurs, April 20
Topics: [Slides]
  • HW Solution Discussion
  • More authenticated encryption
  • Key wrapping
  • PRNGs from hash functions and MACs
  • Digital Signatures – ideas
Reading: Sections 14.2-14.5
Topics: [Slides]
  • Quiz (based on HW 11)
  • El Gamal signatures
  • DSA (and EC-DSA idea)
  • RSA-PSS signatures
  • Key management
  • Certificates
  • Public-Key Infrastructure (PKI)
Handout: Homework 12
Week 15
Tues, April 25 Thurs, April 27
Due: Project phase 4
 
Topics:
  • HW Solution Discussion
  • Wrap up a few certificate topics
  • Student-choice topic: Bitcoin
Topics:
  • Quiz (based on HW 12)
  • Class Review
Final Exam: Tuesday, May 9, 12:00-3:00