Bases et applications de la cryptographie

Apprenez la cryptographie avec des QCM, dont des questions de calcul : chiffrement par blocs et par flot, AES, modes d'opération (ECB, CBC, CTR et GCM), vecteurs d'initialisation et nonces, attaques par oracle de remplissage, longueur de clé et effort de force brute, SHA-2 et SHA-3, attaques par extension de longueur et HMAC, calculs d'attaque des anniversaires, fonctions de dérivation de clé, RSA et échange de clés Diffie-Hellman calculés avec de petits nombres, longueurs de clé de la cryptographie sur courbes elliptiques, confidentialité persistante, autorités de certification et chaînes de certificats, Certificate Transparency, TLS 1.3, 0-RTT et rejeu, TLS mutuel, algorithme de Grover et longueur de clé, ML-KEM, ML-DSA et SLH-DSA, échange de clés hybride, HSM, chiffrement d'enveloppe, rotation des clés et agilité cryptographique.

S'entraîner sur 10 questionsQuestions aléatoires de ce thème · environ 5 minutes S'entraîner sur ce thèmeToutes les questions de ce thème dans un ordre aléatoire Questions à revoirNe refaire que les questions manquées lors de la dernière tentative

Bases et applications de la cryptographie : points clés

Un algorithme sûr ne suffit pas à rendre la cryptographie utile. Des erreurs d'utilisation, comme réutiliser un nonce, chiffrer en mode ECB ou ne pas vérifier le nom d'hôte d'un certificat, peuvent facilement casser même une cryptographie solide. Ce thème approfondit d'un niveau la manière dont la cryptographie est combinée et utilisée au sein des systèmes et des protocoles réels.

Il commence par la cryptographie symétrique : chiffrement par blocs et par flot, longueurs de bloc et de clé d'AES, modes d'opération (ECB, CBC, CTR et GCM) et exigences sur les vecteurs d'initialisation et les nonces, remplissage et attaques par oracle de remplissage, et chiffrement authentifié (AEAD), avec un calcul qui montre comment le texte clair fuit lorsqu'un nonce est réutilisé en mode CTR. Il aborde ensuite SHA-2 et SHA-3, les attaques par extension de longueur et HMAC, les limites des blocs de 64 bits face à l'attaque des anniversaires et les fonctions de dérivation de clé, puis calcule RSA et l'échange de clés Diffie-Hellman avec de petits nombres pour examiner le problème du logarithme discret, les attaques de l'homme du milieu, les longueurs de clé de référence pour la cryptographie sur courbes elliptiques, la confidentialité persistante et le traitement du nombre aléatoire dans ECDSA. La seconde moitié traite des autorités de certification et des chaînes de certificats, de la vérification du nom d'hôte, de Certificate Transparency, des changements et des suites cryptographiques de TLS 1.3, du rejeu avec le 0-RTT et du TLS mutuel, puis, pour la cryptographie post-quantique, de l'algorithme de Grover et de la longueur de clé, de ML-KEM, ML-DSA et SLH-DSA, normalisés en août 2024, des mécanismes d'encapsulation de clés, de l'échange de clés hybride et de la manière de réfléchir au calendrier de la migration. Il se termine par la gestion des clés : HSM, chiffrement d'enveloppe, rotation des clés et agilité cryptographique. Il aide aussi à préparer la partie sécurité des examens de certification informatique. Les valeurs des questions de calcul, y compris celles des choix erronés, ont été vérifiées par un calcul en Python. Les bases de la cryptographie symétrique et à clé publique, le calcul du nombre de clés, les propriétés des fonctions de hachage et le stockage des mots de passe, ainsi que la différence entre signatures numériques et MAC sont traités dans le thème « Bases de la sécurité de l'information » ; les attaques par canal auxiliaire et l'implémentation en temps constant, AES-NI, le TPM et les générateurs de nombres vraiment aléatoires dans « Sécurité matérielle » ; l'algorithme de Shor et l'échelle des ordinateurs quantiques dans « Matériel des ordinateurs quantiques » ; le nombre d'allers-retours de TLS et ce que protège HTTPS dans « Bases des réseaux informatiques » ; JWT et OAuth dans « Bases des technologies web » ; et l'entropie dans « Bases de la théorie de l'information et du codage ».

Toutes les questions sur Bases et applications de la cryptographie (40)

  1. En cryptographie symétrique, quelle affirmation décrit correctement la différence entre le chiffrement par blocs et le chiffrement par flot ?
  2. Quelle est la bonne combinaison de longueur de bloc et de longueur de clé pour AES, le chiffrement par blocs largement utilisé aujourd'hui ?
  3. Des données d'image ont été chiffrées avec AES en mode ECB, et le contour de l'image d'origine restait reconnaissable dans l'image chiffrée. Quelle en est la cause ?
  4. Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?
  5. AES (longueur de bloc de 16 octets) est utilisé en mode CBC avec un remplissage PKCS#7. Avec PKCS#7, s'il manque n octets, on ajoute n octets de valeur n, et même lorsque la longueur du texte clair est exactement un multiple de 16, on ajoute 16 octets de valeur 16. Quelle est la longueur du texte chiffré (sans l'IV) lorsqu'on chiffre un texte clair de 96 octets ?
  6. Un serveur qui reçoit des données chiffrées en mode CBC renvoyait des erreurs différentes selon que le remplissage était incorrect après déchiffrement ou que le remplissage était correct mais que la vérification du contenu échouait. Quelle affirmation décrit correctement cette situation ?
  7. Quelle affirmation décrit correctement une caractéristique du mode CTR (mode compteur) d'un chiffrement par blocs ?
  8. En mode CTR, deux messages ont été chiffrés par erreur avec la même clé et le même nonce. Pour l'octet situé à une certaine position, le premier texte clair P₁ vaut 01001000 (« H » en ASCII), son texte chiffré C₁ vaut 01110100 et le second texte chiffré C₂ vaut 01010101. Si l'attaquant connaît P₁, quel est le second texte clair P₂ à la même position ?
  9. Que fournit en une seule opération un chiffrement authentifié (AEAD) comme AES-GCM ?
  10. Quelle affirmation sur le nonce (IV) de 96 bits utilisé dans AES-GCM est correcte ?
  11. Sur une certaine machine, une attaque par force brute qui essaie toutes les clés de 56 bits prend environ 20 heures. Quelle durée est la plus proche du temps nécessaire à la même machine pour essayer toutes les clés de 64 bits ?
  12. Quelle affirmation sur les fonctions de hachage SHA-2 et SHA-3 est correcte ?
  13. Utiliser comme étiquette de détection des falsifications la valeur de hachage SHA-256(K ‖ m) d'une clé secrète K suivie d'un message m est considéré comme dangereux. Quelle en est la raison ?
  14. On pose 1 GiB = 2³⁰ octets et 1 EiB = 2⁶⁰ octets. Un chiffrement par blocs à blocs de 64 bits (comme 3DES) est utilisé en mode CBC pour chiffrer une grande quantité de données sous une seule clé. En considérant les blocs de texte chiffré comme des valeurs aléatoires de 64 bits, quelle est la quantité de données à partir de laquelle, d'après le paradoxe des anniversaires, la probabilité qu'apparaisse une paire de blocs de texte chiffré identiques ne peut plus être négligée ?
  15. Dans des protocoles comme TLS 1.3, le secret partagé obtenu par un échange de clés ECDHE n'est pas utilisé directement comme clé de chiffrement : les clés sont produites en le faisant passer par une fonction de dérivation de clé (KDF) comme HKDF. Quelle en est une raison appropriée ?
  16. On vérifie le mécanisme de RSA avec de petits nombres. À partir des nombres premiers p = 5 et q = 11, on forme n = pq, et l'exposant public est e = 3. Avec φ(n) = (p − 1)(q − 1), quel est l'exposant privé d (0 < d < φ(n)) qui vérifie e × d ≡ 1 (mod φ(n)) ?
  17. En RSA, la clé publique est n = 55 et e = 3. Quel est le texte chiffré c lorsque le texte clair m = 7 est chiffré par c = m^e mod n ?
  18. Quelle affirmation décrit correctement un problème posé par l'utilisation, dans de vraies communications et sans remplissage, du RSA « de manuel » (qui calcule directement c = m^e mod n à partir du texte clair m) ?
  19. Dans l'échange de clés Diffie-Hellman, un nombre premier p et un générateur g sont publics ; A et B choisissent des valeurs secrètes a et b et s'envoient g^a mod p et g^b mod p. Pourquoi estime-t-on qu'un attaquant qui écoute la communication ne peut pas trouver le secret partagé g^(ab) mod p, même après avoir vu toutes ces valeurs publiques ?
  20. On vérifie l'échange de clés Diffie-Hellman avec de petits nombres. Soit p = 23 et g = 5 ; A choisit la valeur secrète a = 6 et B la valeur secrète b = 15. A envoie A = g^a mod p et B envoie B = g^b mod p. Quel secret partagé les deux obtiennent-ils ?
  21. Quelle association entre une faiblesse de l'échange de clés Diffie-Hellman sans authentification et sa contre-mesure est correcte ?
  22. Dans le tableau de NIST SP 800-57, quelle combinaison de longueur de clé RSA (nombre de bits de n) et de longueur de clé pour la cryptographie sur courbes elliptiques est donnée comme repère pour une sécurité comparable à celle de la cryptographie symétrique à 128 bits (AES-128) ?
  23. Avec TLS, quelle méthode d'échange de clés procure la propriété selon laquelle les communications enregistrées auparavant ne peuvent pas être déchiffrées même si la clé privée du certificat du serveur fuit plus tard (confidentialité persistante) ?
  24. Dans les signatures numériques ECDSA, un nombre aléatoire secret k est utilisé pour chaque signature. Quelle affirmation sur la manière de traiter k est correcte ?
  25. Quelle affirmation sur la chaîne de certificats, lorsqu'un navigateur valide le certificat d'un serveur web, est correcte ?
  26. Lors de la validation d'un certificat TLS, le client vérifie non seulement la chaîne de signatures et la période de validité, mais aussi que le nom d'hôte auquel il se connecte figure dans le SAN (subject alternative name) du certificat. Pourquoi cette vérification est-elle indispensable ?
  27. Quelle description du mécanisme de Certificate Transparency (CT) est correcte ?
  28. Quelle affirmation décrit correctement un changement de TLS 1.3 (RFC 8446) par rapport à TLS 1.2 ?
  29. Quelle combinaison indique correctement ce que spécifie la suite cryptographique TLS_AES_128_GCM_SHA256 de TLS 1.3 ?
  30. Quelle mise en garde concernant le 0-RTT de TLS 1.3 (envoi de « données précoces » (early data) avec le premier message, à l'aide d'une clé pré-partagée obtenue lors d'une connexion antérieure) est correcte ?
  31. Quelle affirmation sur le TLS mutuel (mTLS) est correcte ?
  32. On estime que chercher la clé de n bits d'une cryptographie symétrique avec l'algorithme de Grover sur un ordinateur quantique demande environ 2^(n/2) calculs. D'après ce repère simple, quelle valeur est la plus proche de la sécurité d'AES-128 face aux ordinateurs quantiques ?
  33. Quelle association entre les normes de cryptographie post-quantique publiées par le NIST américain en août 2024 et leur type est correcte ?
  34. Quelle affirmation décrit correctement l'utilisation d'un mécanisme d'encapsulation de clés (KEM) comme ML-KEM ?
  35. Quelle affirmation décrit correctement l'idée de l'échange de clés hybride, utilisé pendant la migration vers la cryptographie post-quantique, qui combine X25519 (échange de clés Diffie-Hellman sur une courbe elliptique) et ML-KEM ?
  36. Pour réfléchir au moment de migrer la cryptographie, on raisonne ainsi : « si le nombre d'années x pendant lequel les données doivent rester secrètes, augmenté du nombre d'années y que prend la migration vers une nouvelle cryptographie, dépasse le nombre d'années z avant l'apparition d'un ordinateur quantique capable de casser cette cryptographie, il y a déjà un danger » (inégalité de Mosca). Avec x = 10 ans, y = 5 ans et z supposé égal à 12 ans, quel jugement est correct ?
  37. Quelle affirmation sur le rôle d'un HSM (module matériel de sécurité) est correcte ?
  38. On appelle DEK une clé de chiffrement des données et KEK une clé de chiffrement de clés. Quelle description du chiffrement d'enveloppe, utilisé notamment pour le stockage dans le cloud, est correcte ?
  39. Quel est le but principal de la rotation des clés, qui consiste à remplacer à intervalles réguliers une clé cryptographique par une nouvelle ?
  40. Lors de la conception d'un système, quelle mesure est appropriée pour accroître l'agilité cryptographique (la propriété de rendre les schémas cryptographiques faciles à remplacer) ?

Autres thèmes de Systèmes informatiques