Security
Code  Completion  Credits  Range  Language 

BIEBEZ  Z,ZK  6  2P+1R+1C 
 Lecturer:
 Róbert Lórencz (guarantor), Jiří Buček
 Tutor:
 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 properly and securely use cryptographic primitives and systems that are based on these primitives. Students are introduced to legal aspects of information security, security standards, social engineering, and basic principles of security management.
 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.
3. Block ciphers, transposition ciphers, exponential ciphers. Establishment of a shared key.
4. Information theory, algorithm complexity theory.
5. Hash functions, MD5, SHAx, HMAC.
6. Chinese remainder theorem, primality tests.
7. Stream ciphers, RC4. Block ciphers, DES, 3DES, AES. Modes of operation of block ciphers.
8. [2] Asymmetric cryptography, RSA, RSACRT, digital signature, certificates.
9. Secret sharing.
10. Principles of secure programming.
11. IT security. Perimeter security, firewall, antivirus, antispam.
12. Social engineering. Legal aspects of information security, standards.
 Syllabus of tutorials:

1. Fundamentals of modular arithmetic, substitution cipher, affine ciphers.
2. Transposition, Vigenere cipher, block ciphers, exponential ciphers. DiffieHellman algorithm.
3. Hash functions, stream ciphers.
4. Primality tests, block ciphers.
5. Certificates, asymmetric cryptography.
6. SSL encryption.
 Study Objective:

The module provides the fundamental theoretical knowledge and practical skills concerning cryptographic systems and their use. 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 labs, students gain practical skills in using standard cryptographic methods with emphasis on security and learn elementary cryptanalysis methods. Students are also introduced to the basic rules of security management, security standards and legal aspects of security.
 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:
 Timetable for winter semester 2019/2020:
 Timetable is not available yet
 Timetable for summer semester 2019/2020:
 Timetable is not available yet
 The course is a part of the following study plans:

 Bc Branch Security and Information Technology, Presented in English, Version 2015 to 2019 (compulsory course in the program)
 Bc. Branch WSI, Specialization Software Engineering, Presented in English, Version 2015, 16, 17, 18 (compulsory course in the program)
 Bc. Branch Computer Science, Presented in English, Version 2015 to 2019 (compulsory course in the program)