Ed448PublicKeyFromSeed

Cryptography

Description

Derives the 57-byte Ed448 public key from a 57-byte seed

Syntax

Delphi

Function Ed448PublicKeyFromSeed(Const Seed: AnsiString; Out PublicKey: AnsiString): Boolean;

Return values

FalseSeed is not 57 bytes and PublicKey is empty
TruePublicKey holds the 57-byte point encoding

Remarks

The seed is hashed with SHAKE256 to a 114-byte digest whose low 57 bytes are clamped per RFC 8032: the two least significant bits of the first byte are cleared, bit 255 of byte 55 is set and byte 56 is zeroed; the clamped scalar multiplies the edwards448 base point and the result is stored as the 57-byte little-endian point encoding. Signing is available through Ed448Sign, which derives the same public key internally; the RFC 8032 section 7.4 known-answer vectors pass byte-for-byte

Example

OK:= Ed448PublicKeyFromSeed(Seed, PubKey);
OK:= Ed448Sign(Msg, Seed, Sig);

See also

Ed448Sign, Ed448Verify, Ed25519PublicKeyFromSeed, SHAKE256ByteArray