CSCE 557 - Introduction to Cryptography
 
     
 
Course Syllabus

Description:
This course covers the central topics in cryptography (the art of designing codes and ciphers), cryptanalysis (the art of breaking codes and ciphers), and cryptology (the mathematical science of cryptography and cryptanalysis).

Course Goals:
The goals of the course are a well-rounded theoretical knowledge of the most important aspects of these topics, together with sufficient technical mastery to permit implementation of some cryptosystems in software.

Student Work:
  • Undergraduate: Written exercises will be given to students on a weekly or biweekly basis to be handed in individually. Students will also work in small groups to implement a cryptosystem, including a symmetric block cipher (e.g., AES) and an asymmetric cipher (e.g., RSA), as a final programming project.
  • Graduate: In addition to all the undergraduate requirements, graduate students will be given additional written exercises of a more advanced nature, and will be expected to provide more features in their software projects.
  • Tests: One in-class midterm exam and one final exam (both open book, open notes). Undergraduate students will need to answer fewer questions for the same grade than graduate students.
Course Grade: The final course grade is calculated from scores received for assignments, project, and tests

Topics
Week 1: Mathematical preliminaries: basic modular arithmetic, vectors and matrices Classical symmetric ciphers: Shift, Substitution, Affine, Vigenere, Hill, Permutation
Week 2: Cryptanalysis of classical ciphers; Stream ciphers; LFSRs Mathematical preliminaries: probability distributions, random variables, Jensen's inequality
Week 3: Information theory: entropy, perfect secrecy, unicity distance; One-time pads
Week 4: Product cryptosystems, block ciphers; Chaining; Substitution-permutation networks, Feistel networks; Linear cryptanalysis of an SPN
Week 5: Description of the Advanced Encryption Standard (Rijndael)
Week 6: Cryptographic hash functions: security requirements, collisions; Security uses: passwords, message and data integrity, notaries; MD5, SHA; Message authentication codes;Birthday attack
Week 7: Mathematical preliminaries: primes, GCDs and the Extended Euclidean Algorithm, modular exponentiation and inverses, Euler totient function, Euler's theorem, Introduction to public-key cryptography; RSA: basic implementation details
Week 8: RSA (continued): Miller-Rabin primality testing; Protecting against attacks on RSA: strong primes, random message padding; Combining RSA with symmetric ciphers for practical implementation
Week 9: Mathematical preliminaries: Chinese Remainder Theorem, modular square roots; Rabin's cryptosystem; Factoring algorithms: Pollard's rho method, p-1 method, sieve methods
Week 10: Mathematical preliminaries: abelian groups and finite fields, discrete log; ElGamal; Diffie-Hellman key exchange; Elliptic curves
Week 11: Digital signature schemes: ElGamal, DSA; Elliptic curve DSA; One-time signatures, undeniable signatures
Week 12: Authentication and key exchange protocols: Needham-Schroeder, Yahalom, Denning-Sacco, formal models
Week 13: Mathematical preliminaries: polynomial interpolation; Secret sharing: Shamir threshold scheme, arbitrary access structures
Week 14: Zero-knowledge proofs; Bit commitment; Pseudorandom number generation
Week 15: Review

Basic Bibliography
Primary text:
  • Douglas R. Stinson. Cryptography Theory and Practice (2nd ed). CRC Press, 2002.
Alternate primary text:
  • Alfred J. Menezes, Paul C. van Oorshot, Scott A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1997.
Secondary/reference texts:
  • Douglas R. Stinson. Cryptography Theory and Practice. CRC Press, 1995.
  • Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C (2nd ed). John Wiley & Sons, 1996.
  • Joan Daeman, Vincent Rijmann. The Design of Rijndael. Springer-Verlag, 2002.
  • Neal Koblitz. A Course in Number Theory and Cryptography (2nd ed). Springer-Verlag, 1994.
  • William Stallings. Cryptography and Network Security: Principles and Practice (2nd ed). Prentice Hall, 1999.
  • Johannes A. Buchmann. Introduction to Cryptography. Springer-Verlag, 2001.
  • Charlie Kaufman, Radia Perlman, Mike Speciner. Network Security: Private Communication in a Public World. Prentice Hall, 1995.
 
 

 

 

This webpage is based upon work supported by the National Science Foundation under Grant No. IIS-0237782.
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).
This page is maintained by CIAE Webmaster. All contents copyright ©The Board of Trustees of the University of South Carolina.
Last Modified : Thursday, 25-Sep-2003 20:28:02 EDT