Elliptic Curve Encryption/Decryption Choose ECParam Generate EC
Encrypt/Decrypt Encrypt Message Decrypt Message
Initial vector
Public Key Alice EC-Private Key Alice Public Key Bob EC-Private Key Bob
Input Message

Any private key value that you enter or we generate is not stored on this site . Also, notice that this tool is provided via an HTTPS URL to ensure that private keys cannot be stolen

Generating EC Keys and Parameters

[bash]$ openssl ecparam -list_curves

  secp256k1 : SECG curve over a 256 bit prime field

  secp384r1 : NIST/SECG curve over a 384 bit prime field

  secp521r1 : NIST/SECG curve over a 521 bit prime field

  prime256v1: X9.62/SECG curve over a 256 bit prime field

An EC parameters file can then be generated for any of the built-in named curves as follows:

[bash]$ openssl ecparam -name secp256k1 -out secp256k1.pem

[bash]$ cat secp256k1.pem

-----BEGIN EC PARAMETERS-----

BgUrgQQACg==

-----END EC PARAMETERS-----

 To generate a private/public key pair from a pre-eixsting parameters file use the following:
[bash]$ openssl ecparam -in secp256k1.pem -genkey -noout -out secp256k1-key.pem
[bash]$ cat secp256k1-key.pem
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIKRPdj7XMkxO8nehl7iYF9WAnr2Jdvo4OFqceqoBjc8/oAcGBSuBBAAK
oUQDQgAE7qXaOiK9jgWezLxemv+lxQ/9/Q68pYCox/y1vD1fhvosggCxIkiNOZrD
kHqms0N+huh92A/vfI5FyDZx0+cHww==
-----END EC PRIVATE KEY-----

Examine the specific details of the parameters associated with a particular named curve
[bash]$ openssl ecparam -in secp256k1.pem -text -param_enc explicit -noout
Field Type: prime-field
Prime:
00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:
ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:fe:ff:
ff:fc:2f
A: 0
B: 7 (0x7)
Generator (uncompressed):
04:79:be:66:7e:f9:dc:bb:ac:55:a0:62:95:ce:87:
0b:07:02:9b:fc:db:2d:ce:28:d9:59:f2:81:5b:16:
f8:17:98:48:3a:da:77:26:a3:c4:65:5d:a4:fb:fc:
0e:11:08:a8:fd:17:b4:48:a6:85:54:19:9c:47:d0:
8f:fb:10:d4:b8
Order:
00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:
ff:fe:ba:ae:dc:e6:af:48:a0:3b:bf:d2:5e:8c:d0:
36:41:41
Cofactor: 1 (0x1)