CS555 Fall 2005: Cryptography

Class Information

Class Information
Class Schedule
  • MW 4:30-5:45pm Aug 22 - Dec 11, 2005, CS G066
  • Jayesh Pandey
  • Office: Math B3
  • Email: jpandeyATcs
  • Office hours: Th 10 - 12
Course Description
The course is an introduction to cryptography, aimed to graduate students. Topics include:
  • Concepts and principles of crypography: security services, attacks and mechanisms.
  • Classical cryptographic systems: shift cipher, Vigenere and Vernam ciphers, Jefferson wheel cipher and the Enigma machine.
  • Block ciphers: DES, Blowfish, AES.
  • Public-key encryption: RSA, ElGamal.
  • Data integrity: hash functions, MD5, SHA1, HMAC.
  • Digital signatures: RSA, ElGamal, DSA.
  • Blind signatures. Group signatures.
  • Authentication protocols.
  • Key management: two-party key exchange and group key management protocols.
  • Applications:fair exchange, certified email, e-cash.
  • Notions of threshold cryptography. Proactive security.
The grade will be based on written homework assignments (HW), two programming projects (PP), midterm (ME), a final exam (FE) and class participation (CP), as follows:
Grade = 20% * HW + 25% * PP + 20% * ME + 30% * FE + 5%*CP.

Exams are closed books and closed notes.

Textbooks and reading list


  • Douglas R. Stinson, Cryptography (Theory and Practice), CRC Press 1995, ISBN: 0-8493-8521-0.
  • William Stallings, Cryptography and Network Security, Principles and Practice, Second Edition, Prentice Hall, 1998, ISBN: 0-13-869017-0.

Reading List:

You will also find useful:
  • Samuel S. Wagstaff, Cryptanalysis of Numeric Theoretic Ciphers, CRC 2000. ISBN 1-58488-153-4.

    Mailing list

    The class mailing list is cs555. To be added to the list sent an email to mailer@cs.purdue.edu, with the body containing the text 'add your_email to cs555'.

    Academic Integrity

    Academic Honesty and Ethical behavior are required in this course, as it is in all courses at Purdue University ( here is the guide for academic integrity). The class will be conducted according to the policy written by Professor Gene Spafford. Please take the time to read it carefully. This will be followed unless I provide written documentation of exceptions.

    You are encouraged to talk with the professor about any questions you have about what is permitted on any particular assignment.

  • Lectures

    Lecture slides will be posted below. Homework and projects will be handed in class. This is a tentative schedule of the course.

    Week Monday Wednesday
    Aug. 22, 24 Lecture 1 - Introduction to cryptography Lecture 2 - Basic ciphers - description and cryptanalysis
    Aug. 29, 31 Lecture 3 - Elements of probability theory. Perfect secrecy. Entropy. Lecture 4 - Symmetric encryption. Block ciphers: DES
    Homework 1 will be handed in class.
    Sept. 5, 7 No class. Labor Day. Lecture 5 - Symmetric encryption.Block ciphers: cryptanalysis of DES, variations of DES, IDEA, RC5, Blowfish, AES
    Sept. 12, 14 Lecture 6 & 7 - Stream ciphers. RC4 and its use in WEP. Semantic security. Security of stream ciphers and block ciphers.
    Lecture 8 - Data integrity. Hash functions. MD5, SHA1 and RIPMD160, MACs: HMAC.
    Homework 1 due in class.

    Homework 2 will be handed in class.
    Sept. 19. 21 Lecture 9 and 10 - Divisibility, GCD, LCM. Euclid's Algorithm for finding GCD.Prime and composite numbers. Distribution of prime numbers. Congruence. Fermat and Euler's Theorems. Lecture 11 - RSA description and implementation.

    Sept. 26, 28 No class. Class was covered on Sept. 12. No class. Class was covered on Sept. 19. Homework 2 due by email to the TA, deadline is 4:30 PM.
    Oct. 3. 5 MIDTERM.
    DNS Security - Dan Massey .
    Oct. 10, 12 Fall break. Lecture 12 - Midterm comment. Project 1 discusion. RSA Attacks.
    Programming project 1 handed in class.
    Oct. 17, 19 Lecture 13 Semantic security and RSA. OAEP. Lecture 14 - ElGamal, DLP, CDH, DDH.
    Oct. 24, 26 Lecture 15 - Security of ElGamal. Lecture 16 - Digital signatures: use of hash function, RSA, ElGamal, DSA and Schnorr.
    Homework 3 handed in class.
    Oct. 31, Nov. 2 Lecture 17 - One-time digital signatures: Rabin, Merkle.. Public key infrastructure: the need for authentication, X.509 Directory Authentication Service, PGP.
    Programming project 1 due on FRIDAY Nov. 4 11:59PM.
    Lecture 18 - Authentication protocols, entity authentication. One time passwords, Lamport's scheme, challenge-response schemes, zero knowledge authentication protocols (Fiat-Schamir).
    Nov. 7, 9 Lecture 19 - Kerberos.
    Homework 3 due in class.
    Lecture 20 - Key establishment: Needham-Schroeder public key protocol, Diffie-Hellman, STS, MTI. IPSec
    Homework 4 handed in class.
    Nov. 14, 16 Lecture 21 - SSL
    Project 2 handed in class.
    Lecture 22 - Group key management.
    Nov. 21. 23 Lecture 23 - Intro to threshold cryptography.
    Homework 4 due in class.
    Nov. 28, 30 Lecture 24 - Intro to secure multi-party computation.
    Lecture 25 - Biometrics.
    Programming project 2 design document due in class. Code is due by Friday 11:59PM
    Dec. 5, 7 Class is attending Ron Rivest talk - Security of Voting Systems Lecture 27 - Review for the final

    Copyright© 2005 Cristina Nita-Rotaru. Send your comments and questions to Cristina Nita-Rotaru