Assignment 1 (.pdf)
Assignment 2 (.pdf)
Assignment 3 (.pdf)
Assignment 4 (.pdf)
Assignment 5 (.pdf)
Assignment 6 (.pdf)
Cryptography course, Fall 2004
Content
- Classical cryptography from Caeser to Vigenere.
- The Data Encryption Standard and Advanced Encryption Standard.
- Algorithms for integers and their time complexity.
- The RSA public key cryptosystem and attacks on RSA.
- Algorithms for integer primality testing and integer factorization.
- Finite fields and the ElGamal cryptosystem.
- Algorithms for the discrete logarithm problem.
- The One-Time-Pad and perfect security.
- Pseudo-random number generation.
- Quadratic residues and the Blum-Blum-Shub pseudo-random-bit generator.
- The quadratic residue problem and the Goldwasser-Micali cryptosystem.
- Cryptographically secure hash functions and digital signature schemes.
Textbook
Cryptography: Theory and Practice, by Douglas Stinson, 2nd ed.
Software
We need to use a package which supports long integer arithmetic. We will use Maple for this. The university has a site license. Maple is installed on the PCs and MACs in the assignment lab, the CECM lab, university open labs and the library. Maple is available from the computer shop for about $200.