[Home | Coding Theory Course Outline]

Cryptography Course
Text: Handbook of Applied Cryptography
Duration: 35 1-hour lectures (12 weeks, 3hrs/week)
(1 lecture for midterm makes total 36)

[Resources | Optional Topics | Project Suggestions]

Lecture 1: Overview and Introduction to Cryptography
Text: 1.1-1.4

  • course overview
  • discuss "big picture"
  • basic definitions (e.g., alphabets, plaintext, key, etc)

    Lecture 2: Mathematical Background I
    Text: 2.6, 14.3

  • gcd, a|b, euclidean algorithm, extended euclidean algorithm
  • introduce congruences, modular arithmetic

    Lecture 3: Mathematical Background II
    Text: 2.4

  • Chinese Remainder Theorem
  • residue classes, reduced residue systems

    Lecture 4: Mathematical Background III
    Text: 2.5

  • Abelian Groups

    Lecture 5: Symmetric Cryptosystems
    Text: 1.5, 7.1-7.3

  • definitions (e.g., symmetric, perfect secrecy)
  • security, types of attacks (e.g., chosen-plaintext, ciphertext-only, ...), cryptanalysis (e.g., frequency analysis)
  • classic examples (substitution ciphers, vigenere, one-time pad)

    Lecture 6: Stream Ciphers
    Text: ch. 6

  • Basic Definitions and Framework
  • Stream ciphers: using a pseudorandom bit generator to generate a keystream.
  • The RC4 stream cipher: key scheduling algorithm and keystream generator.

    Lecture 7: Block Ciphers, Feistel Ciphers
    Text: ch. 7

  • Definition of Block Ciphers,
  • how classic examples from lecture 5 work as block ciphers
  • modes of operation for Block Ciphers
  • definition, examples of Feistel Ciphers

    Lecture 8: Multiple Encryption
    Text: 2.1, 7.2-7.3

  • The birthday paradox
  • Double-encryption
  • Meet-in-the-middle attacks
  • Triple-encryption

    Lecture 9: DES/AES
    Text: 7.4

  • high-level description of DES
  • attacks
  • discuss AES

    Lecture 10: Hash Functions
    Text: ch. 9

  • description, construction and properties
  • keyed vs. unkeyed
  • attacks

    Lecture 11: More on Hash Functions
    Text: ch. 9

  • iterated hash functions
  • advanced attacks on hash functions

    Lecture 12: Data Integrity, Authentication, MAC
    Text: 9.5 - 9.7

  • Definition of a secure MAC algorithm.
  • Applications of MAC algorithms (data integrity, data origin authentication).
  • Generic attacks on MAC algorithms

    Lecture 13: Assymmetric Cryptosystems
    Text: ch. 8

  • definitions, overview and introduction
  • exponential ciphers

    Lecture 14: Algorithmic Number Theory
    Text: 2.3

  • input size
  • running time of an algorithm, big-O notation
  • polynomial time
  • running time for basic integer operations

    Lecture 15: Number Theory Background
    Text: 2.4, 4.6

  • Generator of Zn*, where n is prime.
  • The Euler phi function.
  • Number of elements of order t in Zp*.

    Lecture 16: Probabilistic Primality Testing
    Text: 4.1 - 4.2

  • Fermat Test
  • Miller-Rabin Test
  • Carmichael Numbers

    Lecture 17: True Primality Testing
    Text: 4.3

  • Mersenne numbers
  • prime test using factorization of n-1
  • Prime number generation (random search, strong primes)

    Lecture 18: Factoring Integers I
    Text: 3.2

  • trial division
  • quadratic sieve, running time
  • multiple polynomial variant
  • parallization

    Lecture 19: Factoring Integers II
    Text: 3.2

  • Pollard's rho algorithm
  • Pollard's p-1 algorithm

    Lecture 20: Introduction to RSA
    Text: 8.1 - 8.2, 11.3

  • key-pair generation
  • encryption scheme
  • signature scheme

    Lecture 21: Security of RSA Encryption
    Text: 3.3, 8.2

  • The RSA problem (RSAP) and its relation to factoring
  • Chosen-ciphertext attack on Basic RSA
  • Forward search attack on Basic RSA

    Lecture 22: Security of RSA Key Generation
    Text: 11.3

  • security of the key generation process

    Lecture 23: Discrete Logarithm Cryptographic Schemes
    Text: 3.6, 11.5

  • The discrete logarithm problem
  • The digital signature algorithm (DSA)

    Lecture 24: Diffie-Hellman, ElGamal
    Text: 3.7, 8.4, 11.5, 12.6

  • Diffie-Hellman key exchange
  • ElGamal Cryptosystem and signature scheme

    Lecture 25: Diffie-Hellman, ElGamal CONT'D

  • finish covering topics of lecture 24

    Lecture 26: Key Establishment
    Text: ch. 12

  • framework
  • key transport (symmetric)
  • key agreement (symmetric)
  • analysis of key establishment protocols

    Lecture 27: Identification Protocols
    Text: ch. 10

  • passwords (weak)
  • challenge-response (strong)
  • attacks

    Lecture 28: Digital Signatures
    Text: 11.2, 11.6, 11.8

  • framework (section 11.2 of text)
  • one time digital signatures
  • signatures with additional functionality

    Lecture 29: Public Key Management I
    Text: 13.1 - 13.4

  • basic concepts
  • Authentication trees

    Lecture 30: Public Key Management II
    Text: 13.4, 13.6 - 13.8

  • Certification authorities.
  • Public-key infrastructure.
  • The certification process.
  • Trust models (cross certification).

    Lecture 31: Wireless Security, 802.11
    Text: -- External source required --

  • Wired Equivalent Privacy (WEP) security protocol.
  • Security goals of WEP (confidentiality, data integrity, access control).
  • Description of the WEP protocol.
  • Note: this lecture will require use of some papers on 802.11 as it is not covered in the textbook

    Lecture 32: Analysis of 802.11 security
    Text: -- External source required --

  • Confidentiality is not provided (since IV collisions can be found)
  • Data integrity is not provided (since the checksum is linear)
  • Access control is not provided (since the integrity function is unkeyed)
  • Devastating attack by Fluhrer, Mantin and Shamir
  • Key recovery by a passive adversary
  • Script kiddies: Airsnort, WEPCrack. (Definition of a script kiddie)

    Lecture 33: Internet Security
    Text: 15.3.5, external source also required

  • IPsec and Virtual private networks (VPNs)
  • Web security (SSL/TLS)

    Lecture 34: Current Events
    Text: -- External source required --

  • choose a recent, relevant security topic
  • security news and cryptographic journals should provide plenty of topics

    Lecture 35: Overflow Lecture/Review

  • This lecture is unplanned in order to leave room for some other lecture to require 2 sessions
  • or a holiday will cause a lecture day to be missed
  • if this is not necessary, a final exam review is useful for students

    [Top]


    Resources
  • Cryptography Seminar
  • CO 487
  • Encryption web course
  • Cryptography papers available online

    Additional Optional Topics

  • use of elliptic curves in cryptography
  • quantum cryptography
  • DNA encryption
  • patents and licensing, Canada's laws about cryptography

    Project Suggestions

  • research paper (students choose topic, provide list of suggestions)
  • computer-based project: implement simple attacks to be tested on messages written by prof, or implement simple cryptosystem, or implement prime number generator