Open In App

PHP openssl_get_curve_names() Function

Last Updated : 28 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads