Security
Code  Completion  Credits  Range  Language 

BIKBEZ  Z,ZK  6  13KP+4KC  Czech 
 Lecturer:
 Jiří Dostál, Róbert Lórencz (guarantor)
 Tutor:
 Jiří Dostál, Róbert Lórencz (guarantor), Jiří Buček
 Supervisor:
 Department of Information Security
 Synopsis:

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.
 Requirements:

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. [2] Asymmetric cryptography, RSA, RSACRT, 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. DiffieHellman 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.
 Note:
 Further information:
 https://courses.fit.cvut.cz/BIBEZ/
 Timetable for winter semester 2020/2021:
 Timetable is not available yet
 Timetable for summer semester 2020/2021:
 Timetable is not available yet
 The course is a part of the following study plans:

 Bachelor program Informatics, unspecified branch, in Czech, parttime, 2015–2021 (compulsory course in the program)
 Bachelor branch Security and Information Technology, in Czech, parttime, 2015–2019 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Software Engin., in Czech, parttime, 2015–2020 (compulsory course in the program)
 Bachelor branch Security and Information Technology, parttime, in Czech, 2020 (compulsory course in the program)