php-doc-en/reference/mcrypt/constants.xml
Peter Cowburn 074be37a4b typo
Patch by Marie Minasyan

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@333209 c90b9560-bf6c-de11-be94-00142212c4b1
2014-03-29 21:56:09 +00:00

142 lines
4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<appendix xml:id="mcrypt.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
&extension.constants;
<para>
Mcrypt can operate in four block cipher modes (<literal>CBC</literal>,
<literal>OFB</literal>, <literal>CFB</literal>, and
<literal>ECB</literal>). If linked against libmcrypt-2.4.x or higher the
functions can also operate in the block cipher mode <literal>nOFB</literal>
and in <literal>STREAM</literal> mode. Below you find a list with all
supported encryption modes together with the constants that are
defined for the encryption mode. For a more complete reference and
discussion see &book.applied.cryptography;.
<itemizedlist>
<listitem>
<simpara>
<constant>MCRYPT_MODE_ECB</constant> (<literal>electronic
codebook</literal>) is suitable for random data,
such as encrypting other keys. Since data there is short and random,
the disadvantages of ECB have a favorable negative effect.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CBC</constant> (<literal>cipher block
chaining</literal>) is especially suitable for
encrypting files where the security is increased over <literal>ECB</literal>
significantly.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CFB</constant> (<literal>cipher
feedback</literal>) is the best mode for encrypting byte
streams where single bytes must be encrypted.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_OFB</constant> (<literal>output feedback, in
8bit</literal>) is comparable to <literal>CFB</literal>, but
can be used in applications where error propagation cannot
be tolerated. It's insecure (because it operates in 8bit
mode) so it is not recommended to use it.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_NOFB</constant> (<literal>output feedback,
in nbit</literal>) is comparable to OFB, but
more secure because it operates on the block size of the algorithm.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_STREAM</constant> is an extra mode to include
some stream algorithms like <literal>"WAKE"</literal> or <literal>"RC4"</literal>.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Some other mode and random device constants:
<variablelist>
<varlistentry xml:id="constant.mcrypt-encrypt">
<term>
<constant>MCRYPT_ENCRYPT</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-decrypt">
<term>
<constant>MCRYPT_DECRYPT</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-dev-random">
<term>
<constant>MCRYPT_DEV_RANDOM</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-dev-urandom">
<term>
<constant>MCRYPT_DEV_URANDOM</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-rand">
<term>
<constant>MCRYPT_RAND</constant>
(<type>integer</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->