Cours de cryptographie en ligne (2017)
(crypto.stanford.edu)Présentation du cours de cryptographie en ligne
- Instructeur : Dan Boneh, Stanford University
- Cette page regroupe l’ensemble des cours de la formation de cryptographie gratuite.
- Pour suivre officiellement le cours (devoirs, projets, examen final, etc.), consultez la page du cours sur Coursera.
- Support de cours : manuel gratuit de ce cours, qui approfondit les preuves de sécurité et propose de nombreux exercices (A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup).
Résumé hebdomadaire du cours
-
Semaine 1 : vue d’ensemble du cours et chiffrement de flux (chapitres 2-3 du manuel)
- Introduction à la cryptographie, histoire
- Propriétés de la probabilité discrète
- One-time pad et chiffrement de flux
- Attaques et erreurs sur le chiffrement de flux
- Exemples concrets de chiffrement de flux
- Définition d’un chiffrement sûr, sécurité des PRG, sécurité sémantique
-
Semaine 2 : chiffrement par blocs (chapitres 4-5 du manuel)
- Vue d’ensemble du chiffrement par blocs
- DES, attaque par force brute, etc.
- Chiffrement par blocs AES, chiffrement par blocs à partir d’un PRG
- Utilisation des chiffrement par blocs (clé à usage unique et clé réutilisable)
- Sécurité CPA, modes d’opération CBC/CTR
-
Semaine 3 : intégrité des messages (chapitres 6-8 du manuel)
- Définition des MAC et MAC basé sur une PRF
- Construction CBC-MAC, NMAC, PMAC, etc.
- Introduction aux fonctions de hachage résistantes aux collisions
- Attaque de l’anniversaire, paradigme de Merkle-Damgård
- HMAC et attaques par temporisation
-
Semaine 4 : chiffrement authentifié (chapitre 9 du manuel)
- Attaques actives contre un chiffrement sûr contre CPA
- Chiffrement choisi du texte chiffré, composition à partir de chiffrement et MAC
- Étude de cas TLS 1.2, attaque par bourrage CBC
- Dérivation de clé, chiffrement déterministe, chiffrement préservant le format
-
Semaine 5 : échange de clés de base (chapitre 10 du manuel)
- Tiers de confiance, puzzles de Merkle
- Protocole Diffie-Hellman, cryptographie à clé publique
- Bases de l’arithmétique modulaire (Fermat, Euler, etc.)
- Problèmes faciles et difficiles (algorithmes arithmétiques, problèmes en temps polynomial)
-
Semaine 6 : cryptographie à clé publique (chapitres 11-12 du manuel)
- Cryptographie à clé publique basée sur les permutations à trappe (définition, sécurité, construction)
- Permutation à trappe RSA et PKCS1
- RSA : fonction à sens unique et usage pratique
- Système de clé publique ElGamal et sécurité
- Résumé de la cryptographie à clé publique
-
Semaine 7 : signature numérique (chapitres 13-14 du manuel)
- Signature numérique et contenu sur les signatures basées sur le hachage
Avis de GN+
-
Ce cours couvre les principes de base de la cryptographie moderne et les algorithmes réellement utilisés, ce qui laisse penser qu’il peut être une excellente porte d’entrée pour les débutants en cryptographie. Il est aussi crédible puisqu’il est enseigné par Dan Boneh, un cryptologue reconnu.
-
En plus de la théorie cryptographique, il aborde des aspects pratiques tels que les points à considérer pour une conception sécurisée des chiffrages, ainsi que les vulnérabilités et techniques d’attaque susceptibles d’apparaître en production, ce qui pourrait être utile aux développeurs.
-
Le cours propose également un manuel gratuit traitant de sujets avancés, avec de nombreux exercices, ce qui en fait un bon support pour l’approfondissement en cryptographie.
-
En revanche, le contenu étant très orienté théorie, les débutants pourraient avoir des difficultés à comprendre s’ils ne maîtrisent pas certains prérequis mathématiques. Des notions préalables en algèbre linéaire ou en mathématiques discrètes seraient utiles.
-
Dans la mesure où les usages de la cryptographie se développent, notamment dans les secteurs de la blockchain et des actifs numériques, bien maîtriser les bases et savoir les appliquer concrètement pourrait contribuer fortement au renforcement des compétences d’un développeur.
1 commentaires
Commentaires Hacker News
cryptopals.comest recommandé.