Ed25519Sign
Crittografia, firme digitali
Descrizione
Produce una firma PureEdDSA su edwards25519 (RFC 8032)
Sintassi
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;Valori restituiti
| False | Il seme non è di 32 byte e Signature viene impostata a una stringa vuota |
|---|---|
| True | Signature contiene la codifica R||S su 64 byte |
Osservazioni
Il segreto viene espanso come h = SHA-512(seed); lo scalare segreto s è la prima metà di h limitata e il prefisso del nonce è la seconda metà. Il nonce r = SHA-512(prefix||M) viene ridotto modulo l'ordine del gruppo, R = r*B, la sfida k = SHA-512(R||A||M) viene ridotta modulo L e S = (r + k*s) mod L, così la firma è R seguita da S con 32 byte ciascuna. La verifica è disponibile tramite Ed25519Verify; l'hash è SHA-512 senza prefisso di separazione di dominio e con un contesto vuoto
Esempio
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);Vedere anche
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity