ENLIGHT Courses

Applied Cryptography Spring 2026

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).

  • Entry requirements: basic programming skills
  • Type: virtual course
  • Level: Bachelor, Master, PhD
  • Host: University of Tartu
  • Focus area: Digitalisation
  • Study Field: Science and Technology
  • Course dates: 9 Feb - 26 May 2026
  • Apply by: 26 January 2026
  • ECTS: 6
  • Registration status: Open
  • Number of places available: unlimited