Open In App

PHP openssl_get_curve_names() Function

Last Updated : 28 Jul, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

The openssl_get_curve_names() function is an inbuilt function in PHP which is used to curve names in Elliptic curve cryptography. The two most widely standardized or supported curves are prime256v1 (NIST P-256) and secp384r1 (NIST P-384). The curve names usually contain a number which is the number of bits in the binary representation.

Approximate Equivalencies of AES, RSA, DSA and ECC Keysizes

AES Symmetric Keysize (Bits)

RSA and DSA Keysize (Bits)

ECC Keysize (Bits)

   
 80 1024 160
 122 2048 224
 128 3072 256
 192 7680 384
 256 15360 512

Syntax:

 
  openssl_get_curve_names ( void ): array

Parameters: This function does not accept any parameter.

Return Values: This function return an array of available curve names.

Below programs illustrate the openssl_get_curve_names() function in PHP.

Example:

PHP
<?php {
    //available curve names for ECC
    $curve_names = openssl_get_curve_names();
    
    // print all curve names
    print_r($curve_names);
}

?>

Output:

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
   [81] => SM2
)

Reference: https://www.php.net/manual/en/function.openssl-get-curve-names.php


Next Article

Similar Reads