以下の定数が定義されています。 この関数の拡張モジュールが 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
と互換性がありますが、 アルゴリズムのブロックサイズを変更可能です。 他のモードおよびランダムデバイス定数: