[MCrypt] Stockage de l'IV

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [MCrypt] Stockage de l'IV

[MCrypt] Stockage de l'IV

par Cur3 » 30 nov. 2013, 13:33

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 ! :)