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 Saturday by 23:59
Practice: Tuesdays 12:15-14:00, via Zoom (not compulsory - consultation time)
Course repository: https://bitbucket.org/appcrypto/2023_spring/
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%
Current results
Schedule
[Feb-04] 0. Introduction (video 13 min)
[Feb-04] 1. Randomness, PRNG, One-Time Pad, Stream Cipher (video 55 min)
[Feb-11] 2. Abstract Syntax Notation One (ASN.1) (video 38 min)
[Feb-18] 3. Hash functions (video 58 min)
[Feb-25] 4. Block ciphers (AES) (video 56 min)
[Mar-04] 5. Public Key Cryptography (RSA) (video 59 min)
[Mar-11] 6. Elliptic Curve Cryptography (ECC) (video 48 min)
[Mar-18] 7. Public key certificates (X.509) (video 58 min)
[Mar-25] 8. Revocation checking (CRL/OCSP) (video 51 min)
[Apr-01] 9. Digital signatures (XAdES)
[Apr-08] 10. Smart cards (EstEID)
[Apr-15] 11. Smart cards (JavaCard)
[Apr-22] 12. Transport Layer Security (TLS)
[Apr-29] 13. Transport Layer Security (TLS)
[May-06] 14. The Onion Router (Tor)
[May-13] 15. Bitcoin
[May-23] Test