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.