<?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>array</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. </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 -->