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
| False | Seed is niet 32 bytes en Signature wordt op een lege string gezet |
|---|---|
| True | Signature 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