- Jiří Dostál, Róbert Lórencz (guarantor)
- Jiří Dostál, Róbert Lórencz (guarantor), Jiří Buček
- Department of Information Security
Students understand the mathematical fundamentals of cryptography and have an overview of current cryptographic algorithms and applications: symmetric and asymmetric cryptosystems, and hash functions. They also learn the fundamentals of secure programming and IT security, the fundamentals of designing and using modern cryptosystems for computer systems. They are able to use properly and securely cryptographic primitives and systems that are based on these primitives.
Fundamentals of linear algebra and discrete mathematics. Basics of number theory, elementary programming techniques. Knowledge of runtime and memory complexities.
- Syllabus of lectures:
1. Fundamentals of modular arithmetic and number theory. Fundamental theorem of arithmetic.
2. Properties of prime numbers. Exponentiation in modular arithmetic, Fundamental concepts in cryptography, substitution ciphers. Block ciphers, transposition ciphers, exponential ciphers. Establishment of a shared key.
3. Information theory, algorithm complexity theory. Chinese remainder theorem, primality tests.
4. Stream ciphers, RC4. Block ciphers, DES, 3DES, AES. Block cipher modes of operation.  Asymmetric cryptography, RSA, RSA-CRT, digital signature, certificates.
5. Secret sharing. Principles of secure programming.
6. IT security. Perimeter security, firewall, antivirus, antispam. Social engineering. Legal aspects of information security, standards.
- Syllabus of tutorials:
1. Fundamentals of modular arithmetic, substitution cipher, affine ciphers. Transposition, Vigenere cipher, block ciphers, exponential ciphers. Diffie-Hellman algorithm. Hash functions, stream ciphers.
2. Primality tests, block ciphers. Certificates, asymmetric cryptography. SSL encryption.
- 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. Menezes, A. J., Oorschot, P. C., Vanstone, S. A. ''Handbook of Applied Cryptography''. CRC Press, 2001. ISBN 0849385237.
2. Rosen, K. H. ''Elementary Number Theory (5th Edition)''. Addison Wesley, 2004. ISBN 0321237072.
- Further information:
- Time-table for winter semester 2020/2021:
- Time-table is not available yet
- Time-table for summer semester 2020/2021:
- Time-table is not available yet
- The course is a part of the following study plans:
- Bachelor program Informatics, unspecified branch, in Czech, part-time, 2015–2021 (compulsory course in the program)
- Bachelor branch Security and Information Technology, in Czech, part-time, 2015–2019 (compulsory course in the program)
- Bachelor branch Web and Software Engineering, spec. Software Engin., in Czech, part-time, 2015–2020 (compulsory course in the program)
- Bachelor branch Security and Information Technology, part-time, in Czech, 2020 (compulsory course in the program)