Qu'est-ce que Nonce ?

En cryptographie, valeur utilisée une seule fois sous une même clé ; le nom signifie « number used once ». En mode CTR et avec GCM, utiliser deux fois la même paire clé-nonce produit le même flux de clé et fait fuir le XOR des textes clairs ; on utilise donc un compteur ou un moyen analogue pour que les valeurs ne se répètent pas. Le vecteur d'initialisation (IV) utilisé en mode CBC doit non seulement être unique, mais aussi imprévisible pour un attaquant. Ni l'un ni l'autre n'a besoin d'être secret ; on les envoie généralement avec le texte chiffré. Un nouveau nombre aléatoire envoyé dans un protocole d'authentification pour empêcher le rejeu d'anciennes réponses s'appelle aussi un nonce.

Nom japonais: ナンス

« Nonce » apparaît dans 5 questions d'entraînement réparties sur 1 thèmes, dont Bases et applications de la cryptographie.

Domaine: Bases et applications de la cryptographie

S'entraîner : questions sur Nonce

Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?

  1. AGarder l'IV secret comme la clé et continuer à utiliser la même valeur pour tous les messages
  2. BL'IV n'a pas besoin d'être secret, mais on choisit pour chaque message une nouvelle valeur aléatoire qu'un attaquant ne peut pas prédire
  3. CL'IV n'a pas besoin d'être secret et peut être fixé à chaque fois à une même valeur convenue avec l'autre partie (par exemple que des zéros)
Afficher la réponse et l'explication

Réponse : B. L'IV n'a pas besoin d'être secret, mais on choisit pour chaque message une nouvelle valeur aléatoire qu'un attaquant ne peut pas prédire

En mode CBC, chaque bloc de texte clair est combiné par XOR avec le bloc de texte chiffré précédent avant d'être chiffré, et le premier bloc est combiné avec l'IV. L'IV est généralement envoyé au début du texte chiffré et n'a donc pas besoin d'être secret. Mais si le même IV est utilisé à chaque fois, des messages qui commencent de la même façon produisent aussi des textes chiffrés qui commencent de la même façon, ce qui révèle que des parties du contenu sont identiques. De plus, si un attaquant peut prédire le prochain IV, on connaît des attaques qui devinent le contenu en faisant chiffrer des textes clairs choisis (comme l'attaque BEAST contre TLS 1.0).

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 ?

  1. A00100001
  2. B00111100
  3. C01101001
Afficher la réponse et l'explication

Réponse : C. 01101001

Avec la même clé et le même nonce, le flux de clé K est identique, donc C₁ = P₁ ⊕ K et C₂ = P₂ ⊕ K. On obtient d'abord K = P₁ ⊕ C₁ = 01001000 ⊕ 01110100 = 00111100, puis P₂ = C₂ ⊕ K = 01010101 ⊕ 00111100 = 01101001 (« i » en ASCII). Sans connaître la clé, il suffit de connaître l'un des textes clairs pour obtenir directement l'autre. C'est pourquoi, en mode CTR et avec GCM, ne jamais réutiliser le même nonce sous la même clé est une condition indispensable.

« Nonce » dans les explications

Questions mentionnant « Nonce » (5)

  1. Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?
  2. 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 ?
  3. Quelle affirmation sur le nonce (IV) de 96 bits utilisé dans AES-GCM est correcte ?
  4. En cryptographie symétrique, quelle affirmation décrit correctement la différence entre le chiffrement par blocs et le chiffrement par flot ?
  5. Quelle affirmation décrit correctement une caractéristique du mode CTR (mode compteur) d'un chiffrement par blocs ?

Termes associés

Mode d'opération de chiffrement par blocs AES (Advanced Encryption Standard) Chiffrement authentifié (AEAD) TLS (Transport Layer Security) Cryptographie symétrique (cryptographie à clé secrète) Agilité cryptographique (crypto-agilité) Attaque des anniversaires Autorité de certification Chiffrement d'enveloppe (envelope encryption) Confidentialité persistante (forward secrecy)

Retour au glossaire