web-dev-qa-db-fra.com

Incrémentation de vecteur d'initialisation de 1

Supposons que nous ne génèverions pas de vecteurs d'initialisation aléatoirement (en utilisant AES en mode CBC). Au lieu de cela, il est initialement tous les zéros et nous l'incruste par 1 chaque fois qu'un message est crypté. Comment cela peut-il causer un problème? Pourrait expliquer avec un exemple?

6
Cemre

Ne pas utiliser un IV aléatoire avec le mode CBC est une vulnérabilité reconnue par CWE-329

Le IV est presque toujours connu de l'attaquant et idéalement cette valeur est inutile sans la clé secrète.

Toutefois, si l'attaquant sait ce que l'IV sera pour un message texte clair donné ou si l'attaquant peut contrôler le message, il peut alors calculer toutes les clés possibles pour cette combinaison de message + iv. Le chiffre produit par ce message + la clé IV + peut ensuite être levé dans la table précalisée pour obtenir la clé secrète en très peu de temps.

J'ai posé cette question sur la pile débordement et Erickson a donné une excellente réponse .

1
rook