Page 1 sur 1

[MCrypt] Stockage de l'IV

Posté : 30 nov. 2013, 13:33
par Cur3
Bonjour,

J'essaye de chiffrer des données avant de les mettre dans une base de données. J'ai suivi quelques tutos sur l'utilisation de mcrypt et j'ai écrit (et surtout copié) ce bout de code :
function generateIv() {
    return mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND);
}

function chiffrer($msg, $key, $iv) {
    return mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $msg, MCRYPT_MODE_CBC, $iv);
}

function dechiffrer($msg, $key, $iv) {
    return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $msg, MCRYPT_MODE_CBC, $iv);
}


$key = 'secret-32chars';
$iv = generateIv();

// Pour chiffrer un message
$msgBase = 'Bonjour PHPFrance !';
$msgChiffre = chiffrer($msgBase, $key, $iv);

// Pour déchiffrer un message
$msgClair = dechiffrer($msgChiffre, $key, $iv);
J'ai remarqué qu'il fallait le même IV pour chiffrer / déchiffrer. Je pense donc le stocker lui aussi en base de données. Ce n'est pas dangereux ? Avec qu'un IV et le message chiffré, on ne peut rien faire ?

C'est quoi au juste cet IV, il sert à quoi ?

Merci ! :)