CSC 281 Introduction to Cryptography 
  
   
 
   
 
  
  
  An unresolved code. Two sides of the
  phaistos disk
  
  
  
  
  
  
 Information 
  Course: CSC 281/481 Introduction to Cryptography 
  Instructor: Randal C. Nelson
  Office hours: by appointment, Wegmans Hall 3009
  TA: Mohammad Hossein Faghihi Sereshgi,
  Time: T-Th 14:00
  Room: Bausch and Lomb 269
  
   Summary 
  
  
   This course is a one-semester introduction to cryptography,
   covering material from classic ciphers to modern encryption methods,
   along with some history.
 
  
  
 Topics 
  
  
  
   - 
   Classic ciphers and attacks and variations on them: Caesar shift, 
   monoalphabetic substitution, one-time pad, affine cipher, Vigenere cipher,
   Hill cipher, block permutations, etc.
 
   
- 
   steganography - grills, texts, digital sound and imagery.
 
   
- 
   Mechanization: rotor machines and the German Enigma
 
   
- 
   Modern symmetric ciphers - DES, AES, etc.
 
   
- 
   Public-key ciphers: RSA, Diffie-Hellman Key exchange, ElGamel, IDEA.
 
   
- 
   Quantum cryptography
   
   
- 
   Miscellaneous mathematics from various sources: probability and statistics;
   number theory (integers mod m, prime numbers); groups, rings, and fields;
   algorithms, computational complexity.
 
 
 Prerequisites 
   
   The course contains considerable mathematical content, though an in-depth
   treatment of the mathematics behind modern cryptology is beyond its scope.
   If you do not like math courses, you will probably not like this course.
   As a prerequisite, you should have at least calculus and basic linear
   algebra.
   Material from probability and number theory will be introduced.
   There will be a number of cryptoanalytic exercises, so you should like
   working on word puzzles.  Many of them will require use of a computer,
   so you should enjoy writing programs, and have taken a data structures
   course (e.g. CSC172).
  
 
Course Text Books
 Required and recommended texts are
 
   -  REQUIRED:
     "Introduction to Modern Cryptography", 2nd Edition,
     by Jonathan Katz and Yehuda Lindell (2015, CRC Press).
     Modern, theoretical treatment. Excellent reference, and standard text.
     Online new, about $45.
 
- REQUIRED:
     "Cryptography Engineering" by Neils Ferguson, Bruce Schneier
     and Tadayoshi Kohno (John Wiley and Sons, 2010).
     A useful reference for real-world applications of cryptography from
     an expert in the field. Available new online for about $32.
   
- REQUIRED:
     "The Code Book" by Simon Singh (Random House, Anchor Books, 1999).
     Oldie, but goodie on the history of ciphers.
     Available new online starting around $10.
 
- RECOMMENDED:
     "Making, Breaking Codes: An introduction to Cryptology"
     by Paul Garrett (Prentice Hall, 2001). Nice history of the field
     up to about 2000, with more technical details than Singh. Second edition
     in 2011 did not sell well and is not available. The original is still
     in print, but pricy for an older text ($70 - $100+ new), which is why
     I'm reluctant to make it required.
     
 
Other useful books
   
   - 
     "Encyclopedia of Cryptography and Security", 2nd Edition, Edited by
     Henk C.A. van Tilborg and Sushil Jajodia (Springer, 2011).
     A comprehensive encyclopedia. You probably don't want to buy it at
     the list price of $679, but useful to know about. And you never know
     what you might find online...
     
   
- 
     "The Codebreakers: The Story of Secret Writing" by David Kahn
     (Scribner, 1996).
     THE classic, massive tome (1188 pages), if you want more history than
     Singh provides.
     
 
Grading
 
 Cryptanalysis projects and problem sets;
 Class attendance/quizzes, participation, and presentation.
 Approximate distribution:
 Projects and problems sets, 50%;
 Class attendance/quizzes, participation, and participation, 50%.
  
  
  
  
  
  
     Back to
    Randal Nelson's home page
Back to
    Randal Nelson's home page