Cryptography and Security

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-KAB.21 Z,ZK 5 2P+2C Czech
Garant předmětu:
Róbert Lórencz
Róbert Lórencz
Jiří Buček, Filip Kodýtek, František Kovář, Jaroslav Kříž, Róbert Lórencz, David Pokorný, Martin Šutovský
Department of Information Security

Students will understand the mathematical foundations of cryptography and gain an overview of current cryptographic algorithms. They will be able to use cryptographic keys and certificates in systems based on them and learn the basics of safe use of symmetric and asymmetric cryptographic systems and hash functions in applications. Within labs, students will gain practical skills in using standard cryptographic methods with an emphasis on security and will also get acquainted with the basic procedures of cryptanalysis.


Entry knowledge: Fundamentals of linear algebra and discrete mathematics. Basics of number theory, elementary programming techniques. Knowledge of runtime and memory complexities.

Syllabus of lectures:

1. Basic concepts in cryptology and computer security. Historical ciphers.

2. Exponential cipher, shared key establishment, and discrete logarithm problem.

3. Taxonomy of ciphers. Stream ciphers - RC4, A5/1, ChaCha20.

4. Block ciphers - 3DES, AES, Twofish. Operating modes of block ciphers.

5. Hash functions, SHA-x and HMAC.

6. Factorization problem, asymmetric cryptography, RSA, ElGamal.

7. Primality testing, Rabin-Miller test, key generation.

8. Security of cryptographic systems in terms of information theory and computational complexity.

9. Basics of elliptic curve cryptography.

10. Pseudorandom and true random number generators.

11. Quantum cryptography and post-quantum cryptography.

12. Public key infrastructure.

13. IT security.

Syllabus of tutorials:

1. Basics of modular arithmetic (repetition), historical ciphers.

2. Block ciphers (Hill, exponential cipher), Diffie-Hellman algorithm.

3. Stream ciphers. Hash functions.

4. Information theory (entropy, distance of uniqueness).

5. Block ciphers (AES), modes of operation.

6. Asymmetric cryptography (RSA, ElGamal).

7. Random number generators. Primality testing.

8. Use of cryptographic libraries.

9. Certificates. TLS encryption on the network.

10. Current trends in cryptography.

Study Objective:

The module provides the fundamental theory and practical skills in using cryptographic systems. Students will understand the principles of basic crypto algorithms and the basics of secure programming and IT security. A key point is the understanding of the concept of security in the context of mathematical principles of cryptographic primitives, as well as their use in complex systems. In the seminars, students gain practical skills in using standard cryptographic methods with emphasis on security and learn the elementary cryptanalysis methods.

Study materials:

1. Padhye S., Sahu R. A., Saraswat V. : Introduction to Cryptography. CRC Press, 2018. ISBN 9781138071537.

2. Aumasson J.-P. : Serious Cryptography. A Practical Introduction to Modern Encryption. No Starch Press, 2017. ISBN 978-1593278267.

3. Rosen K. H. : Elementary Number Theory (5th Edition). Addison Wesley, 2004. ISBN 321237072.

4. Sadler T. L. : Cybersecurity for Everyone: Securing Your Home or Small Business Network. Signalman Publishing, 2014. ISBN 9781940145365.

5. Paar CH., Pelzl J. : Understanding Cryptography. Springer, 2009. ISBN 3642446498.

Time-table for winter semester 2023/2024:
Time-table is not available yet
Time-table for summer semester 2023/2024:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2023-11-29
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6548706.html