Cryptography and Information Security - B6B32KAB

Credits 5
Semesters Winter
Completion Assessment + Examination
Language of teaching undefined
Extent of teaching 2P + 2L + 2D
Annotation
The Information Security course provides a complete source of information on the field of security of information systems and information technologies. The most of information in today society is created, transferred, stored in electronic form so information security is very important part of it. Technical background for information security is provided by cryptology.
Course outlines
1. Introduction to cryptology, historical overview
2. Block ciphers
3. Block ciphers modes of operation
4. Stream ciphers
5. Public key cryptosystems - IFP, DLP
6. Public key cryptosystems - ECC
7. Hash functions
8. Authentication protocols
9. Authorization protocols
10. Virtual Private Networks - IPsec, OpenVPN, Wireguard
11.Cryptographic protocols - SSL / TLS, DTLS, SSH
12. X.509 certificate, certificate authority public key infrastructure
13. Securing e-mail communication - S / MIME, PGP
14. Electronic signature, electronic identity
Exercises outlines
1. Introduction, passing conditions, health and safety regulations
2. Cryptanalysis of monoalplhabetic substitutions
3. Cryptanalysis of polyalphabetic substitutions
4. Cryptanalysis of transposition ciphers
5. Computer excercises - Cryptool I
6. Computer excercises - Cryptool II
7. Computer excercises - Cryptool III
8. Computer excercises - Cryptool IV
9. Laboratory exercises I
10. Laboratory exercises II
11. Laboratory exercises III
12. Laboratory exercises IV
13. Final Test
14. Assesment
Literature
1) Stamp M., Information Security - Principles and Practice, Wiley, 2006, ISBN: 0-471-73848-4
2) Mao W., Modern Cryptography - Theory & Practice, Prentice-Hall, 2004, ISBN: 0-13-066943-1
3)Menezes A, Vanstone S, van Oorschot P., Handbook of Applied Cryptography, CRC Press, 1996, available at http://www.cacr.math.uwaterloo.ca/hac/

Requirements
1. Knowledge of modular arithmetics and algebra.
2. ISO/OSI network model, knowledge of computer networks principle
3. Programming in high-level languages (Java,C#, C/C++)