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
| False | Seed är inte 32 byte och Signature sätts till en tom sträng |
|---|---|
| True | Signature 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