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 9 Thurs, January 11
Topics:
  • Introductions
  • Class/syllabus review
  • High-level security overview
 
Handouts:  
Reading: Research handout
Topics: [ Slides ]
  • Research in Computer Science
  • Styles of research
  • Conferences and journals
  • Structure of a research paper
  • Getting started in research
 
Handouts: Project Information  
Reading: Textbook, Chapter 1
Week 2
Tues, January 16 Thurs, January 18
 
Special Class
Joint meeting with ISM 324
Location: SULV 201
 
[ Slides ]
 
Class canceled (snow)
Week 3
Tues, January 23 Thurs, January 25
Topics: [ Slides ]
  • Security mindset and terminlogy
  • Secure Design Principles
  • System / Security Modeling
  • Attack Trees
 
Reading: Textbook, Sections 2.1-2.3
Topics: [Slides]
  • Basic Math for Crypto:
    • Divisibility
    • Greatest Common Divisor
    • Modular Arithmetic
 
Handouts:
Week 4
Tues, January 30 Thurs, February 1
Topics:
  • HW Solution Discussion
  • Project Team Discussion
  • Number sizes and estimates
  • Time for project teams to meet
 
Reading:
  Sections 3.1, 3.2 (skip Hill cipher), 3.5
Topics: [Slides]
  • Quiz (based on HW 1)
  • Encryption basics / models
  • Types of attacks
  • Classical encryption techniques
  • One-time pad
  • XOR and working with binary data
  • Steganography
 
Handouts:  
Reading:
  • Sections 4.1, 4.2, 4.4
  • AES Handout
Week 5
Tues, February 6 Thurs, February 8
Due: Project Proposal
 
Topics: [Slides]
  • HW Solution Discussion
  • Feistel Networks
  • DES
 
Reading: Sections 7.1-7.6
Topics:
  • Quiz (based on HW 2)
  • Block cipher security
  • Strength of DES
  • AES
 
Handout: Ungraded Homework 3
 
Reading: Section 7.7
Week 6
Tues, February 13 Thurs, February 15
Topics: [Slides]
  • HW Solution Discussion
  • Multiple encryption and 3DES
  • Block cipher modes – idea
  • Modes: ECB, CBC, CFB, and CTR
 
Due: Graded Homework 1
 
Topics: [Slides]
  • Quiz (based on HW 3)
  • Storage encryption: XTS-AES mode
  • Programming with Crypto
    • Basic concepts
    • A look at Nextcloud source
 
Handout: Ungraded Homework 4
 
Reading: Sections 8.1-8.3
Week 7
Tues, February 20 Thurs, February 22
Due: Project Plan
 
Topics: [Slides]
  • HW Solution Discussion
  • (Pseudo)random numbers – issues
  • Entropy
  • Pseudorandom generators
 
Handouts:  
Reading: Security models handout
 
No class
Project work time
Week 8
Tues, February 27 Thurs, March 1
Topics:
  • HW Solution Discussion
  • Security models – concepts
  • Security games
  • IND-CPA security
 
Reading: Sections 9.1, 2.4-2.6
Topics:
  • Quiz (based on HWs 4 and 5)
  • IND-CCA security
  • Practice with security proofs
 
Handout: Graded Homework 2
Week 9
Tues, March 6 Thurs, March 8
 
No class - Spring Break!
 
 
No class - Spring Break!
 
Week 10
Tues, March 13 Thurs, March 15
Topics: [Slides]
  • Public-key crypto idea
  • Math for RSA
    • Fermat's Little Theorem
    • Primality testing (Miller-Rabin)
    • Euler's Totient Function
    • Euler's Theorem
 
Handout: Grad Student Project Info
 
Reading: Section 9.2
Topics: [Slides]
  • Demo of some research tools
  • RSA Encryption
  • Breaking RSA and factoring
  • Factoring algorithms
  • Comparable key sizes across ciphers
 
Handout: Ungraded Homework 6
 
Reading: Section 2.8, 10.1-10.2
Week 11
Tues, March 20 Thurs, March 22
Topics: [Slides]
  • HW Solution Discussion
  • Discrete logarithms
  • Diffie-Hellman Key Establishment
  • Elliptic curve ideas
  • Security and key sizes
 
Reading: Chapter 11 (skip SHA-512 logic and SHA3 iteration function)
Due:
  • Graded Homework 2
  • (Grad students) Project topic selection
 
Topics: [Slides]
  • Quiz (based on HW 6)
  • Hash functions – ideas
  • Hash function requirements
  • Hash function applications
 
Handout: Ungraded Homework 7
Week 12
Tues, March 27 Thurs, March 29
Topics: (continued from last time)
  • HW Solution Discussion
  • More hash function applications
  • Widely-used hash functions
  • Current status of various hash algorithms
  • Merkle-Damgard Construction
  • SHA3
 
Reading: Sections 12.1-12.6
Topics: [Slides]
  • Quiz (based on HW 7)
  • Message Authentication Codes (MACs)
  • MAC requirements / security model
  • Initial attempts at a MAC
  • HMAC
  • MACs from block ciphers
 
Handout: Ungraded Homework 8
 
Reading: Sections 12.7-12.9
Week 13
Tues, April 3 Thurs, April 5
Due: Project Progress Report
 
Topics: [Slides]
  • HW Solution Discussion
  • Authenticated encryption
  • Key wrapping
  • PRNGs from hash functions and MACs
 
Reading: Sections 13.1, 13.2, 13.4, 13.6
Topics: [Slides]
  • Quiz (based on HW 8)
  • Digital Signatures – ideas
  • El Gamal signatures
  • DSA (and EC-DSA idea)
  • RSA-PSS signatures
 
Handouts:  
Reading: Sections 14.2-14.5
Week 14
Tues, April 10 Thurs, April 12
Topics: [Slides]
  • HW Solution Discussion
  • Key management
  • Certificates
Topics: [Slides]
  • Quiz (based on HW 9)
  • Public-Key Infrastructure (PKI)
  • Needham-Schroeder[-Lowe]
  • Kerberos
 
Handout: Ungraded Homework 10
 
Reading: Chapter 17
Week 15
Tues, April 17 Thurs, April 19
Due: Project Final Report
 
Topics: [Slides]
  • HW Solution Discussion
  • Protocols - Goals
  • Ciphersuites and handshakes
  • SSL and TLS
  • SSH
Due: (Grad students) Progress Report
 
Topics:
  • Quiz (based on HW 10)
  • Student choice topic!
Week 16
Tues, April 24
Due: Graded Homework 3
 
Topics:
  • Class Review
Final Exam: Thursday, May 3, 3:30-6:30