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