
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:1513:45, room 611
(Unruh; may sometimes be switched with tutorial) 
Practice sessions 
Fridays, 10:1511:45, room 511 (Unruh) 
Course Material  Lecture notes, blackboard photos (of practice), and exam study guide. 
Language  English 
Mailing list  utcrypto1@googlegroups.com 
Contact  Dominique Unruh <<surname> at ut dot ee> 
20150211 (lecture)  Classical ciphers. 
20150213 (practice)  Breaking a substitution cipher. How to define security of encryption (sketches). 
20150218 (lecture)  Perfect secrecy. Onetime pad. Security and limitations of OTP. Streamciphers (basic construction). LFSR. 
20150220 (practice)  Breaking LFSR with linear algebra. Malleability of OTP. 
20150225 (lecture)  Streamciphers. Besteffort vs provable security. INDOTCPA. Pseudorandom generators. Security of streamciphers. 
20150227 (practice)  Defining and proving security: Random looking encryptions. 
20150304 (lecture)  Block ciphers. Construction of DES. Feistel networks. 2DES and 3DES. Meetinthemiddle attack. 
20150306 (lecture)  Strong PRPs. INDCPA security. Modes of operation: ECB, CBC, counter. 
20150311 (practice)  Attacks on lowround Feistel networks 
20150320 (practice)  Building authenticated encryption (crypto competition) 
Out  Due  Homework  Solution 

20150218  20150304  Homework 1  Solution 1, otpxor.py 
20150309  20150318  Homework 2, indotcpa.py, prg.py  Solution 2, indotcpasolution.py, indcpasolution.py 
20150326  20150408  Homework 3, 3rsaaes.py  Solution 3, 3rsaaesadv.py 
20150411  20150422  Homework 4  Solution 4 
20150506  20150520  Homework 5, symcryptoparts.py  Solution 5, symcrypto.py 
20150527  20150602  Homework 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, oneway functions etc. We explain how the
security of cryptographic schemes is defined and proven. We study advanced
cryptographic schemes such as zeroknowledge proofs and secure function
evaluation.
"Elements of Discrete Mathematics" or some
comparable mathematical foundations.