Mathematics for Cryptology
Code  Completion  Credits  Range  Language 

MIMKY.16  Z,ZK  5  3P+1C  Czech 
 Lecturer:
 Tutor:
 Supervisor:
 Department of Applied Mathematics
 Synopsis:

Students become familiar with parts of mathematics necessary for deeper understanding of the methods used in
symmetric and asymmetric cryptography. They learn the mathematical principles on which security of encryption
systems, cryptanalysis methods, cryptography over elliptic curves, and quantum cryptography are based.
 Requirements:

Good knowledge of algebra, linear algebra and basics of number theory (BILIN, BIZDM, MIMPI).
 Syllabus of lectures:

1. General Algebra: Group, ring, eld, vector space.
2. Extension of nite elds and choice of their bases.
3. (2) Algebraic equations: Grobner bases.
4. (2) Solving algebraic equations over nite elds.
5. Discrete logarithm: DieHellman key exchange, ElGamal encryption system.
6. Discrete logarithm: Babystepgiantstep algorithm, Pollard's rho method.
7. Discrete logarithm: PohligHellman algorithm.
8. Elliptic curves over real numbers and Galois elds.
9. Factoring using elliptic curves, the MOV algorithm.
10. Quantum computing: foundations of quantum mechanics, qubit and operations with it.
 Syllabus of tutorials:

Examples of various mathematical structures will be discussed.
 Study Objective:
 Study materials:

1. Hoffstein, J.  Pipher, J.  Silverman, J. H. An Introduction to Mathematical Cryptography. Springer, 2008. ISBN 9781441926746.
2. Lidl, R.  Niederreiter, H. Finite Fields. Cambridge University Press, 2008. ISBN 9780521065672.
3. Menezes, A.J.  van Oorschot, P. C.  Vanstone, S. A. Handbook of Applied Cryptography. CRC Press, 1996. ISBN 0849385237.
4. Nielsen, M. A.  Chuang, I. L. Quantum Computation and Quantum Information. Cambridge University Press, 2011. ISBN 9781107002173
 Note:
 Further information:
 No timetable has been prepared for this course
 The course is a part of the following study plans:

 Knowledge Engineering, in Czech, Presented in Czech, Version 2016 and and 2017 (elective course)
 Computer Security, Presented in Czech, Version 2016 to 2019 (compulsory course of the specialization)
 Computer Systems and Networks, Presented in Czech, Version 2016 to 2019 (elective course)
 Design and Programming of Embedded Systems, in Czech, Version 2016 to 2019 (elective course)
 Specialization Web and Software Engineering, in Czech, Version 2016 to 2019 (elective course)
 Specialization Software Engineering, in Czech, Version 2016 to 2019 (elective course)
 Specialization Web Engineering, Presented in Czech, Version 2016 to 2019 (elective course)
 Master Informatics, Presented in Czech, Version 2016 to 2019 (VO)
 Specialization System Programming, Presented in Czech, Version 2016 to 2019 (elective course)
 Specialization Computer Science, Presented in Czech, Version 20162017 (elective course)
 Specialization Computer Science, Presented in Czech, Version 2018 to 2019 (elective course)
 Knowledge Engineering, in Czech, Presented in Czech, Version 2018 to 2019 (elective course)