定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

mcryptは 4 つのブロック暗号モード(CBC, OFB, CFB, ECB)で実行可能です。 libmcrypt-2.4.x 以降にリンクした場合、ブロック暗号モード nOFGSTREAM モードでも実行可能です。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)