# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが 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) は、他のキーを暗号化すると いったランダムデータに適しています。出力データが短くランダムであると いう ECB の短所は、都合の良い逆の効果を持っています。
- `MCRYPT_MODE_CBC` (cipher block chaining)は、特に、ECB よりも著しく 高いセキュリティでファイルを暗号化する用途に適しています。
- `MCRYPT_MODE_CFB` (cipher feedback) は、1 バイト毎に暗号化する必要がある バイトストリームを暗号化する際に最も適したモードです。
- `MCRYPT_MODE_OFB` (output feedback、8 ビット形式) は CFBと互換性が ありますが、エラーの伝播が許容されないアプリケーションに使用する ことが可能です。このモードは(8 ビットモードで処理を行うため)安全では なく、使用は推奨されません。
- `MCRYPT_MODE_NOFB` (output feedback, nビット形式) は OFB と互換ですが、 アルゴリズムのブロックサイズを変更可能なため、より安全です。
- `MCRYPT_MODE_STREAM` は、 "WAKE" や "RC4" のようないくつかのストリーム アルゴリズムを読み込む追加のモードです。

他のモードおよびランダムデバイス定数:

`MCRYPT_ENCRYPT` (integer)
`MCRYPT_DECRYPT` (integer)
`MCRYPT_DEV_RANDOM` (integer)
`MCRYPT_DEV_URANDOM` (integer)
`MCRYPT_RAND` (integer)