mcrypt_create_iv
(PHP 4, PHP 5)
mcrypt_create_iv — 乱数ソースから初期化ベクトル(IV)を生成する
説明
string mcrypt_create_iv
( int
$size
[, int $source = MCRYPT_DEV_RANDOM
] )初期化ベクトルを、ランダムなソースから作成します。
IV は、単に暗号化ルーチンに異なる初期値を与えるためだけのものです。 この IV は、たとえ要求されていたとしても秘密にしておく必要はありません。 暗号化したデータとともに IV を送信したとしても、セキュリティを損ねる ことはありません。
パラメータ
-
size -
IV のサイズ。
-
source -
IV のソース。
MCRYPT_RAND(システムの乱数生成器)、MCRYPT_DEV_RANDOM(/dev/random からデータを読む)およびMCRYPT_DEV_URANDOM(/dev/urandom からデータを読む) を指定できます。 5.3.0 より前は、 Windows でサポートされているのはMCRYPT_RANDのみでした。注意:
MCRYPT_RANDを使用する場合、乱数生成器を初期化するために、 必ず mcrypt_create_iv() の前に srand() をコールしてください。 rand() のように、自動的に 初期化されるわけではありません。
返り値
初期化ベクトル、あるいはエラー時に FALSE を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.3.0 |
MCRYPT_DEV_RANDOM 及び
MCRYPT_DEV_URANDOM が Windows プラットフォーム上で利用可能になりました。
|
| 5.3.0 | srand() を最初に呼び出す必要はもはやありません。 これは現在自動的に行われます。 |
例
例1 mcrypt_create_iv() の例
<?php
$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>
参考
- » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
- » http://www.quadibloc.com/crypto/co0409.htm
- Applied Cryptography by Schneier (ISBN 0-471-11709-9) の Chapter 9.3