<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.mcrypt.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'mcrypt.constants.php',
    1 => '定義済み定数',
    2 => '定義済み定数',
  ),
  'up' => 
  array (
    0 => 'book.mcrypt.php',
    1 => 'Mcrypt',
  ),
  'prev' => 
  array (
    0 => 'mcrypt.resources.php',
    1 => 'リソース型',
  ),
  'next' => 
  array (
    0 => 'mcrypt.ciphers.php',
    1 => 'Mcrypt 暗号',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/mcrypt/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mcrypt.constants" class="appendix">
 <h1 class="title">定義済み定数</h1>

 <p class="simpara">
以下の定数が定義されています。
この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、
実行時に動的にロードされている場合のみ使用可能です。
</p>
 <p class="para">
  mcryptは 4 つのブロック暗号モード(<code class="literal">CBC</code>, <code class="literal">OFB</code>,
  <code class="literal">CFB</code>, <code class="literal">ECB</code>)で実行可能です。
  libmcrypt-2.4.x 以降にリンクした場合、ブロック暗号モード <code class="literal">nOFG</code> と
  <code class="literal">STREAM</code> モードでも実行可能です。MCRYPT_MODE_mode 形式を関数で使用する
  際には、いくつかの制約があります。ここで、これらの各モードの通常の
  使用法の概要を示します。詳細なリファレンスおよび議論に関しては、
  Applied Cryptography by Schneier (ISBN 0-471-11709-9) を参照ください。
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_ECB</code></strong> (<code class="literal">electronic codebook</code>) は、
     一般的にはほとんどの用途に合わないブロック暗号モードです。
     このモードを使うことは推奨しません。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_CBC</code></strong> (<code class="literal">cipher block chaining</code>)は、<code class="literal">ECB</code> よりも著しく
     セキュアなブロック暗号モードです。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_CFB</code></strong> (<code class="literal">cipher feedback、8 ビット形式</code>) は、
     ストリーム暗号モードです。
     <code class="literal">CFB</code> ではなく、<code class="literal">NCFB</code> の使用を推奨します。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_OFB</code></strong> (<code class="literal">output feedback、8 ビット形式</code>) は
     <code class="literal">CFB</code>と互換性が
     あるストリーム暗号モードですが、エラーの伝播が許容されないアプリケーションに使用する
     ことが可能です。
     <code class="literal">OFB</code> ではなく、
     <code class="literal">NOFB</code> の使用を推奨します。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_NOFB</code></strong> (<code class="literal">output feedback, nビット形式</code>)
     は <code class="literal">OFB</code> と互換性がありますが、
     アルゴリズムのブロックサイズを変更可能です。
    </span>
   </li> 
   <li class="listitem">
    <span class="simpara">
     <strong><code>MCRYPT_MODE_STREAM</code></strong> は、
     <code class="literal">&quot;WAKE&quot;</code> や <code class="literal">&quot;RC4&quot;</code> のようないくつかのストリーム
     アルゴリズムを読み込む追加のモードです。
    </span>
   </li> 
  </ul>
 </p>

 <p class="para">
  Mcrypt は、あらかじめ定義された定数が存在しない他の操作モードもサポートしています。
  これらは不明な定数の代わりに、文字列を渡すことで利用できます。
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     <strong><code>"ctr"</code></strong> (<code class="literal">counter mode</code>) はストリーム暗号モードです。
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code>"ncfb"</code></strong> (<code class="literal">cipher feedback,
     n-bit 形式</code>) は <code class="literal">CFB</code> と互換性がありますが、
     アルゴリズムのブロックサイズを変更可能です。
    </span>
   </li>
  </ul>
 </p>

 <p class="para">
  他のモードおよびランダムデバイス定数:
  <dl>
   
    <dt id="constant.mcrypt-encrypt">
     <strong><code><a href="mcrypt.constants.php#constant.mcrypt-encrypt">MCRYPT_ENCRYPT</a></code></strong> 
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <span class="simpara">
      
     </span>
    </dd>
   
   
    <dt id="constant.mcrypt-decrypt">
     <strong><code><a href="mcrypt.constants.php#constant.mcrypt-decrypt">MCRYPT_DECRYPT</a></code></strong> 
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <span class="simpara">
      
     </span>
    </dd>
   
   
    <dt id="constant.mcrypt-dev-random">
     <strong><code><a href="mcrypt.constants.php#constant.mcrypt-dev-random">MCRYPT_DEV_RANDOM</a></code></strong> 
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <span class="simpara">
      
     </span>
    </dd>
   
   
    <dt id="constant.mcrypt-dev-urandom">
     <strong><code><a href="mcrypt.constants.php#constant.mcrypt-dev-urandom">MCRYPT_DEV_URANDOM</a></code></strong> 
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <span class="simpara">
      
     </span>
    </dd>
   
   
    <dt id="constant.mcrypt-rand">
     <strong><code><a href="mcrypt.constants.php#constant.mcrypt-rand">MCRYPT_RAND</a></code></strong> 
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <span class="simpara">
      
     </span>
    </dd>
   
  </dl>
 </p>
</div>
<?php manual_footer($setup); ?>