-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathconstants.xml
161 lines (153 loc) · 4.66 KB
/
constants.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f80105b4fc1196bd8d5fecb98d686b580b1ff65d Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<appendix xml:id="mcrypt.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
&extension.constants;
<para>
Mcrypt 支持以下四种分组密码模式:<literal>CBC</literal>,
<literal>OFB</literal>,<literal>CFB</literal> 和
<literal>ECB</literal>。
如果使用 libmcrypt-2.4.x 或更高版本链接,
还可以支持 <literal>nOFB</literal> 分组模式
和 <literal>STREAM</literal> 模式。
下列是所支持的加密模式以及其对应的预定义常量。
完整的参考见:&book.applied.cryptography;。
<itemizedlist>
<listitem>
<simpara>
<constant>MCRYPT_MODE_ECB</constant> (<literal>electronic
codebook</literal>) 是一种分组加密模式,但是它无法适用于大部分场景,
所以不建议使用这种模式进行分组加密。
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CBC</constant> (<literal>cipher block
chaining</literal>) 也是一种分组加密方式,
相对 <literal>ECB</literal> 模式,它更加安全。
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_CFB</constant> (<literal>8 比特模式的 cipher
feedback</literal>) 是一种流式加密模式。
相对于 <literal>CFB</literal> 而言,
推荐使用 <literal>NCFB</literal> 模式。
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_OFB</constant> (<literal>output feedback, in
8bit</literal>) 和 <literal>CFB</literal> 类似,
也是一种流式加密模式,它可以用在无法容忍加密错误传播的应用中。
推荐使用 <literal>NOFB</literal> 模式,而不是 <literal>OFB</literal> 模式。
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_NOFB</constant> (<literal>output feedback,
in nbit</literal>) 和 <literal>OFB</literal> 类似,但是更加安全,
因为它可以按照算法指定的分组大小来对数据进行加密。
</simpara>
</listitem>
<listitem>
<simpara>
<constant>MCRYPT_MODE_STREAM</constant> 是一种扩展模式,
它包含了诸如 <literal>"WAKE"</literal> 或 <literal>"RC4"</literal> 的流加密算法。
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Mcrypt 还支持一些尚未预定义常量的加密模式。
可以通过传入一个字符串来使用使用未预定义常量的加密模式。
<itemizedlist>
<listitem>
<simpara>
<literal>"ctr"</literal> (<literal>counter mode</literal>) 是一种流式加密模式。
</simpara>
</listitem>
<listitem>
<simpara>
<literal>"ncfb"</literal> (<literal>cipher feedback,
in n-bit mode</literal>),类似于 <literal>CFB</literal> 模式,
但是它会对于算法设定的整块数据进行操作。
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
其他模式以及随机设备常量:
<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:
-->