This class is offered through the UCSD math department during the spring quarter of each year. During the Spring 1999 quarter, it will be taught by Professor Adriano Garsia and the TAs for the class will be Cameron Parker and Rob Grube. Class consists of 3 lectures per week and one section/problem session.

There is no prerequisite for the class and non-math majors are encouraged to enroll. There is no textbook for the class. The course text consists of articles and handouts that are distributed at the end of each lecture.

There are weekly one hour quizzes given during class on Friday's (some weeks no quiz will be given). Some time during the quarter a computer assignment will be given that consists of recovering the plaintext from two encrypted files using the course software. This assignment is a demonstration of how powerful the computer can be when it is used in applications of cryptography.

Students are given computer accounts at the begining of the quarter and are encouraged to explore the class software that was mostly written by past students, they are also encouraged to contribute their own programs to this library.

Topics for the class include:

- Caesar
- Vigenere
- Rectangular Transposition
- Monoalphabetic Substitution
- Playfair
- ADFGVX
- Vernan's Two tape system
- Hill Encipherment

- Basics
- Statistical models of English text
- Random number generators

- Breaking Vigenere
- Breaking Rectangular Transposition
- Breaking ADFGVX
- Breaking Monoalphabetic Substitution

- Basics on the concept of Information
- Entropy and Information
- Fundamental Identities
- Redundancy of English Text
- File and text compression
- The Huffman Code
- Perfect Secrecy Systems

- Euclidean Algorthm
- Residue Systems
- The Euler Phi-function
- Primitive Roots
- Quadratic Residues
- Quadratic Reciprcity, The Jacobi Symbol
- Primality Testing
- The RSA Encipherment System
- Public Key Systems