Cryptology I

Lecture spring 2015

Instructor Dominique Unruh <<surname> at ut dot ee>
Teaching assistant
Prastudy Fauzi <<givenname> at ut dot ee>
Lecture Period February 11, 2015 - May 29, 2015
Lectures Wednesdays, 12:15-13:45, room 611 (Unruh; may sometimes be switched with tutorial)
Practice sessions
Fridays, 10:15-11:45, room 511 (Unruh)
Course Material Lecture notes, blackboard photos (of practice), and exam study guide.
Language English
Mailing list
Contact Dominique Unruh <<surname> at ut dot ee>

Topics covered

2015-02-11 (lecture)Classical ciphers.
2015-02-13 (practice)Breaking a substitution cipher. How to define security of encryption (sketches).
2015-02-18 (lecture)Perfect secrecy. One-time pad. Security and limitations of OTP. Streamciphers (basic construction). LFSR.
2015-02-20 (practice)Breaking LFSR with linear algebra. Malleability of OTP.
2015-02-25 (lecture)Streamciphers. Best-effort vs provable security. IND-OT-CPA. Pseudorandom generators. Security of streamciphers.
2015-02-27 (practice)Defining and proving security: Random looking encryptions.
2015-03-04 (lecture)Block ciphers. Construction of DES. Feistel networks. 2DES and 3DES. Meet-in-the-middle attack.
2015-03-06 (lecture)Strong PRPs. IND-CPA security. Modes of operation: ECB, CBC, counter.
2015-03-11 (practice)Attacks on low-round Feistel networks
2015-03-20 (practice)Building authenticated encryption (crypto competition)


Your current amount of points in the homework can be accessed here.
Out Due Homework Solution
2015-02-182015-03-04Homework 1Solution 1,
2015-03-092015-03-18Homework 2,, prg.pySolution 2,,
2015-03-262015-04-08Homework 3, 3rsa-aes.pySolution 3,
2015-04-112015-04-22Homework 4Solution 4
2015-05-062015-05-20Homework 5, sym-crypto-parts.pySolution 5,
2015-05-272015-06-02Homework 6 


The course "Cryptology I" introduces the basics of cryptography. After discussing historic ciphers and their weaknesses, we introduce modern cryptographic primitives such as encryption and signature schemes, hash functions, one-way functions etc. We explain how the security of cryptographic schemes is defined and proven. We study advanced cryptographic schemes such as zero-knowledge proofs and secure function evaluation.


"Elements of Discrete Mathematics" or some comparable mathematical foundations.


The following reading supplements this lecture (optional!)

Lindell and Katz, Introduction to Modern Cryptography, Chapman & Hall, 2007.
Materials from the course "Topics of Mathematics in Cryptology" (especially the chapter on probability and the one on modular arithmetic).