- Future Students
- Academic Progams
- Undergraduate Program
- Current Semester CS Courses
- New Course Offerings
- 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.
2000.09