CMPUT 299 - Computational Cryptography

Overview

Cryptography is the science of secure communications. This course is an introduction to computational methods for encrypting and deciphering messages, and is intended for students who enjoy programming.

Objectives

Understanding of:

  • Classic encryption ciphers
  • Decipherment of classic ciphers
  • Language models
  • Frequency analysis
  • Affine ciphers
  • Decipherment of polyalphabetic ciphers
  • The unbreakability of the one-time pad cipher
  • Pseudo-random numbers, prime numbers
  • Public keys and RSA
  • Natural language decipherment
  • Quantum cryptography

Course Work

  • Programming assignments
  • In-class quizzes
  • Midterm
  • Final Exam