9 points par GN⁺ 2024-05-03 | 1 commentaires | Partager sur WhatsApp

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

 
GN⁺ 2024-05-03
Commentaires Hacker News
  • Le cours CS255 Intro to Cryptography de Stanford a été l’un des cours de cryptographie les plus marquants auxquels j’ai assisté ; la manière d’enseigner de Dan Boneh est excellente.
    • Les cours de sécurité CS253 Web Security, CS356 Topics in Computer and Network Security de Stanford sont également recommandés.
  • J’ai suivi le cours de cryptographie en ligne de ce professeur il y a quelques années, et il était excellent.
    • Je disposais d’un bagage en mathématiques, mais j’ai réalisé que je ne voulais pas devenir cryptographe professionnel.
    • J’ai été particulièrement impressionné par l’approche qui consiste à identifier un flux binaire aléatoire à partir d’un flux d’octets chiffré en utilisant des démons et des jeux.
  • C’est un excellent cours, mais le temps prévu pour le terminer (23 heures) peut varier considérablement selon le niveau de connaissances préalable ; il faut donc prévoir une préparation et un bon rythme.
  • Il semble que beaucoup de personnes veuillent apprendre la cryptographie de manière pratique, sans théorie ; pour celles-ci, cryptopals.com est recommandé.
  • Il serait utile d’avoir des ressources orientées pratique sur l’utilisation de bibliothèques cryptographiques sans se concentrer sur les maths.
    • Il faut plutôt comprendre la façon d’assembler correctement d’autres composants de base pour concevoir un système présentant les propriétés souhaitées.
  • Si vous voulez pratiquer les notions apprises sous forme de « capture the flag », je recommande https://cryptohack.org/ ; c’est un excellent site.
  • Dan Boneh est également conseiller pour l’équipe a16z crypto et produit avec eux beaucoup de contenu lié à la blockchain.
  • Le livre qu’il a coécrit, « A Graduate Course in Applied Cryptography », m’a été très utile. https://toc.cryptobook.us/
  • J’aimerais apprendre le chiffrement à courbe elliptique (ECC) et la cryptographie résistante aux attaques quantiques (PQC), mais la plupart des cours semblent s’arrêter au même niveau. Un cours complémentaire sur ces sujets serait le bienvenu.
  • J’ai suivi les cours en présentiel et sur Coursera de Dan Boneh, qui est un excellent enseignant. Je le recommande vivement.