mcrypt_create_iv

(PHP 3>= 3.0.8, PHP 4 )

mcrypt_create_iv -- Crée un vecteur d'initialisation à partir d'une source aléatoire.

Description

string mcrypt_create_iv ( int size, int source)

mcrypt_create_iv() sert à créer un IV (vecteur d'initialisation).

mcrypt_create_iv() prend deux arguments, size détermine la taille de IV, source spécifie la source de IV.

La source peut être MCRYPT_RAND (générateur de nombres aléatoires système), MCRYPT_DEV_RANDOM (lecture des données depuis le fichier /dev/random) et MCRYPT_DEV_URANDOM (lecture des données depuis le fichier /dev/urandom). Si vous utilisez MCRYPT_RAND, assurez-vous de bien appeler srand() pour initialiser le générateur de nombres aléatoires.

Exemple 1. Exemple avec mcrypt_create_iv

<?php
    $size
= mcrypt_get_iv_size (MCRYPT_CAST_256, MCRYPT_MODE_CFB);
    
$iv = mcrypt_create_iv ($size, MCRYPT_DEV_RANDOM);
?>

Le VI est uniquement une solution alternative pour initialiser les routines de chiffrement. Le VI n'a pas besoin d'être spécifiquement secret, même si c'est mieux. Vous pouvez même l'envoyer avec vos données chiffrées sans perdre de sécurité.

Plus d'informations sont disponibles sur les sites de http://www.ciphersbyritter.com/GLOSSARY.HTM#IV, http://fn2.freenet.edmonton.ab.ca/~jsavard/crypto/co0409.htm et dans le chapitre 9.3 du livre "Applied Cryptography" de Schneier (ISBN 0-471-11709-9).