CakeFest 2024: The Official CakePHP Conference

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが 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) は、 一般的にはほとんどの用途に合わないブロック暗号モードです。 このモードを使うことは推奨しません。
  • 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)

add a note

User Contributed Notes 2 notes

up
7
gordon at vixo dot com
11 years ago
These constants don't cover all the possible options.

There are two constants:
MCRYPT_MODE_OFB
MCRYPT_MODE_NOFB

These relate to using OFB mode in 8-bit feedback mode and using the same feedback length as the key

There is one constant
MCRYPT_MODE_CFB which uses 8-bit feedback mode

There ought to be a constant
MCRYPT_MODE_NCFB which uses the same feedback length as the key.

In fact you can just use the option 'ncfb' in mycrypt
up
-18
Andrey Andreev
10 years ago
You can just use strings instead of the constants ... they are useless and lacking for other modes that are fully supported. Here's a list:

cbc
ecb
ofb
nofb
cfb
ncfb
ctr
stream
To Top