Cryptography
BASIC DATA
course listing
A - main register
course code
ITC8240
course title in Estonian
Krüptograafia
course title in English
Cryptography
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
autumn - spring
language of instruction
Estonian
English
Study programmes that contain the course
code of the study programme version
course compulsory
IAFM21/24
no
IAPM02/25
no
IVCM25/25
no
Structural units teaching the course
IT - Department of Software Science
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Kursuse eesmärk on anda ülevaade mõningatest ajaloolistest ja modernsetest krüptograafia primitiividest, nende praktilisest kasutamisest, turvanõuetest, rünnakutest ja nõrkustest, nende päris elus rakendamisest.
course aims in English
The goal of the course is to give an overview of some of the historical and modern cryptography primitives, their practical use, security requirements, attacks and weaknesses, real-world applications.
learning outcomes in the course in Est.
Õppeaine läbinud üliõpilane:
- kasutab korrektselt standardset ja krüptograafilist tähistust ja terminoloogiat;
- tuletab täpselt meelde ja selgitab krüptograafilisi definitsioone kursuse käigus käsitletud teemadest;
- selgitab ja analüüsib olulisemaid sümmeetrilise krüptograafia ja avaliku võtme krüptograafia skeeme;
- lahendab praktilisi ülesandeid, mis illustreerivad kursusel õpitud krüptoprimitiivide kasutamist;
- tuvastab turvaprobleeme, mis tekivad krüptograafiliste primitiivide vigase loomise puhul;
- rakendab põhilisi turvadefinitsioone kursuse vältel õpitud krüptoprimitiivide analüüsimiseks;
- tuvastab krüptoalgoritme, mis sobivad lihtsate turvaeesmärkide lahendamiseks.
learning outcomes in the course in Eng.
After completing this course, the student:
- accurately uses standard cryptographic notation and terminology;
- accurately recalls and explains cryptographic definitions from the topics covered during the course;
- explains and analyses the most important symmetric cryptography and public key cryptography schemes;
- solves practical problems that illustrate the usage of cryptographic primitives studied during the course;
- identifies the security problems that arise in case of incorrect instantiation of cryptographic primitives studied during the course;
- applies basic security definitions to analyse cryptographic primitives studied during the course;
- identifies cryptographic algorithms that are suitable to solve simple security goals.
brief description of the course in Estonian
1. Matemaatika: Boole’i algebra, arvuteooria, modulaarne aritmeetika, üldalgebra
2. Ajalooline krüptograafia: Caesari šifr, Vigenere šifr, transpositsiooni šifr, Affine šifr, põhilised krüptoanalüütilised tehnikad
3. Purustamatute (infoteoreetiliselt turvaliste) šifrite teooria: ühekordne šifriplokk, täiuslik saladus, tõenäosusteooria elemendid
4. Sümmeetriline krüptograafia: voošifrid, plokkšifrid, töörežiimid
5. Võtme tõendamise probleem: avaliku võtme krüptograafia, Diffie-Hellmani võtmevahetus, vahendajarünne
6. Piiratud vastased ja turvalisus: ühesuunalised funktsioonid, bit’i turve, vastaste mudelid, turvamääratlused
7. RSA krüptosüsteem: kirjeldus, omadused ja turvalisus
8. RSA rünnakud ja rakendamise tõrked: mitme protokolli nõrkuse kirjeldus, kui RSA’d kasutatakse ebakorrektselt
9. Tõenäosuslik krüpteerimine. EIGamali tüüpi krüptosüsteemid: tõenäosuslik vs deterministlik krüpteerimine, IND-CPA, IND-CCA
10. Digiallkirjad ja räsifunktsioonid: definitsioonid ja turvaomadused
11. Identifitseerimisskeemid ja teadmiste puudumise protokoll
12. Avaliku võtme taristu: sertifikaadid, ID-kaart, Smart-ID, TLS
13. Sissejuhatus postkvantkrüptograafiasse ja esoteerilisse krüptograafiasse: võrepõhise krüptograafia alused, Crystals-Kyber (ML-KEM) ja Crystals-Dilithium (ML-DSA)
brief description of the course in English
1. Mathematics: boolean algebra, number theory, modular algebra, abstract algebra
2. Historical cryptography: Caesar cipher, Vigenere cipher, transposition cipher, Affine cipher, main crypto-analytic techniques
3. Theory of unbreakable (information-theoretically secure) ciphers: one-time pad, perfect secrecy, elements of probability theory
4. Symmetric cryptography: stream ciphers, block ciphers, modes of operation
5. The problem of key establishment: Public Key Cryptography, Diffie-Hellman key exchange, Man in the middle attack
6. Limited Adversaries and Security: one-way functions, bit security, adversary models, security definitions
7. The RSA cryptosystem: Description, properties, and security
8. RSA Attacks and Implementation Failures: Description of several protocol weaknesses if the RSA is used in improper ways
9. Probabilistic Encryption. ElGamal-type Cryptosystems: Probabilistic vs Deterministic Encryption, IND-CPA, IND-CCA
10. Digital signatures and Hash functions: Definitions and security properties
11. Identification schemes and Zero Knowledge proofs.
12. Public Key infrastructure: certificates, ID-Card, Smart-ID, TLS
13. Introduction to Post-Quantum and Esoteric Cryptography: introduction to lattice-based cryptography, Crystals-Kyber (ML-KEM) and Crystals-Dilithium (ML-DSA)
type of assessment in Estonian
Kirjalik kontrolltöö ja kirjalik eksam
type of assessment in English
Written mid-term and final test
independent study in Estonian
-
independent study in English
-
study literature
1. The Joy of Cryptography (2021), Mike Rosulek
2. An Introduction to Mathematical Cryptography (2014), Jeffrey Hoffstein, Jill Pipher, J.H. Silverman
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
0.0
practices
-
exercises
2.0
exercises
-
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2025/2026 spring
Ahto Buldas, IT - Department of Software Science
English
    display more
    2024/2025 spring
    Ahto Buldas, IT - Department of Software Science
    English
      Grading___Cryptography_syllabus___TalTech.pdf 
      2024/2025 autumn
      Ahto Buldas, IT - Department of Software Science
      English
        2023/2024 autumn
        Ahto Buldas, IT - Department of Software Science
        English
        (in pdf)
          Cryptography__Evaluation_criteria.pdf 
          2022/2023 autumn
          Ahto Buldas, IT - Department of Software Science
          English
          ITC8240_Cryptography_gradingcriterias.pdf
            ITC8240_Cryptography_gradingcriterias.pdf 
            Course description in Estonian
            Course description in English