php-doc-en/reference/openssl/functions/openssl-get-curve-names.xml
Máté Kocsis d1e3ea622e Generate openssl methodsynopses based on stubs
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>

Closes GH-309.
2021-02-13 14:43:23 +01:00

203 lines
4.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.openssl-get-curve-names" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>openssl_get_curve_names</refname>
<refpurpose>Gets list of available curve names for ECC</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>openssl_get_curve_names</methodname>
<void/>
</methodsynopsis>
<para>
Gets the list of available curve names for use in Elliptic curve
cryptography (ECC) for public/private key operations. The two most widely
standardized/supported curves are <emphasis>prime256v1</emphasis>
(NIST P-256) and <emphasis>secp384r1</emphasis> (NIST P-384).
<table>
<title>Approximate Equivalancies of AES, RSA, DSA and ECC Keysizes</title>
<tgroup cols="3">
<thead>
<row>
<entry>AES Symmetric Keysize (Bits)</entry>
<entry>RSA and DSA Keysize (Bits)</entry>
<entry>ECC Keysize (Bits)</entry>
</row>
</thead>
<tbody>
<row>
<entry>80</entry>
<entry>1024</entry>
<entry>160</entry>
</row>
<row>
<entry>112</entry>
<entry>2048</entry>
<entry>224</entry>
</row>
<row>
<entry>128</entry>
<entry>3072</entry>
<entry>256</entry>
</row>
<row>
<entry>192</entry>
<entry>7680</entry>
<entry>384</entry>
</row>
<row>
<entry>256</entry>
<entry>15360</entry>
<entry>512</entry>
</row>
</tbody>
</tgroup>
</table>
<link xlink:href="http://dx.doi.org/10.6028/NIST.SP.800-57pt1r4">NIST
recommends using ECC curves with at least 256 bits</link>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
An <type>array</type> of available curve names, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>openssl_get_curve_names</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$curve_names = openssl_get_curve_names();
print_r($curve_names);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[0] => secp112r1
[1] => secp112r2
[2] => secp128r1
[3] => secp128r2
[4] => secp160k1
[5] => secp160r1
[6] => secp160r2
[7] => secp192k1
[8] => secp224k1
[9] => secp224r1
[10] => secp256k1
[11] => secp384r1
[12] => secp521r1
[13] => prime192v1
[14] => prime192v2
[15] => prime192v3
[16] => prime239v1
[17] => prime239v2
[18] => prime239v3
[19] => prime256v1
[20] => sect113r1
[21] => sect113r2
[22] => sect131r1
[23] => sect131r2
[24] => sect163k1
[25] => sect163r1
[26] => sect163r2
[27] => sect193r1
[28] => sect193r2
[29] => sect233k1
[30] => sect233r1
[31] => sect239k1
[32] => sect283k1
[33] => sect283r1
[34] => sect409k1
[35] => sect409r1
[36] => sect571k1
[37] => sect571r1
[38] => c2pnb163v1
[39] => c2pnb163v2
[40] => c2pnb163v3
[41] => c2pnb176v1
[42] => c2tnb191v1
[43] => c2tnb191v2
[44] => c2tnb191v3
[45] => c2pnb208w1
[46] => c2tnb239v1
[47] => c2tnb239v2
[48] => c2tnb239v3
[49] => c2pnb272w1
[50] => c2pnb304w1
[51] => c2tnb359v1
[52] => c2pnb368w1
[53] => c2tnb431r1
[54] => wap-wsg-idm-ecid-wtls1
[55] => wap-wsg-idm-ecid-wtls3
[56] => wap-wsg-idm-ecid-wtls4
[57] => wap-wsg-idm-ecid-wtls5
[58] => wap-wsg-idm-ecid-wtls6
[59] => wap-wsg-idm-ecid-wtls7
[60] => wap-wsg-idm-ecid-wtls8
[61] => wap-wsg-idm-ecid-wtls9
[62] => wap-wsg-idm-ecid-wtls10
[63] => wap-wsg-idm-ecid-wtls11
[64] => wap-wsg-idm-ecid-wtls12
[65] => Oakley-EC2N-3
[66] => Oakley-EC2N-4
[67] => brainpoolP160r1
[68] => brainpoolP160t1
[69] => brainpoolP192r1
[70] => brainpoolP192t1
[71] => brainpoolP224r1
[72] => brainpoolP224t1
[73] => brainpoolP256r1
[74] => brainpoolP256t1
[75] => brainpoolP320r1
[76] => brainpoolP320t1
[77] => brainpoolP384r1
[78] => brainpoolP384t1
[79] => brainpoolP512r1
[80] => brainpoolP512t1
)
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- 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:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->