Ed25519Sign
Kryptografie, digitální podpisy
Popis
Vytvoří podpis PureEdDSA nad edwards25519 (RFC 8032)
Syntaxe
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;Návratové hodnoty
| False | Seed nemá 32 bajtů a Signature je nastavena na prázdný řetězec |
|---|---|
| True | Signature obsahuje 64bajtové kódování R||S |
Poznámky
Tajný klíč se rozšíří jako h = SHA-512(seed); tajný skalár s je upravená první polovina h a prefix nonce je druhá polovina. Nonce r = SHA-512(prefix||M) se redukuje modulo řád grupy L, R = r*B, výzva k = SHA-512(R||A||M) se redukuje modulo L a S = (r + k*s) mod L, takže podpisem je R následované S, každé po 32 bajtech. Ověřování poskytuje Ed25519Verify; hašem je SHA-512 bez prefixu pro oddělení domén a s prázdným kontextem
Příklad
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);Viz také
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity