以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
mcryptは 4 つのブロック暗号モード(CBC
, OFB
,
CFB
, ECB
)で実行可能です。
libmcrypt-2.4.x 以降にリンクした場合、ブロック暗号モード nOFG
と
STREAM
モードでも実行可能です。MCRYPT_MODE_mode 形式を関数で使用する
際には、いくつかの制約があります。ここで、これらの各モードの通常の
使用法の概要を示します。詳細なリファレンスおよび議論に関しては、
Applied Cryptography by Schneier (ISBN 0-471-11709-9) を参照ください。
MCRYPT_MODE_ECB
(electronic codebook
) は、
一般的にはほとんどの用途に合わないブロック暗号モードです。
このモードを使うことは推奨しません。
MCRYPT_MODE_CBC
(cipher block chaining
)は、ECB
よりも著しく
セキュアなブロック暗号モードです。
MCRYPT_MODE_CFB
(cipher feedback、8 ビット形式
) は、
ストリーム暗号モードです。
CFB
ではなく、NCFB
の使用を推奨します。
MCRYPT_MODE_OFB
(output feedback、8 ビット形式
) は
CFB
と互換性が
あるストリーム暗号モードですが、エラーの伝播が許容されないアプリケーションに使用する
ことが可能です。
OFB
ではなく、
NOFB
の使用を推奨します。
MCRYPT_MODE_NOFB
(output feedback, nビット形式
)
は OFB
と互換性がありますが、
アルゴリズムのブロックサイズを変更可能です。
MCRYPT_MODE_STREAM
は、
"WAKE"
や "RC4"
のようないくつかのストリーム
アルゴリズムを読み込む追加のモードです。
Mcrypt は、あらかじめ定義された定数が存在しない他の操作モードもサポートしています。 これらは不明な定数の代わりに、文字列を渡すことで利用できます。
"ctr"
(counter mode
) はストリーム暗号モードです。
"ncfb"
(cipher feedback,
n-bit 形式
) は CFB
と互換性がありますが、
アルゴリズムのブロックサイズを変更可能です。
他のモードおよびランダムデバイス定数:
MCRYPT_ENCRYPT
(int)
MCRYPT_DECRYPT
(int)
MCRYPT_DEV_RANDOM
(int)
MCRYPT_DEV_URANDOM
(int)
MCRYPT_RAND
(int)