Skip to main content
Version: 0.1.24

Ed448

Ed448 digital signatures (RFC 8032). Header: pkc/ed448/noxtls_ed448.h.

Algorithm overview

Ed448 is an EdDSA signature scheme over Curve448. It follows the same model as Ed25519 but targets a higher security margin, with larger key and signature sizes.

Pros and cons

Pros

  • Higher security margin than Ed25519.
  • Deterministic EdDSA design with strong modern cryptographic properties.
  • Suitable for conservative, long-horizon security requirements.

Cons

  • Larger signatures/keys and slower performance than Ed25519.
  • More limited ecosystem and interoperability support.
  • Signature-only primitive; pair with separate key agreement where needed.

When to use

  • Use where policy mandates stronger signature margins than Ed25519.
  • Fit for high-assurance or long-term validation contexts.
  • For mainstream interoperability and speed, Ed25519 is usually preferred.

Constants

  • NOXTLS_ED448_PRIVATE_KEY_SIZE = 57
  • NOXTLS_ED448_PUBLIC_KEY_SIZE = 57
  • NOXTLS_ED448_SIGNATURE_SIZE = 114

API

noxtls_ed448_generate_key

noxtls_return_t noxtls_ed448_generate_key(uint8_t private_key[57], uint8_t public_key[57]);

Generate private/public key pair.

noxtls_ed448_public_key

noxtls_return_t noxtls_ed448_public_key(const uint8_t private_key[57], uint8_t public_key[57]);

Derive public key from private key seed.

noxtls_ed448_sign

noxtls_return_t noxtls_ed448_sign(const uint8_t private_key[57],
const uint8_t *message,
uint32_t message_len,
uint8_t signature[114]);

Sign message with Ed448.

noxtls_ed448_verify

noxtls_return_t noxtls_ed448_verify(const uint8_t public_key[57],
const uint8_t *message,
uint32_t message_len,
const uint8_t signature[114]);

Verify Ed448 signature.