<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mcrypt.ciphers.php',
    1 => 'Modes de chiffrement Mcrypt',
    2 => 'Modes de chiffrement Mcrypt',
  ),
  'up' => 
  array (
    0 => 'book.mcrypt.php',
    1 => 'Mcrypt',
  ),
  'prev' => 
  array (
    0 => 'mcrypt.constants.php',
    1 => 'Constantes pr&eacute;-d&eacute;finies',
  ),
  'next' => 
  array (
    0 => 'ref.mcrypt.php',
    1 => 'Fonctions Mcrypt',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    '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">Modes de chiffrement Mcrypt</h1>

 <p class="para">
  Voici une liste non exhaustive des modes de chiffrement de l&#039;extension
  mcrypt. Pour disposer d&#039;une liste complète des chiffrements supportés,
  voir les définitions dans le fichier <var class="filename">mcrypt.h</var>. La règle
  générale avec l&#039;API mcrypt-2.2.x est qu&#039;il est possible d&#039;accéder au
  mode de chiffrement via PHP avec la constante MCRYPT_ciphername. Avec
  la bibliothèque libmcrypt-2.4.x et libmcrypt-2.5.x, ces constantes fonctionnent
  toujours, mais il est possible de spécifier le nom du chiffrement dans une chaîne,
  lors de l&#039;appel à <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 uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_ARCFOUR (libmcrypt &gt; 2.4.x uniquement)</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 uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_ENIGMA (libmcrypt &gt; 2.4.x uniquement, alias de MCRYPT_CRYPT)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_GOST</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_IDEA (non libre)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_LOKI97 (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_MARS (libmcrypt &gt; 2.4.x uniquement, non libre)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_PANAMA (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_128 (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_192 (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RIJNDAEL_256 (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC2</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC4 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6 (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_128 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_192 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_RC6_256 (libmcrypt 2.2.x uniquement)</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 uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT(libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_128 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_192 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SERPENT_256 (libmcrypt 2.2.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_SKIPJACK (libmcrypt &gt; 2.4.x uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TEAN (libmcrypt 2.2.x uniquement)</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 uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH (pour les anciennes versions de mcrypt 2.x ou mcrypt &gt; 2.4.x )</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_TWOFISH128 (TWOFISHxxx est disponible dans les nouvelles versions 2.x,
    mais pas dans les versions 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 uniquement)</span></li>
   <li class="listitem"><span class="simpara">MCRYPT_XTEA (libmcrypt &gt; 2.4.x uniquement)</span></li>
  </ul>
 </p>
 <p class="simpara">
  Il faut (mode <strong><code>CFB</code></strong> et <strong><code>OFB</code></strong>)
  ou il est possible de (mode <strong><code>CBC</code></strong>) fournir un vecteur d&#039;initialisation
  (IV) pour ces modes de chiffrement. IV doit être unique, et avoir la même
  valeur au chiffrement et au déchiffrement. Pour des données qui seront
  enregistrées après chiffrement, il est possible de prendre le résultat d&#039;une
  fonction telle que MD5, appliquée sur le nom du fichier. Sinon, l&#039;on
  peut envoyer le IV avec les données chiffrées, (se reporter au chapitre
  9.3 de Applied Cryptography by Schneier (ISBN 0-471-11709-9) de Schneier (ISBN 0-471-11709-9)
  pour plus de détails sur le sujet).
 </p>
</div>
<?php manual_footer($setup); ?>