|
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> |
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) |
Out | Due | Homework | Solution |
---|---|---|---|
2015-02-18 | 2015-03-04 | Homework 1 | Solution 1, otp-xor.py |
2015-03-09 | 2015-03-18 | Homework 2, ind-ot-cpa.py, prg.py | Solution 2, ind-ot-cpa-solution.py, ind-cpa-solution.py |
2015-03-26 | 2015-04-08 | Homework 3, 3rsa-aes.py | Solution 3, 3rsa-aes-adv.py |
2015-04-11 | 2015-04-22 | Homework 4 | Solution 4 |
2015-05-06 | 2015-05-20 | Homework 5, sym-crypto-parts.py | Solution 5, sym-crypto.py |
2015-05-27 | 2015-06-02 | 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, 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.