Ed25519Sign

Kryptografi, digitale signaturer

Beskrivelse

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

Syntaks

Delphi

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

Returværdier

FalseSeed er ikke 32 bytes, og Signature sættes til en tom streng
TrueSignature indeholder R||S-kodningen på 64 bytes

Bemærkninger

Hemmeligheden udvides som h = SHA-512(seed); den hemmelige skalar s er den clampede første halvdel af h, og nonce-præfikset er anden halvdel. Noncen r = SHA-512(prefix||M) reduceres modulo gruppeordenen L, R = r*B, udfordringen k = SHA-512(R||A||M) reduceres modulo L, og S = (r + k*s) mod L, så signaturen er R efterfulgt af S med 32 bytes hver. Verificering er tilgængelig via Ed25519Verify; hashen er SHA-512 uden domæneseparationspræfiks og med en tom kontekst

Eksempel

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

Se også

Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity