- Future Students
- Academic Progams
- Undergraduate Program
- Current Semester CS Courses
- New Courses
- Upcoming Semesters
- Previous Semesters
- Canonical Syllabi
- Course Access & Request Policy
- Academic Integrity Policy
- Grad Student Registration
- Variable Title Courses
- Study Abroad
- Professional Practice
- Co-Op Professional Practice
- Non-Co-Op Professional Practice
- ISS Application Process for International Students (CPT, OPT, RCL, Program Extension, COEL)
- Pass/Not Pass Spring 2020
CS 555: Cryptography
List of Topics (By Week):
Introduction (1 week)
Basic terms. Basic goals and concepts. Brief history of cryptography and cryptanalysis. Uses and misuses. Politics.
Basic number theory (2 weeks)
Divisibility. Primality. Bases, congruences, modular aritmetic. GCDs. Euclidian algorithm. Fermat & Euler theorems. Finding large primes, Pohlig-Hellman, RSA.
Basic Information Theory (1.5 weeks)
Entropy. Equivocation. Work factors. Key size vs. message size. Redundancy. Unicity distance. Perfect secrecy.
Elementary & historical ciphers (2 weeks)
Caesar cipher. Transposition and substitution. Polyalphabetic ciphers. Product ciphers. DES. IDEA. Exponentiation ciphers.
Cipher modes (2 weeks)
Block ciphers. Stream ciphers. ECB, OFB, CFB, CBC. Public vs. private keys. Meet-in-the-middle. LFSRs. Diffie-Hellman key exchange.
Applications (1.5 weeks)
Mental poker. Quadratic residues. Oblivious transfer. Zero-knowledge proofs.
Authentication methods (2 weeks)
One-way ciphers. Authentication functions. Message digests. MD5, SHA, Tripwire. Kerberos, SESAME.
Privacy-enhanced communication (1 week)
Privacy, non-repudiation, digital signatures. Certificate hierarchies, X.509. PGP. PKI.
Applications (1 week)
Digital cash. Digital voting. Contract signing.
Key Management (1 week)
Threshold schemes. Random number generation. Key escrow. Key recovery.