|
8.69.11 mcrypt_create_iv()Crée un vecteur d'initialisation à partir d'une
source aléatoire
[ Exemples avec mcrypt_create_iv ] PHP 3 >= 3.0.8, PHP 4, PHP 5
string
mcrypt_create_iv (
int
size
,
int
source
)
mcrypt_create_iv
sert à créer un IV
(vecteur d'initialisation).
Le paramètre
size
détermine la taille de IV,
le paramètre
source
(par défaut, un nombre aléatoire)
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
).
MCRYPT_RAND
est la seule à être supportée sous Windows car Windows (bien sûr) n'a pas de fichier
du type
/dev/random
ou du type
/dev/urandom
.
| Note | |
Lorsque vous utilisez
MCRYPT_RAND
, rappelez-vous d'appeler
la fonction
srand
avant la fonction
mcrypt_create_iv
pour initialiser le générateur de
nombres aléatoires ; ce n'est pas effectué automatiquement comme c'est le cas
pour la fonction
rand
.
|
| 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).
|