CSci 4554 Cryptography - Syllabus.

[Home] [Syllabus] [Assignments] [Resources and Handouts]

The course timeline

While I try to follow the timeline as closely as possible, keep in mind that topics, dates, and deadlines are subject to change. Changes to deadlines will be announced in class or by e-mail. It is your responsibility to keep up with the changes. If in doubt, please do not hesitate to ask me.

The date for the midterm is set. If you have any conflicts with this date, please let me know as soon as possible. No makeup exams will be given unless circumstances beyond your control prevented you from taking the test at the scheduled time AND you have notified me (in person, by e-mail, or by phone) in advance or, if this was not possible, as soon as it became possible.

In addition to the midterm and final there will be occasional short (about 15 minutes) quizzes on the current material. Exams and quizzes are open book, open notes, unless specified otherwise.

Missed quizzes are counted as 0. The lowest quiz grade in the semester will be dropped (i.e. it will not contribute to overall grade).

Late problem sets policy: Problem sets are due in the beginning of the class on the due date or electronically as stated in the problem set. If a problem set is submitted at (or before) the next class meeting after the due date, it is graded out of 3/4 credit. If it is submitted any time after the next meeting (until the last class meeting), then it is graded out of 1/2 credit.
Problem sets submitted more than 5 minutes after beginning of the class may be considered late.

Monday Wednesday Friday
Week 1: August 28 - 30
Summer break, no classes Overview of cryptography and its role in computer security.
The goals and approaches - the coin flipping example.
Reading: Ch. 1.1.
Communication environment and security of communication protocols: the authentication algorithm example.
Summary of assumptions and terminology.
Reading: Ch. 1.1.
Problem set 1 posted: basic notions in cryptography. Due Friday, September 6th.
Week 2: September 2 - 6
Labor day, no class. Symmetric cryptography: a substitution cipher, cryptoanalysis, modular arithmetic.
Reading: Ch. 1.2, 1.3, 1.4.
More substitution ciphers, weaknesses of substitution ciphers, Vigenere cipher.
Reading: Ch. 1.4, 1.5, 1.6.
Problem set 1 due.
Problem set 2 posted: substitution ciphers. Due Friday, September 13th.
Week 3: September 9 - 13
Stream ciphers vs block ciphers.
Use of stream ciphers. The one-time pad.
Reading: Ch. 2.1, 2.2.
Shift register-based stream ciphers.
Reading: Ch. 2.3, 2.4, 2.5.
Pseudo-random number generators.
Reading: a handout.
Problem set 2 due.
Problem set 3 posted: stream vs block ciphers, random number generators. Due Friday, September 20th.
Week 4: September 16 - 20
DES.
Reading: Ch. 3.
DES (cont.).
Reading: Ch. 3.

DES (cont.).
Reading: Ch. 3.
Problem set 3 due.
Problem set 4 posted: DES. Due Friday, Sept. 27.
Week 5: September 23 - 27
History and overview of AES and mathematical background.
Reading: Ch. 4.1, 4.2, 4.3.
AES algorithm.
Reading: Ch. 4.4 - 4.8.
AES algorithm (cont).
Problem set 4 due.
Problem set 5 posted: AES. Due Friday, October 4.
Week 6: September 30 - October 4
Modes of operation of block ciphers.
Reading: Ch. 5.
Modes of operation of block ciphers (cont.).
Modes of operation of block ciphers (cont.).
Problem set 5 due.
Problem set 6 posted: block ciphers. Due Friday, October 11.
Week 7: October 7 - 11
Overview of public key cryptography.
Reading: Ch. 6.1, 6.2
Mathematical background for public key cryptography.
Reading: Ch. 6.3, 6.4, 6.5
Mathematical background for public key cryptography (cont).
Problem set 6 due.
Problem set 7 posted: background for public key cryptography. Due Friday, October 25.
Week 8: October 14 - 18
Review for the exam
Midterm exam.
Covers material up to (including) Ch. 5 and all related handouts.
RSA
Reading: Ch. 7.1, 7.2, 7.3
Week 9: October 21 - 25
Fall break, no class
RSA (cont.).
Reading: Ch. 7.4, 7.5, 7.6
RSA (cont.).
Reading: 7.7 - 7.11
Problem set 7 due.
Problem set 8 posted: RSA. Due Friday, November 1.
Week 10: October 28 - November 1
Overview of Diffie-Hellman key exchange; some background on algebra; the discrete logarithm problem
Reading: 8.1, 8.2, 8.3.
Security of Diffie-Hellman key exchange; overview of ElGamal encryption
Reading: Ch. 8.4, 8.5.
ElGamal protocol; summary of discrete log based systems.
Reading: Ch. 8.6, 8.7
Problem set 8 due.
Problem set 9 posted: discrete logarithm based systems. Due Friday, November 8.
Week 11: November 4 - 8
Elliptic curve encryption. Reading: Ch. 9.
Algorithms based on elliptic curve encryption.
Digital signatures.
Reading: Ch. 10.1, 10.2
Problem set 9 due.
Problem set 10 posted: elliptic curve, digital signatures. Due Friday, November 15.
Week 12: November 11 - 15
Digital signatures (cont.).
Reading: Ch. 10.3, 10.4
Digital signatures (cont.)
Reading: Ch. 10.5 - 10.7
Hash functions.
Reading: Ch. 11.
Problem set 10 due.
Problem set 11 posted: digital signatures. Due Friday, November 22.
Week 13: November 18 - 22
Hash functions (cont.)
Message authentication codes.
Reading: Ch. 12
Message authentication codes (cont.).
Introduction to zero knowledge protocols.
Reading: handouts
Problem set 11 due.
Problem set 12 posted: hash functions, message authentication codes. Due Friday December 6.
Week 14: November 25 - 29
Zero knowledge protocols, electronic cash.
Reading: handouts
Problem set 13 posted: zero-knowledge protocols, electronic cash. Due Wednesday, December 11.

Problem set 14 posted: group paper on use of cryptography in real-life protocols. Preliminary paper due Friday, December 6. Presentations: December 6, 9, and 11. Final paper due the day of the final exam.
Work in the lab on problem set 13. Thanksgiving - no classes.
Week 15: December 2 - 6
Key establishment.
Reading: Ch 13
Key establishment.
Student presentations.
Preliminary paper due.
Problem set 12 due.
Week 16: December 9 - 13
Student presentations.
Student presentations.
Problem set 13 due.
Last day of classes
Review and wrap up.
Last day to submit any late work.
Final exam: 1:30-3:30 Tue, Dec 17, Sci 2185.