secp256k1
Registry Context
The JWK `crv` value identifying the secp256k1 elliptic curve.
Technical Summary
A secp256k1 JWK uses `kty` value `EC`, `crv` value `secp256k1`, and the uncompressed elliptic-curve point representation defined by RFC 7518.
When Used
When representing a secp256k1 elliptic-curve key as a JSON Web Key.
Normative Requirements
JWK producer
RFC 8812 - Section 3.1
Use the uncompressed point encoding defined by RFC 7518..
Condition: When representing a secp256k1 key as a JWK.
The uncompressed point encoding MUST be used.
RFC 8812 - Section 3.1
Represent both `x` and `y` as exactly 256 bits, preserving leading zeros..
Condition: When representing a secp256k1 key as a JWK.
The `x` and `y` values MUST both be exactly 256 bits.
RFC 8812 - Section 3.1
Include other optional JWK members, such as `alg`..
Condition: When representing a secp256k1 key as a JWK.
Other optional values MAY also be present.
Validation Guidance
Verify that `kty` is `EC` and `crv` is exactly `secp256k1`.
Reject compressed point encodings for secp256k1 JWKs.
Verify that both `x` and `y` decode to exactly 256-bit values, including preserved leading zeros.
Allow optional JWK members such as `alg`.
Security Notes
RFC 8812 - Section 5.4
Do not confuse secp256k1 keys with P-256 keys; their JWK representations differ principally in the `crv` value.
RFC 8812 - Section 5.4
Scalar multiplication should execute in constant time to mitigate timing side-channel attacks.
RFC 8812 - Section 5.4
The curve has theoretical weaknesses that led to its registration as not recommended.
Reference
Details
- Entry Id
secp256k1- Curve Name
secp256k1- Curve Description
SECG secp256k1 curve- Jose Implementation Requirements
Optional- Change Controller
IESG- Reference
RFC8812 - Section 3.1