MTAT.07.017 Applied Cryptography
Course info
Responsible: Arnis Paršovs (arnis.parsovs@ UT)
Teaching assistant: Denizalp Kapisiz (denizalp.kapisiz@ UT)
Credits: 6 ECTS
Language: English
Lectures: Video lectures will be published every Friday
Practice: Fridays 10:15-12:00, via Zoom (not compulsory - consultation time)
Moodle page: course link
Slack channel: For course related discussions (signup with your @ut.ee email)
General Information
Applied cryptography is a hands-on course for IT engineers. The course introduces cryptographic concepts and their use in real-world applications without delving into formal definitions and math.
In this course we will use various cryptographic primitives to implement security protocols in Python 3. The course consists of lectures and intensive homework tasks. Cryptography concepts will be explained as we go. Basic programming skills are a critical prerequisite.
Grading
Final grade structure:
Homework: 70%
Test: 30%
Schedule
[Aug-31] 0. Introduction
[Aug-31] 1. Randomness, PRNG, One-Time Pad, Stream Cipher
[Sep-07] 2. Abstract Syntax Notation One (ASN.1)
[Sep-14] 3. Hash functions
[Sep-21] 4. Block ciphers (AES)
[Sep-28] 5. Public Key Cryptography (RSA)
[Oct-05] 6. Elliptic Curve Cryptography (ECC)
[Oct-12] 7. Public key certificates (X.509)
[Oct-19] 8. Revocation checking (CRL/OCSP)
[Oct-26] 9. Digital signatures (XAdES)
[Nov-02] 10. Smart cards (EstEID)
[Nov-09] 11. Smart cards (JavaCard)
[Nov-16] 12. Transport Layer Security (TLS)
[Nov-23] 13. Transport Layer Security (TLS)
[Nov-30] 14. The Onion Router (Tor)
[Dec-07] 15. Bitcoin
[Dec-13] Test