EdDSA

Edwards-curve Digital Signature Algorithm (EdDSA) as defined in RFC 8032.

EdDSA provides digital signature generation and verification using twisted Edwards curves. Unlike ECDSA, EdDSA is deterministic (no random nonce) and does not require a separate digest parameter — the hash is built into the algorithm.

val keys = provider.get(EdDSA).keyPairGenerator(EdDSA.Curve.Ed25519).generateKey()
val signature = keys.privateKey.signatureGenerator().generateSignature(data)
keys.publicKey.signatureVerifier().verifySignature(data, signature)

For signatures using Weierstrass curves, see ECDSA.

Types

Link copied to clipboard
Link copied to clipboard

Supported EdDSA curves.

Link copied to clipboard
Link copied to clipboard

An EdDSA private key that provides signature generation via signatureGenerator.

Link copied to clipboard

An EdDSA public key that provides signature verification via signatureVerifier.

Properties

Link copied to clipboard
open override val id: CryptographyAlgorithmId<EdDSA>

The typed identifier that uniquely distinguishes this algorithm and is used to look it up from a CryptographyProvider.

Functions

Link copied to clipboard

Returns a KeyGenerator that generates EdDSA key pairs on the given curve.

Link copied to clipboard

Returns a Decoder that decodes EdDSA private keys on the given curve from the specified PrivateKey.Format.

Link copied to clipboard

Returns a Decoder that decodes EdDSA public keys on the given curve from the specified PublicKey.Format.