Ed25519Sign

Kryptografi, digitala signaturer

Beskrivning

Producerar en PureEdDSA-signatur på edwards25519 (RFC 8032)

Syntax

Delphi

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

Returvärden

FalseSeed är inte 32 byte och Signature sätts till en tom sträng
TrueSignature innehåller den 64 byte stora R||S-kodningen

Anmärkningar

Hemligheten expanderas som h = SHA-512(seed); den hemliga skalären s är den klämda första hälften av h och nonce-prefixet är andra hälften. Noncen r = SHA-512(prefix||M) reduceras modulo gruppordningen L, R = r*B, utmaningen k = SHA-512(R||A||M) reduceras modulo L och S = (r + k*s) mod L, så signaturen är R följt av S med 32 byte vardera. Verifiering finns via Ed25519Verify; hashen är SHA-512 utan domänseparationsprefix och med en tom kontext

Exempel

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

Se även

Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity