Ed25519Sign
Kryptografia, podpisy cyfrowe
Opis
Wytwarza podpis PureEdDSA na krzywej edwards25519 (RFC 8032)
Składnia
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;Wartości zwracane
| False | Ziarno nie ma 32 bajtów, a Signature jest ustawiany na pusty łańcuch |
|---|---|
| True | Signature zawiera 64-bajtowe kodowanie R||S |
Uwagi
Sekret jest rozszerzany jako h = SHA-512(seed); tajny skalar s to dociśnięta pierwsza połowa h, a prefiks nonce to druga połowa. Nonce r = SHA-512(prefix||M) jest redukowane modulo rząd grupy L, R = r*B, wyzwanie k = SHA-512(R||A||M) jest redukowane modulo L, a S = (r + k*s) mod L, więc podpis to R, po którym następuje S, po 32 bajty każdy. Weryfikacja jest dostępna przez Ed25519Verify; skrótem jest SHA-512 bez prefiksu separacji domen i z pustym kontekstem
Przykład
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);Zobacz również
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity