Ed25519
Registry Context
Ed25519 is the registered JWK curve name for EdDSA signature key pairs. In JOSE, it is used with OKP keys and must not be used with ECDH-ES.
Technical Summary
RFC 8037 registers the curve name "Ed25519" with the description "Ed25519 signature algorithm key pairs" and JOSE implementation requirements "Optional". Section 3.1 associates this subtype with the Ed25519 variant of EdDSA, key type "OKP", and signing algorithm "EdDSA".
When Used
Use when representing an Ed25519 OKP public or private key for EdDSA signing or verification.
Normative Requirements
Implementations using Ed25519 keys
RFC 8037 - Section 3.1
use the Ed25519 key subtype for Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES).
Condition: when processing an Ed25519 key
These subtypes MUST NOT be used for Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES).
JWK producers using OKP keys
RFC 8037 - Section 2
set the "kty" parameter to "OKP".
Condition: when representing an Ed25519 key as an OKP JWK
The parameter "kty" MUST be "OKP".
RFC 8037 - Section 2
include the "crv" parameter containing the key subtype from the JSON Web Elliptic Curve registry.
Condition: when representing an Ed25519 key as an OKP JWK
The parameter "crv" MUST be present and contain the subtype of the key
RFC 8037 - Section 2
include the "x" parameter containing the base64url-encoded public key.
Condition: when representing an Ed25519 key as an OKP JWK
The parameter "x" MUST be present and contain the public key encoded using the base64url encoding.
JWK producers using OKP private keys
RFC 8037 - Section 2
include the "d" parameter containing the base64url-encoded private key.
Condition: when representing a private Ed25519 key
The parameter "d" MUST be present for private keys and contain the private key encoded using the base64url encoding.
JWK producers using OKP public keys
RFC 8037 - Section 2
include the "d" parameter.
Condition: when representing a public Ed25519 key
This parameter MUST NOT be present for public keys.
Validation Guidance
Reject an Ed25519 JWK whose "kty" value is not "OKP".
Reject an Ed25519 OKP JWK that omits "crv" or whose "crv" value does not identify a subtype from the JSON Web Elliptic Curve registry.
Reject an Ed25519 OKP JWK that omits "x" or whose "x" value is not a base64url-encoded public key.
Require a base64url-encoded "d" parameter for private Ed25519 JWKs and reject it in public Ed25519 JWKs.
Reject any attempt to use an Ed25519 key subtype for ECDH-ES.
Interpret "Ed25519" as the Ed25519 EdDSA variant when used as an OKP key subtype.
Reference
Details
- Entry Id
Ed25519- Curve Name
Ed25519- Curve Description
Ed25519 signature algorithm key pairs- Jose Implementation Requirements
Optional- Change Controller
IESG- Reference
RFC8037 - Section 3.1