Ce cours est composé de trois parties.
Après un rappel des notions mathématiques fondamentales à la compréhension du domaine, la première partie introduit les bases de la cryptographie symétrique et asymétrique: chiffrement, signature, fonctions de hachage, PKI, chiffrements homomorphes, signatures de groupe, etc.
La deuxième partie est consacrée à la théorie de l'information et aux deux premiers théorèmes de Shannon. Les principes de codage de source, de codage de canal, d'entropie de Shannon sont introduits ainsi que les codages de Huffman ou le code de Hamming.
La dernière partie est une introduction aux algorithmes probabilistes. Les familles classiques d'algorithmes probabilistes sont explicitées avec les liens entre elles. Plusieurs exemples d'algorithmes ainsi que les analyses de complexité associées sont donnés.