<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Gets list of available curve names for ECC</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.openssl-get-cipher-methods.html">openssl_get_cipher_methods</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.openssl-get-md-methods.html">openssl_get_md_methods</a></div> <div class="up"><a href="ref.openssl.html">OpenSSL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.openssl-get-curve-names" class="refentry"> <div class="refnamediv"> <h1 class="refname">openssl_get_curve_names</h1> <p class="verinfo">(PHP 7 >= 7.1.0)</p><p class="refpurpose"><span class="refname">openssl_get_curve_names</span> — <span class="dc-title">Gets list of available curve names for ECC</span></p> </div> <div class="refsect1 description" id="refsect1-function.openssl-get-curve-names-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>openssl_get_curve_names</strong></span> ( <span class="methodparam">void</span> )</div> <p class="para rdfs-comment"> 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 <em class="emphasis">prime256v1</em> (NIST P-256) and <em class="emphasis">secp384r1</em> (NIST P-384). <table class="doctable table"> <caption><strong>Approximate Equivalancies of AES, RSA, DSA and ECC Keysizes</strong></caption> <thead> <tr> <th>AES Symmetric Keysize (Bits)</th> <th>RSA and DSA Keysize (Bits)</th> <th>ECC Keysize (Bits)</th> </tr> </thead> <tbody class="tbody"> <tr> <td>80</td> <td>1024</td> <td>160</td> </tr> <tr> <td>112</td> <td>2048</td> <td>224</td> </tr> <tr> <td>128</td> <td>3072</td> <td>256</td> </tr> <tr> <td>192</td> <td>7680</td> <td>384</td> </tr> <tr> <td>256</td> <td>15360</td> <td>512</td> </tr> </tbody> </table> <a href="http://dx.doi.org/10.6028/NIST.SP.800-57pt1r4" class="link external">» NIST recommends using ECC curves with at least 256 bits</a>. </p> </div> <div class="refsect1 parameters" id="refsect1-function.openssl-get-curve-names-parameters"> <h3 class="title">Parameters</h3> <p class="para">This function has no parameters.</p> </div> <div class="refsect1 returnvalues" id="refsect1-function.openssl-get-curve-names-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> An <span class="type"><a href="language.types.array.html" class="type array">array</a></span> of available curve names. </p> </div> <div class="refsect1 examples" id="refsect1-function.openssl-get-curve-names-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="openssl-cipher-iv-length.example.basic"> <p><strong>Example #1 <span class="function"><strong>openssl_get_curve_names()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$curve_names </span><span style="color: #007700">= </span><span style="color: #0000BB">openssl_get_curve_names</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$curve_names</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> 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 ) </pre></div> </div> </div> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.openssl-get-cipher-methods.html">openssl_get_cipher_methods</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.openssl-get-md-methods.html">openssl_get_md_methods</a></div> <div class="up"><a href="ref.openssl.html">OpenSSL Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>