Le IV permet en clair pour être chiffrées telles que le texte chiffré est plus difficile à décrypter pour un attaquant. Chaque bit de IV vous utilisez permettra de doubler les possibilités de texte crypté à partir d'un texte brut.
Par exemple, nous allons chiffrer 'bonjour le monde' à l'aide d'un IV d'un caractère de long. Le IV est choisi au hasard pour être "x". Le texte qui est ensuite chiffré est alors 'xhello monde", qui yeilds, disons, 'asdfghjkl'. Si nous chiffrer à nouveau, d'abord générer une nouvelle IV--dire que nous obtenir 'b' à cette époque -, et de chiffrer comme normal (donc le cryptage 'bhello monde"). Cette fois, nous obtenons 'qwertyuio'.
Le point est que l'attaquant ne sais pas ce que le IV est et doit donc calculer tous les possibles IV pour un texte simple de rechercher le texte chiffré. De cette façon, le IV agit comme un mot de passe de sel. Le plus souvent, par un IV est utilisé avec un chaînage de chiffrement (soit un cours d'eau ou de chiffrement par bloc). Dans un chaînage de chiffrement par bloc, le résultat de chaque bloc de texte en clair est nourri de l'algorithme de chiffrement à trouver le texte de chiffrement pour le prochain bloc. De cette façon, chaque bloc est enchaînés.
Donc, si vous avez un hasard IV utilisée pour chiffrer le texte en clair, comment voulez-vous de les décrypter? Simple. Passer le IV (en clair) avec votre texte crypté. À l'aide de notre premier exemple ci-dessus, la version finale du texte de chiffrement serait "xasdfghjkl" (IV + texte chiffré).
Oui, vous devez utiliser un IV, mais assurez-vous de choisir correctement. Utiliser un bon nombre aléatoire de la source de à rendre. Ne jamais utiliser le même IV deux fois. Et ne jamais utiliser une constante IV.
L'article de Wikipedia sur l'initialisation des vecteurs fournit un aperçu général.