Ed25519Sign

Cryptografie, digitale handtekeningen

Beschrijving

Produceert een PureEdDSA-handtekening op edwards25519 (RFC 8032)

Syntaxis

Delphi

Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;

Retourwaarden

FalseSeed is niet 32 bytes en Signature wordt op een lege string gezet
TrueSignature bevat de 64-byte R||S-codering

Opmerkingen

Het geheim wordt uitgebreid als h = SHA-512(seed); de geheime scalar s is de begrensde eerste helft van h en het nonce-voorvoegsel is de tweede helft. De nonce r = SHA-512(prefix||M) wordt gereduceerd modulo de groepsorde L, R = r*B, de challenge k = SHA-512(R||A||M) wordt gereduceerd modulo L en S = (r + k*s) mod L, zodat de handtekening bestaat uit R gevolgd door S van elk 32 bytes. Verificatie is beschikbaar via Ed25519Verify; de hash is SHA-512 zonder domeinscheidingsvoorvoegsel en met een lege context

Voorbeeld

Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);

Zie ook

Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity