Computer Systems, Communication, and Security
Common Compulsory Courses
- Quality in software development. Software measurement and metrics. Clean Code & SOLID principles. Code testing; unit tests, integration tests, user and acceptance testing. Performance engineering and testing. Development methods based on testing. Software quality management process. (PV260)
- Principles of symmetric block cipher algorithms (Feistel ciphers, DES, AES) and asymmetric algorithms (RSA, Diffie-Hellman, DSA/ElGamal). Factorization and primality testing. Principles of hash function construction. Elliptic curve cryptosystems. (IA174, PV079)
- Application of symmetric block cipher algorithms – integrity and confidentiality, modes of operation. Application of other symmetric algorithms. Application of hash functions, MAC. Hybrid cryptosystems. (IA174, PV079)
- Computer networks. Network models and their layers, their functionality, interaction, standardization. Protocols at network layer, IPv4 features, advanced IPv6 features, address space. Routing: routers and their architecture, routing algorithms, families of routing algorithms, multicast routing, MPLS, TE. Transport protocols: UDP, properties of TCP and its variants, transport protocols for high-speed networks. (PA191)
- Descriptive statistics (measures of location and spread, order statistics, statistics of association, related figures). Discrete and continuous random variables (RV). Random sampling. Parametric probabilistic models (distributions) of RV. Central limit theorem. Likelihood principle, point and interval estimates. Statistical inference – hypotheses testing, significance level, confidence coefficient. Testing of hypotheses in one sample, two samples, more than two samples (including one sample, two sample and paired t-tests, ANOVA and post-hoc tests), goodness-of-fit tests. Linear regression model. (MV013)
- Audit, security management, risk management, threat countermeasures. Security evaluation, evaluation criteria and processes. Standards in IT security and cryptography, legislation related to cryptology. Digital signature – constructions, legislation, public key management, certification authorities and public-key infrastructures. Authentication of users in computer systems – secret information, tokens, biometrics. Identification systems and identity management. (PA018)
- Attacks on cryptographic systems and protocols. Use of hardware for protection of sensitive/cryptographic data and their operations. Smartcards and their role as a security mechanism. (PA018, PV079, PV204)
- Basics of coding theory, Shannon’s theorem. Entropy. Generation of truly- and pseudo-random sequences. Cryptographic protocols, methods of key establishment, zero-knowledge protocols. Quantum cryptography. (IV054, PV079)
- Probability. Discrete and continuous probability space. Random variables and their use. Mean value, variance. Stochastic processes, Markov chains. Theory of information (entropy, mutual information), coding theory (Huffman codes, noisy channel capacity). (IV111)