Cryptology, High-performance computing, and Algorithms
The curriculum "Cryptology, High-Performance Computing, and Algorithms" (acronym CCA in French) offers a Master degree in Computer Science specialized in cryptology and high-performance computing. This two complementary fields lead to many highly valued prospects in the job market. These fields are based on advanced skills in several domains of algorithmics, notably computer algebra and computer arithmetic.
Some teaching units of this curriculum are joint with EUMaster4HPC (European reference Master's for high-performance computing) and with the MAIN (Mathematics-Informatics) specialization of the engineer school PolyTech Sorbonne.
Objectives and overview
This curriculum aims to train highly skilled experts, with a double focus in the following application domains:
- cryptology: this is the "science of secrecy", which encompasses cryptography — the art of designing protocols to communicate and exchange information — and cryptanalysis — which analyzes the security levels of these protocols;
- high-performance computing: this domain, a core component of strategic industries, encompasses problems related semi-numeric algorithms, parallel programming, and the exploitation of developing architectures (such as GPU and super-computers).
These two fields are closely related from a practical point of view: cryptanalysis often relies on paradigms from high-performance computing, with also a use of similar programming techniques. They are even more close from a fundamental point of view: algorithms for mathematical objects (matrices, polynomials, etc.) and arithmetic questions (algebraic operators for cryptography, numerical quality, etc.) are fundamental methodological tools at the core of this curriculum. These tools arise in the two following contexts:
- computer arithmetic and numerical reliability: this Computer Science field studies basic operations used when computing on digital devices, from the representation and algorithmic manipulation of integers and floating-point numbers, to the assessment of the numerical quality of programs;
- symbolic and algebraic computations: this Computer Science field studies the fundamental operations in algebraic computations for objects such as matrices and polynomials, relying on exact representations of data in computations, with numbers and coefficients that are most often in finite fields (notably for cryptology) or multi-precision integers.
Program and targeted skills
At the end of the curriculum, students have acquired a skilled expertise in:
- mathematical foundations and techniques from modern cryptology, both from the point of view of the attacker and from that of the defender, and including an introduction to cryptanalysis methods;
- models and paradigms of numerical and exact computations, and their implementation and development both in domains related to cryptology and those related to scientific computing;
- high-performance computing and the relevant programming techniques.
Student also acquire operational skills, through numerous projects in several teaching units as well as a teaching unit dedicated to a single demanding project during the second semester of the first year.
Several reports and project material presentations are organized and help students to learn good habits and customs of scientific and professional communication.
Several courses are taught in English, which leads to a good familiarity with scientific and technical English, and contributes to the development of communication skills. Furthermore, this also allows to accommodate international students in several teaching units.
Job prospects
This degree trains experts on the design and implementation of computer solutions in cryptology and high-performance computing.
There is a wide variety of relevant jobs after this degree. This includes technical jobs from cryptology and intensive computations (e.g. through the development of software solutions), jobs of designer or management more generally in the cryptography and HPC engineering, and also research and development in cryptology, HPC, and the fundamental domains of computer arithmetic and computer algebra.
Job prospects are therefore abundant. After the diploma, students quickly find a job in the digital industry, either in one of the major industrial and technology groups, or in middle-sized companies, or in the numerous start-ups. Students also find jobs in state-related institutional organizations or within academic research (e.g. in structures such as universities, CNRS, and Inria).