Security
Code  Completion  Credits  Range  Language 

BIBEZ  Z,ZK  6  2P+2C  Czech 
 Lecturer:
 Jiří Buček (guarantor), Róbert Lórencz (guarantor)
 Tutor:
 Jiří Dostál, Jiří Buček (guarantor), Róbert Lórencz (guarantor), Marek Bielik, Matěj Doležal, Martin Jureček, Filip Kodýtek, Josef Kokeš, František Kovář, Jaroslav Kříž, Tomáš Kvasnička, David Pokorný, Marina Shchavleva, Ivana Trummová, Tomáš Zahradnický
 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:
 https://courses.fit.cvut.cz/BIBEZ/
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Bachelor program Informatics, unspecified branch, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Security and Information Technology, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Computer Science, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Computer Engineering, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Information Systems and Management, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Knowledge Engineering, in Czech, 20152017 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 20152020 (compulsory course in the program)
 Bachelor branch Knowledge Engineering, in Czech, 20182020 (compulsory course in the program)
 Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, Dubin (compulsory course in the program)