CS 411/507 Cryptography

Fall Term 2017
Computer Science
Sabanci University



W. Trappe & L. C. Washington. Introduction to Cryptography with Coding Theory, 2nd Edition, Prentice-Hall, 2006. ISBN: 0-13-198199-4.

Recommended resources

  • Nigel P. Smart. Cryptography Made Simple. Springer, 2016. ISBN 978-3-319-21936-3
  • C. Paar and J. Pelzl. Understanding Cryptography: A Textbook for Students and Practitioners. Springer, 2010. ISBN 978-3-642-04100-6
  • J. Menezes, P. C. van Oorschot and S. A. Vanstone. Handbook of Applied Cryptography, CRC Press, 1997. ISBN: 0-8493-8523-7.Most of the chapters of this book is available online free of charge. Please click on the name of the book to access to the chapters in pdf format. And please read the copyright notice.
  • D. R. Stinson, Cryptography, Theory and Practice, 3rd Edition, Chapman & Hall/CRC, 2006. ISBN: 1-58488-508-4.

Time & Place

  • Monday 08:40 - 10:30 FENS G035
  • Wednesday 14:40 - 15:30 FENS G035

Instructor’s Office Hours: Tuesday 09:40-11:30 or by appointment


Teaching Assistant: Atıl Utku Ay and Leyli Javid Khayati

Office Hours of TA:

·         Atıl Utku Ay (atilutkuay@sabanciuniv.edu): Monday 17:30-19:30, FENS 2014

·         Leyli Javid Khayati (leyli@sabanciuniv.edu): Monday 11:00-13:00, FENS 2014


This is an introductory course on the methods, algorithms, techniques, and tools of data security and cryptography. After studying the theoretical aspects of cryptographic algorithms and protocols, we show how these techniques can be integrated to solve particular data and communication security problems. This course material is of use to computer and communication engineers who are interested in embedding security into an information system, and thus, providing integrity, confidentiality, and authenticity of the documents and the communicating parties.


  • Introduction and Classical Cryptosystems: Secure communication. Attacks to cryptosystems. Classical cryptographic techniques and algorithms. One time pad, randomness and pseudo-randomness
  • Mathematical Foun
  • Introduction and Classical Cryptosystems: Secure communication. Attacks to cryptosystems. Classical cryptographic techniques and algorithms. One time pad, randomness and pseudo-randomness
  • Mathematical Foundations: Number theory. Finite fields. Primitive roots. Square roots. Exponentiation and discrete logarithm.
  • Secret-Key Cryptography: Block ciphers and stream ciphers. DES, AES (Rijndael). Modes of operation.
  • Public-Key Cryptography: One-way functions. Trapdoor one-way functions. Public-key cryptosystems. RSA, Diffie-Hellman, ElGamal, and elliptic curve cryptosystems.
  • Authentication and Digital Signatures: Cryptographic checksums. Hash functions and message-digest functions. Digital signatures. Authentication protocols.
  • Protocols: Zero-knowledge proof systems. Identification protocols. Key management architectures.

Student Responsibilities (tentative)

·         Homework assignments: There will be about four homework assignments. You will be required to write programs in Python programming language. 

·         Term project: Students are required to work on a term project. It is essential for students to meet time schedule of the projects. Project groups must provide a demonstration/presentation of their work. During the demonstration/presentation, all the project members must be present. Students may work in groups of two.



Midterm exam                                     30%

Final exam                                           35%

Homework                                          20%
Project                                                 15%


Class Website: http:// people.sabanciuniv.edu /~erkays/cs411_507