comp547: Cryptography and Data Security

McGill School of Computer Science, Fall 2002

Course lecturer : Paul Dumais

Teaching assistants (TA) :
Carlton Davis
Geneviève Arboit

Notice

  • This course is worth 3 credits;
  • restriction: not open to students who have taken comp647;
  • prerequisite: comp360.
  • Course Purpose

    This course presents an in-depth study of modern cryptography and data security. We investigate two important subjects of cryptography: data encryption and message authentication. The basic information theoretic and computational security of modern cryptographic systems, either in private key or public key environment, are analyzed. We will also tackle the fascinating field of quantum cryptography. The course is self-contained and all necessary mathematical background will be explicitely covered. We expect students to possess minimal programming skills (in their preferred language).

    Syllabus

    1. Practical and historical cryptography
    2. Theoretical two party cryptography
      1. Mathematical toolbox
        1. Information theory
        2. Number theory
      2. Confidentiality
        1. Unconditional (long private key)
        2. Computational (short private key)
        3. With public key
      3. Authentication
        1. Unconditional (long private key)
        2. Computational (short private key)
        3. With public key
    3. Introduction to quantum cryptography

    Time and place

    Mondays, Wednesdays and Fridays from 13h35 to 14h25, Burnside Hall, room 1B23.

    Office hours

    Teacher : Mondays 10h-11h30,14h30-16h, McConnell Engineering Building, room 104.

    TA : Wednesdays 10h-11h30, McConnell Engineering Building, room 104.

    Evaluation

    Five assignments, each one is worth 10% of the final mark, and a final exam which is worth 50% of the final mark. If a supplemental exam is required, it will be worth 100% of the final mark.

    Calendar

  • September 4 : first lecture
  • September 25 : assignment 1 due
  • October 9 : assignment 2 due
  • October 13 : withdrawal deadline
  • October 25 : assignment 3 due
  • November 13 : assignment 4 due
  • November 20 : course evaluation
  • December 4 : assignment 5 due
  • December 4 : last lecture
  • December 18, 2:00pm, GYM : final examination
  • References

    Some course notes

  • Crypto Glossary (PS) (PDF).
  • Conventions (PS) (PDF).
  • Simple Ciphers (PS) (PDF).
  • Iterated Cipher (PS) (PDF).
  • Key Scheduling (PS) (PDF).
  • SPN (PS) (PDF).
  • Modes of Operation for Block Ciphers (PS) (PDF).
  • AES (PS) (PDF).
  • Entropy quick reference (PS) (PDF).
  • Number theory quick reference(PS) (PDF).
  • Number theory tasks for which efficient algorithms are known(PS) (PDF).
  • Computationally hard problems in number theory(PS) (PDF).
  • Hierarchy of computationally hard problems in number theory(PS) (PDF).
  • Overview of number theory based public-key cryptography(PS) (PDF).
  • Cryptographic tasks for honest participants(PS) (PDF).
  • Quantum key agreement slides(PS) (PDF).
  • Links

  • Enigma Simulator
  • AES
  • AES under attack? See also this link.
  • Assignments

  • Assignment 1 (deadline: September 25) 
  • Assignment 2 (deadline: October 9) (PS) (PDF)
  • Assignment 3 (deadline: October 25) (PS) (PDF)
  • Assignment 4 (deadline: November 13) (PS) (PDF) Solutions (PS) (PDF)
  • Assignment 5 (deadline: December 4)
  • Mailing list

    If you want to be added to or removed from the comp547-Fall-2002 mailing list, or if you have any question about this course, please email your request.