php-doc-en/reference/mcrypt/constants.xml
Christoph Michael Becker 86e6094e86 Use canonical type names
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@351133 c90b9560-bf6c-de11-be94-00142212c4b1
2020-11-02 15:39:04 +00:00

161 lines
4.6 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 a block cipher mode that is generally
unsuitable for most purposes. The use of this mode is not recommended.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CBC</constant> (<literal>cipher block
chaining</literal>) is a block cipher mode that is significantly
more secure than <literal>ECB</literal> mode.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CFB</constant> (<literal>cipher
feedback, in 8-bit mode</literal>) is a stream cipher mode.
It is recommended to use <literal>NCFB</literal> mode rather
than <literal>CFB</literal> mode.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_OFB</constant> (<literal>output feedback, in
8-bit mode</literal>) is a stream cipher mode comparable to <literal>CFB</literal>, but
can be used in applications where error propagation cannot
be tolerated.
It is recommended to use <literal>NOFB</literal> mode rather
than <literal>OFB</literal> mode.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_NOFB</constant> (<literal>output feedback,
in n-bit mode</literal>) is comparable to <literal>OFB</literal> mode,
but operates on the full 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>
Mcrypt supports some other modes of operation for which there are no predefined constants.
They can be utilised by passing a string in place of the missing constants.
<itemizedlist>
<listitem>
<simpara>
<constant>"ctr"</constant> (<literal>counter mode</literal>) is a stream cipher mode.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>"ncfb"</constant> (<literal>cipher feedback,
in n-bit mode</literal>) is comparable to <literal>CFB</literal> mode,
but operates on the full block size of the algorithm.
</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>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-decrypt">
<term>
<constant>MCRYPT_DECRYPT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-dev-random">
<term>
<constant>MCRYPT_DEV_RANDOM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-dev-urandom">
<term>
<constant>MCRYPT_DEV_URANDOM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.mcrypt-rand">
<term>
<constant>MCRYPT_RAND</constant>
(<type>int</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:
-->