reference/openssl/functions/openssl-get-curve-names.xml
d1e3ea622e5d4f542cd36eca59a9f22aa0142633
...
...
@@ -0,0 +1,203 @@
1
+
<?xml version="1.0" encoding="utf-8"?>
2
+
<!-- $Revision$ -->
3
+
<refentry xml:id="function.openssl-get-curve-names" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4
+
<refnamediv>
5
+
<refname>openssl_get_curve_names</refname>
6
+
<refpurpose>Gets list of available curve names for ECC</refpurpose>
7
+
</refnamediv>
8
+

9
+
<refsect1 role="description">
10
+
&reftitle.description;
11
+
<methodsynopsis>
12
+
<type class="union"><type>array</type><type>false</type></type><methodname>openssl_get_curve_names</methodname>
13
+
<void/>
14
+
</methodsynopsis>
15
+
<para>
16
+
Gets the list of available curve names for use in Elliptic curve
17
+
cryptography (ECC) for public/private key operations. The two most widely
18
+
standardized/supported curves are <emphasis>prime256v1</emphasis>
19
+
(NIST P-256) and <emphasis>secp384r1</emphasis> (NIST P-384).
20
+
<table>
21
+
<title>Approximate Equivalancies of AES, RSA, DSA and ECC Keysizes</title>
22
+
<tgroup cols="3">
23
+
<thead>
24
+
<row>
25
+
<entry>AES Symmetric Keysize (Bits)</entry>
26
+
<entry>RSA and DSA Keysize (Bits)</entry>
27
+
<entry>ECC Keysize (Bits)</entry>
28
+
</row>
29
+
</thead>
30
+
<tbody>
31
+
<row>
32
+
<entry>80</entry>
33
+
<entry>1024</entry>
34
+
<entry>160</entry>
35
+
</row>
36
+
<row>
37
+
<entry>112</entry>
38
+
<entry>2048</entry>
39
+
<entry>224</entry>
40
+
</row>
41
+
<row>
42
+
<entry>128</entry>
43
+
<entry>3072</entry>
44
+
<entry>256</entry>
45
+
</row>
46
+
<row>
47
+
<entry>192</entry>
48
+
<entry>7680</entry>
49
+
<entry>384</entry>
50
+
</row>
51
+
<row>
52
+
<entry>256</entry>
53
+
<entry>15360</entry>
54
+
<entry>512</entry>
55
+
</row>
56
+
</tbody>
57
+
</tgroup>
58
+
</table>
59
+
<link xlink:href="http://dx.doi.org/10.6028/NIST.SP.800-57pt1r4">NIST
60
+
recommends using ECC curves with at least 256 bits</link>.
61
+
</para>
62
+

63
+
</refsect1>
64
+

65
+
<refsect1 role="parameters">
66
+
&reftitle.parameters;
67
+
&no.function.parameters;
68
+
</refsect1>
69
+

70
+
<refsect1 role="returnvalues">
71
+
&reftitle.returnvalues;
72
+
<para>
73
+
An <type>array</type> of available curve names, &return.falseforfailure;.
74
+
</para>
75
+
</refsect1>
76
+

77
+
<refsect1 role="examples">
78
+
&reftitle.examples;
79
+
<para>
80
+
<example>
81
+
<title><function>openssl_get_curve_names</function> example</title>
82
+
<programlisting role="php">
83
+
<![CDATA[
84
+
<?php
85
+
$curve_names = openssl_get_curve_names();
86
+
print_r($curve_names);
87
+
?>
88
+
]]>
89
+
</programlisting>
90
+
&example.outputs.similar;
91
+
<screen>
92
+
<![CDATA[
93
+
Array
94
+
(
95
+
[0] => secp112r1
96
+
[1] => secp112r2
97
+
[2] => secp128r1
98
+
[3] => secp128r2
99
+
[4] => secp160k1
100
+
[5] => secp160r1
101
+
[6] => secp160r2
102
+
[7] => secp192k1
103
+
[8] => secp224k1
104
+
[9] => secp224r1
105
+
[10] => secp256k1
106
+
[11] => secp384r1
107
+
[12] => secp521r1
108
+
[13] => prime192v1
109
+
[14] => prime192v2
110
+
[15] => prime192v3
111
+
[16] => prime239v1
112
+
[17] => prime239v2
113
+
[18] => prime239v3
114
+
[19] => prime256v1
115
+
[20] => sect113r1
116
+
[21] => sect113r2
117
+
[22] => sect131r1
118
+
[23] => sect131r2
119
+
[24] => sect163k1
120
+
[25] => sect163r1
121
+
[26] => sect163r2
122
+
[27] => sect193r1
123
+
[28] => sect193r2
124
+
[29] => sect233k1
125
+
[30] => sect233r1
126
+
[31] => sect239k1
127
+
[32] => sect283k1
128
+
[33] => sect283r1
129
+
[34] => sect409k1
130
+
[35] => sect409r1
131
+
[36] => sect571k1
132
+
[37] => sect571r1
133
+
[38] => c2pnb163v1
134
+
[39] => c2pnb163v2
135
+
[40] => c2pnb163v3
136
+
[41] => c2pnb176v1
137
+
[42] => c2tnb191v1
138
+
[43] => c2tnb191v2
139
+
[44] => c2tnb191v3
140
+
[45] => c2pnb208w1
141
+
[46] => c2tnb239v1
142
+
[47] => c2tnb239v2
143
+
[48] => c2tnb239v3
144
+
[49] => c2pnb272w1
145
+
[50] => c2pnb304w1
146
+
[51] => c2tnb359v1
147
+
[52] => c2pnb368w1
148
+
[53] => c2tnb431r1
149
+
[54] => wap-wsg-idm-ecid-wtls1
150
+
[55] => wap-wsg-idm-ecid-wtls3
151
+
[56] => wap-wsg-idm-ecid-wtls4
152
+
[57] => wap-wsg-idm-ecid-wtls5
153
+
[58] => wap-wsg-idm-ecid-wtls6
154
+
[59] => wap-wsg-idm-ecid-wtls7
155
+
[60] => wap-wsg-idm-ecid-wtls8
156
+
[61] => wap-wsg-idm-ecid-wtls9
157
+
[62] => wap-wsg-idm-ecid-wtls10
158
+
[63] => wap-wsg-idm-ecid-wtls11
159
+
[64] => wap-wsg-idm-ecid-wtls12
160
+
[65] => Oakley-EC2N-3
161
+
[66] => Oakley-EC2N-4
162
+
[67] => brainpoolP160r1
163
+
[68] => brainpoolP160t1
164
+
[69] => brainpoolP192r1
165
+
[70] => brainpoolP192t1
166
+
[71] => brainpoolP224r1
167
+
[72] => brainpoolP224t1
168
+
[73] => brainpoolP256r1
169
+
[74] => brainpoolP256t1
170
+
[75] => brainpoolP320r1
171
+
[76] => brainpoolP320t1
172
+
[77] => brainpoolP384r1
173
+
[78] => brainpoolP384t1
174
+
[79] => brainpoolP512r1
175
+
[80] => brainpoolP512t1
176
+
)
177
+
]]>
178
+
</screen>
179
+
</example>
180
+
</para>
181
+
</refsect1>
182
+

183
+
</refentry>
184
+
<!-- Keep this comment at the end of the file
185
+
Local variables:
186
+
mode: sgml
187
+
sgml-omittag:t
188
+
sgml-shorttag:t
189
+
sgml-minimize-attributes:nil
190
+
sgml-always-quote-attributes:t
191
+
sgml-indent-step:1
192
+
sgml-indent-data:t
193
+
indent-tabs-mode:nil
194
+
sgml-parent-document:nil
195
+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
196
+
sgml-exposed-tags:nil
197
+
sgml-local-catalogs:nil
198
+
sgml-local-ecat-files:nil
199
+
End:
200
+
vim600: syn=xml fen fdm=syntax fdl=2 si
201
+
vim: et tw=78 syn=sgml
202
+
vi: ts=1 sw=1
203
+
-->
0
204