Security
Code  Completion  Credits  Range  Language 

BIBEZ  Z,ZK  6  2P+2C  Czech 
 Lecturer:
 Tutor:
 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.
3. Block ciphers, transposition ciphers, exponential ciphers. Establishment of a shared key.
4. Information theory, algorithm complexity theory.
5. Chinese remainder theorem, primality tests.
6. Stream ciphers, RC4. Block ciphers, DES, 3DES, AES. Block cipher modes of operation.
7. [2] Asymmetric cryptography, RSA, RSACRT, digital signature, certificates.
8. Secret sharing.
9. Principles of secure programming.
10. IT security. Perimeter security, firewall, antivirus, antispam.
11. Social engineering. Legal aspects of information security, standards.
12.
 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 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:
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Information Technology  Version for those who Enrolled in 2014 (in Czech) (compulsory course in the program)
 Information Systems and Management  Version for those who Enrolled in 2014 (in Czech) (compulsory course in the program)
 Bc. Programme Informatics, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bc. Branch Security and Information Technology, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bc. Branch Computer Science, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bc. Branch Computer Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bachelor Branch Information Systems and Management, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bachelor Branch Knowledge Engineering, in Czech, Version 2015, 2016 and 2017 (compulsory course in the program)
 Bachelor Branch WSI, Specialization Software Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bachelor Branch, Specialization Web Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bachelor Branch WSI, Specialization Computer Grafics, in Czech, Version 2015 to 2019 (compulsory course in the program)
 Bachelor Branch Knowledge Engineering, in Czech, Version 2018 to 2019 (compulsory course in the program)