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. Basic programming skills are a critical prerequisite.
About the course
Content
The use of cryptographic libraries for encrypting files and communication, authentication methods, integrity protection, public key infrastructures, composition of secure protocols, secure methods for obtaining random bits, smartcards, digital signatures.
Learning outcomes
Students will learn how to use popular programming tools to implement various cryptographic constructions. They get practical experiences how to employ cryptographic protocols and public key infrastructure for enforcing practical security goals.
Teaching format
100% self-learning with non-mandatory practice sessions
The course consists of pre-recorded online lectures and intensive homework tasks. Cryptography concepts will be explained as we proceed.
E-learning environment: UTARTU Moodle
Programme
Topics to be covered:
1. Randomness, PRNG, One-Time Pad, Stream Cipher
2. Abstract Syntax Notation One (ASN.1)
3. Hash functions
4. Block ciphers (AES)
5. Public Key Cryptography (RSA)
6. Elliptic Curve Cryptography (ECC)
7. Public key certificates (X.509)
8. Revocation checking (CRL/OCSP)
9. Digital signatures (XAdES)
10. Smart cards (EstEID)
11. Smart cards (JavaCard)
12. Transport Layer Security (TLS)
13. Transport Layer Security (TLS)
14. The Onion Router (Tor)
15. Bitcoin
Assessment
Differentiated (A, B, C, D, E, F, not present)
Final grade consists of homework (70%) and test (30%).
Home exercises will be given each week, requiring implementation of some cryptographic functionality discussed at that week's lecture. The solutions usually must be submitted within a week.
The test consists of 70 open-ended questions that have to be answered in a concise manner.
Lecturers
Arnis Paršovs
Denizalp Kapisiz
Course dates
The course dates for the Applied Cryptography course can be set from September 1 to December 16 (the test date). In principle, students can start later. Take into account that the deadline for the first homework is on 6th of September. ENLIGHT students will be able to take the test remotely via Internet on December 16, 10:00-12:00 (Estonian time UTC+2h).
This is 100% self-learning course". Info on course schedule will be available as of May 2, 2025. To check info after May 2, please see HERE and click on the tab “Events”.
How to register?
No specific entry requirements. Students from all ENLIGHT partner universities and from all disciplines with basic programming skills are eligible to participate.
For application, please use this link (to be added). Apply by August 18, 2025.
The University of Tartu will select the permitted number of students and inform the admitted students as soon as possible.
Before registration: Please check with your home faculty / programme if the course can be integrated in your curriculum in order to ensure recognition of the credits obtained!
Link to UTartu course description: https://ois2.ut.ee/#/courses/MTAT.07.017/version/bb8f9a47-9104-60f8-2137-630bdba77797/details and https://www.youtube.com/watch?v=Q4hyYNuD6YI
Contact
Arnis Paršovs -