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 ut-crypto1@googlegroups.com
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)

Homework

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

Description

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.

Requirements

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

Reading

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).