<?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.ciphers.php',
    1 => 'Mcrypt 暗号',
    2 => 'Mcrypt 暗号',
  ),
  'up' => 
  array (
    0 => 'book.mcrypt.php',
    1 => 'Mcrypt',
  ),
  'prev' => 
  array (
    0 => 'mcrypt.constants.php',
    1 => '定義済み定数',
  ),
  'next' => 
  array (
    0 => 'ref.mcrypt.php',
    1 => 'Mcrypt 関数',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/mcrypt/ciphers.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mcrypt.ciphers" class="appendix">
 <h1 class="title">Mcrypt 暗号</h1>

 <p class="para">
  以下に、mcrypt 拡張モジュールにより現在サポートされている暗号のリストを
  示します。サポートされる暗号の完全なリストについては、
  <var class="filename">mcrypt.h</var> の最後にある define を参照ください。
  mcrypt-2.2.x API に関する一般的な規則は、
  MCRYPT_暗号名で PHP から暗号をアクセス可能であるということです。
  mcrypt-2.4.x および mcrypt-2.5.x の API についてもこれらの定数は
  使用できますが、<span class="function"><a href="function.mcrypt-module-open.php" class="function">mcrypt_module_open()</a></span> を
  コールする際に文字列で暗号名を指定することも可能です。
  <ul class="itemizedlist">
   <li class="listitem"><span class="simpara">MCRYPT_3DES</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_ARCFOUR_IV (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_ARCFOUR (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_BLOWFISH</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_CAST_128</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_CAST_256</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_CRYPT</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_DES</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_DES_COMPAT (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_ENIGMA (libmcrypt &gt; 2.4.x のみ、MCRYPT_CRYPT へのエイリアス)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_GOST</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_IDEA (非フリー)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_LOKI97 (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_MARS (libmcrypt &gt; 2.4.x のみ、非フリー)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_PANAMA (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_128 (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_192 (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_256 (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC2</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC4 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6 (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_128 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_192 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_256 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SAFER64</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SAFER128</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SAFERPLUS (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT(libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_128 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_192 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_256 (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SKIPJACK (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TEAN (libmcrypt 2.2.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_THREEWAY</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TRIPLEDES (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH (古い mcrypt 2.x 系か、あるいは mcrypt &gt; 2.4.x )</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH128 (TWOFISHxxx は 2.x の新しいバージョンで使用可能ですが、2.4.x では使用できません)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH192</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH256</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_WAKE (libmcrypt &gt; 2.4.x のみ)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_XTEA (libmcrypt &gt; 2.4.x のみ)</span></li>
  </ul>
 </p>
 <p class="simpara">
  (<strong><code>CFB</code></strong> および <strong><code>OFB</code></strong> モードでは)それぞれの暗号関数に初期化ベクトル(IV)
  を指定する必要があり、(<strong><code>CBC</code></strong> モードでは)IV を指定することが可能です。
  IV はユニークである必要があり、暗号化/復号化の際に同じである
  必要があります。暗号化されて保存されたデータの場合、関数の出力を
  (ファイル名の MD5 キーのように) 保存されたデータの位置を表す
  インデックスとして使用することができます。もしくは、暗号化された
  データと共に IV を渡すことができます(このトピックに関する議論については、
  Applied Cryptography by Schneier (ISBN 0-471-11709-9) の 9.3 章を参照ください)。
 </p>
</div>
<?php manual_footer($setup); ?>