Un cours en ligne intitulé « An Intensive Introduction to Cryptography » (Une introduction intensive à la cryptographie) a été mis à disposition du public, couvrant un large éventail de sujets allant des prérequis mathématiques aux attaques par texte chiffré choisi. Destiné à un public ayant des bases en mathématiques et en informatique, ce programme se distingue par son ambition de rendre accessible une matière réputée difficile.

Un parcours structuré des fondements à la pratique

Le syllabus du cours débute par un préambule détaillant les prérequis et expliquant pourquoi la cryptographie est considérée comme un domaine ardu. La première partie, « Mathematical Background », rappelle les notions essentielles : preuves mathématiques, probabilités, espaces échantillonnaux, variables aléatoires, distributions sur les chaînes de caractères, corrélations et indépendance, ainsi que des inégalités de concentration comme celles de Chebyshev et de Chernoff.

L'introduction proprement dite (chapitre 1) retrace un peu d'histoire avant de définir formellement les chiffrements et la sécurité parfaite, démontrant notamment la nécessité de clés longues pour atteindre cette sécurité. Le chapitre 2 aborde la sécurité computationnelle, introduit la notion de preuve par réduction, l'approche asymptotique et le concept d'indistinguabilité computationnelle. Il présente le théorème d'extension de longueur, également connu sous le nom de chiffrement par flux.

Pseudogénérateurs et fonctions aléatoires

Le chapitre 3 est consacré à l'aléatoire artificiel (pseudorandomness). Il examine des constructions concrètes comme les registres à décalage à rétroaction linéaire (LFSR), les générateurs linéaires congruents, et des études de cas détaillées : le générateur à somme de sous-ensembles, l'algorithme RC4, et le générateur de Blum, Blum et Shub. Une section aborde l'existence non constructive de tels générateurs.

Le chapitre 4 traite des fonctions pseudos-aléatoires (PRF), avec des applications aux mots de passe à usage unique (comme ceux utilisés par Google Authenticator ou RSA ID), aux codes d'authentification de message (MAC) et à l'extension de longueur d'entrée arbitraire. Une digression sur les preuves naturelles est également proposée.

Sécurité renforcée contre les attaques

Le chapitre 5 montre comment construire des fonctions pseudos-aléatoires à partir de générateurs pseudos-aléatoires, menant à la sécurité choisie de texte clair (CPA). Il introduit les permutations pseudos-aléatoires (chiffrements par blocs) et les différents modes de chiffrement. Une section optionnelle traite du chiffrement diffusé (broadcast encryption).

Enfin, le chapitre 6 couvre la sécurité contre les attaques par texte chiffré choisi (CCA), un niveau de sécurité plus élevé que le CPA. Le texte s'interrompt en milieu de section, mais le plan indique une volonté d'aller au-delà du simple rappel.

Ce cours constitue une ressource complète pour les étudiants et les professionnels souhaitant maîtriser les concepts fondamentaux et avancés de la cryptographie moderne, en mettant l'accent sur la rigueur mathématique et la compréhension des mécanismes de sécurité.