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 methods
The course is 100% web-based and can be completed asynchronously.
The course consists of pre-recorded online lectures and intensive homework tasks. Cryptography concepts will be explained as we proceed.
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), eIDAS Regulations
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 must be answered in a concise manner.
Lecturers
Arnis Paršovs
Course dates
This course takes place in the second semester of the academic year 2025-2026. It starts in the second week of February, 09.02.2026.
This is 100% self-learning course with weekly homework deadlines. Indo on course schedule is available HERE.
ENLIGHT students will be able to take the test remotely via Internet on May 26, 14:00-16:00 (Estonian time UTC+3h).
How to apply?
Entry requirements: Basic programming skills.
For application, please use this form. Apply by January 26, 2026.
Students from all ENLIGHT partner universities are eligible to participate. The University of Tartu will select the permitted number of students and inform the admitted students as soon as possible.
Before applying, please check with your home faculty or programme whether the course can be integrated into your curriculum to ensure recognition of the credits obtained. Students from Ghent University need to obtain faculty approval by filling this form and have it signed by Faculty Student Administration.
Information per university
- University of the Basque Country:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Bern:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Bordeaux:
This email address is being protected from spambots. You need JavaScript enabled to view it. - Comenius University Bratislava:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Galway:
This email address is being protected from spambots. You need JavaScript enabled to view it. - Ghent University:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Groningen:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Göttingen:
This email address is being protected from spambots. You need JavaScript enabled to view it. - University of Tartu:
This email address is being protected from spambots. You need JavaScript enabled to view it. , check the virtual courses page for more information - Uppsala University:
This email address is being protected from spambots. You need JavaScript enabled to view it.
Contact
Arnis Paršovs -