This course introduces the basics of cryptography. We review several types of cryptographic primitives, when it is safe to use them and how to select the appropriate security parameters. We detail how they work and sketch how they can be implemented. ...
Discrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics as diverse as mathematical reasoning, combinatorics, disc ...
Galois theory lies at the interface of Field Theory and Group Theory. It aims to describe the algebraic symmetries of fields. We will focus on Galois theory for finite field extensions and some applications. ...
Algebraic number theory is the study of the properties of solutions of polynomial equations with integral coefficients; Starting with concrete problems, we then introduce more general notions like algebraic number fields, algebraic integers, units, ideal c ...
This course reviews some failure cases in public-key cryptography. It introduces some cryptanalysis techniques. It also presents fundamentals in cryptography such as interactive proofs. Finally, it presents some techniques to validate the security of crypt ...
P-adic numbers are a number theoretic analogue of the real numbers, which interpolate between arithmetics, analysis and geometry. In this course we study their basic properties and give various applications, notably we will prove rationality of the Weil Ze ...
In this course we will describe in numerous examples how methods from l-adic cohomology as developed by Grothendieck, Deligne and Katz can interact with methods from analytic number theory (prime numbers, modular forms etc...). ...
Given a quadratic equation, e.g. x^2 + 2*y^2 = 81, how can we decide whether there is a rational solution (x,y)? This basic question is what the theory of Rational Quadratic Forms is all about. The course gives an introduction and highlights fundamental te ...