2.0 KiB
2.0 KiB
Elliptic Curve Private Key Bytes
Generates an EC private key and serializes it.
Source library: cryptography
Overview
Elliptic Curve Cryptography (ECC) provides strong security with smaller key sizes compared to RSA. This node generates a private key for a selected named curve and serializes it into bytes. The private key can optionally be derived from a specific scalar value or generated randomly.
Parameters
- curve_name: The named elliptic curve to use. Available curves include:
- SECP256R1 (P-256): The most widely used curve.
- SECP384R1 (P-384): A higher-security curve.
- SECP521R1 (P-521): A very high-security curve.
- SECP256K1: The Bitcoin curve.
- BRAINPOOLP256R1, BRAINPOOLP384R1, BRAINPOOLP512R1: Brainpool curves.
- And other curves defined in the
cryptographylibrary.
- formatting: The serialization format.
- Traditional OpenSSL: The traditional SEC1 format.
- PKCS8: The modern PKCS#8 format.
- OpenSSH: OpenSSH private key format (requires PEM encoding).
- encoding: The encoding format (PEM or DER).
- encryption: How to encrypt the private key (Best Available or None).
- encryption_password: (Optional) The password for encrypting the private key.
- private_value: (Optional) A decimal integer string. If provided, the private key is derived from this scalar value instead of being randomly generated. This is useful for deterministic key generation.
- pem_key: (Optional) A
BYTESLIKEPEM-encoded key. For loading an existing key.
Outputs
- keyfile: The serialized private key as a
BYTESLIKEobject. - private_key: The private key object (
KEYOBJ), which can be passed to signing nodes.
Additional Considerations
- The
private_valueparameter allows deterministic key generation, which can be useful for testing but should be used with caution in production. If the value is weak or predictable, the key is compromised. - Always protect private keys. Use encryption when storing or transmitting them.