Course catalog description: Classical cryptosystems, modular arithmetic, modular exponentiation, Fermat and Euler theorem, DES, modes of operation for block ciphers, breaking DES, Rijndael, public key cryptography, primality and prime testing, secret sharing schemes, Needham-Schroeder, Kerberos, public key infrastructure, password systems, information theoretic security, and applications to network security.
Credits and contact hours: 3 credits; 1 hour and 20-minute session twice a week, every week
Pre-Requisite courses: 14:332:226 and 14:332:312
Co-Requisite courses: None
Topics Covered:
- Classical Cryptosystems: Shift ciphers, Affine cipher, Vigenere Cipher, One-time pads, linear feedback shift registers
- Number Theory: Modular arithmetic, Modular exponentiation, Fermat and Euler theorem
- Symmetric Encryption: A simplified DES-type algorithm, DES, Modes of operation, Breaking DES, Rijndael (AES)
- Public Key Cryptography: RSA algorithm, Primality testing, Factoring, Public Key Cryptosystems
- Digital Signatures: RSA signatures, ElGamal signatures, Hash functions (MD5 and SHA), Birthday attacks
- Secret Sharing Schemes: Secret splitting, Threshold schemes
- Key Establishment and Authentication Systems: Needham-Schroeder, Kerberos, Public Key Infrastructure, Password Systems and Unix Salt
- Information Theoretic Security: Probability, Bayes Theorem, Entropy, Conditional Entropy, Secrecy; Applications and Network Security: Networks and Routing, IPSEC, SSL/TLS, and Worm Modeling
Textbook: W. Trappe, Introduction to Cryptography with Coding Theory, Prentice Hall.
Other supplemental material: C. Kaufman, R. Perlman, and M. Speciner, Network Security: Private Communication in a Public World, Prentice Hall.