FI:IA174 Fundaments of Cryptography - Course Information
IA174 Fundaments of Cryptography
Faculty of InformaticsAutumn 2021
- Extent and Intensity
- 2/0/1. 3 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Novotný, Ph.D. (lecturer)
RNDr. Antonín Dufka (assistant)
RNDr. Ján Jančár (assistant)
Mgr. Jan Kvapil (assistant)
RNDr. Vladimír Sedláček, Ph.D. (assistant)
RNDr. Vojtěch Suchánek (assistant)
Mgr. Marek Sýs, Ph.D. (assistant) - Guaranteed by
- doc. RNDr. Petr Novotný, Ph.D.
Department of Computer Science – Faculty of Informatics - Timetable
- Mon 13. 9. to Mon 6. 12. Mon 14:00–15:50 D3
- Prerequisites (in Czech)
- Grasp of basic mathematical concepts (e.g. MB154 course). Awareness of basic aims and building blocks of cryptography, corresponding to the respective parts of the PV080 course.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 32 fields of study the course is directly associated with, display
- Course objectives (in Czech)
- The course covers theoretical foundations of cryptography, ranging from encryption and hashing primitives to more modern topics such as blockchain technologies. We will learn why are the state-of-the-art cryptographic algorithms constructed in the way they are, and how to reason about their mechanics and security guarantees via the language of mathematics.
- Learning outcomes (in Czech)
- Upon a successful completion of the course, the student will be able to:
*Explain and understand the mechanics of basic primitives of both symmetric and asymmetric cryptography, including the underlying mathematics.
*Explain and understand the function, construction, and the use of cryptographic hash functions.
*Explain and understand cryptographic techniques for ensuring data authenticity and integrity, including digital signature schemes.
*Understand, at an abstract level, the purpose and foundations of post-quantum cryptography, secret sharing, homomorphic encryption, and zero-knowledge proofs, so as to be able to learn further details of these topics on her/his own.
*Understand possible weaknesses of cryptosystems and various trade-offs in their design.
*Analyse weaknesses of simple cryptosystems.
*Explain and understand the concept of block chain and smart contracts, and be aware of the design principles behind relevant blockchain protocols. - Syllabus (in Czech)
- FUNDAMENTALS (8 letcures)
- Symmetric cryptography (2 lectures):
- *Symmetric block ciphers: design principles and basic notions (boolean functions, random permutations, confusion, diffusion, non-linearity); design of iterated block ciphers, rounds, key schedules; AES; modes of operations of block ciphers.
- *Symmetric stream ciphers: General principles, ChaCha cipher, relation to pseudorandom number generators.
- Asymmetric cryptography (3 lectures):
- *General principles and design elements, "reductions" to hard problems.
- *RSA algorithm: math foundations (modular arithmetic, multiplicative Z_n^x groups, Euler's theorem, Chinese remainder theorem, extended Euclidean algorithm); RSA encryption, possible attacks, relationship to integer factorization.
- *Cryptography based on discrete logarithm (DL): refresher of basic group theory; DL in (Z_n )^x groups, Diffie-Hellman key exchange, DSA; discrete logarithm on elliptic curve groups, elliptic curve cryptography, ECDSA.
- Cryptographic hash functions (CHFs, 1 lecture): Design principles, Merkle–Damgård construction, sponge construction, collision-resistant CHFs, Keccak CHF, attacks against CHFs.
- Data integrity, message authentication, signatures (2 lectures):
- *Message authentication codes (MACs): integrity, authenticity, construction from block ciphers, construction from hash functions; authenticated encryption, AEAD.
- *Digital signatures: non-repudiation, signature schemes (RSA, DSA, ElGamal), attacks against dig. signature schemes, blind signatures.
- *Integrity of data structures: hash trees, their use in Bitcoin.
- ADVANCED TOPICS (5 lectures):
- Post-quantum cryptography (1 lecture): Quantum-computer attacks on RSA and discrete logarithm schemes, overview of candidate techniques for post-quantum cryptography (lattice-based cryptography, code-based cryptography, multivariate cryptography), standardization of post-quantum cryptography.
- Homomorphic encryption (1 lecture): basic definitions, simple examples of partially homomorphic encryption; fully homomorphic encryption, Gentry's construction, bootstrapping, recent developments.
- Secret sharing (1 lecture): basic concepts, examples of secret sharing schemes (CRR-based, Shamir,...), verifiable secret sharing, end-to-end auditable voting systems.
- Zero-knowledge proofs (1 lecture): mathematical foundations, connection to complexity classes, illustration on concrete problems, zero-knowledge proofs in blockchain systems.
- Blockchain technology (1 lecture): blockchain as a general concept of a distributed ledger; Bitcoin, its design, proof of work, mining process; Ethereum, smart contracts, proof of stake; economical and social impact of blockchain technologies.
- Literature
- MENEZES, A. J., Paul van OORSCHOT and Scott A. VANSTONE. Handbook of applied cryptography. Boca Raton: CRC Press, 1997, xiii, 780. ISBN 0-8493-8523-7. info
- Teaching methods (in Czech)
- lecture, homework assignments
- Assessment methods (in Czech)
- mandatory homework assignments, final written exam
- Language of instruction
- English
- Further Comments
- Study Materials
The course is taught annually. - Listed among pre-requisites of other courses
- Teacher's information
- https://www.fi.muni.cz/~xnovot18/IA174_student_info.html
- Enrolment Statistics (Autumn 2021, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2021/IA174