Ed25519Verify
Criptografie, semnături digitale
Descriere
Verifică o semnătură PureEdDSA edwards25519 (RFC 8032)
Sintaxă
Delphi
Function Ed25519Verify(Const Message, PublicKey, Signature: AnsiString): Boolean;Valori returnate
| Fals | PublicKey nu are 32 de octeți, Signature nu are 64 de octeți, S nu este sub ordinul grupului, cheia publică sau R nu este o codificare canonică de punct, unul dintre puncte are ordin mic, sau ecuația de verificare eșuează |
|---|---|
| Adevărat | Semnătura se potrivește cu mesajul și cu cheia publică |
Observații
Scalarul de provocare este recalculat ca k = SHA-512(R||A||M) redus modulo ordinul grupului, iar semnătura este acceptată când R este egal cu [S]B - [k]A. Valorile S mai mari sau egale cu ordinul grupului sunt respinse, iar codificările de puncte necanonice și punctele al căror octupl este elementul neutru sunt respinse atât pentru cheia publică, cât și pentru R. Semnarea este disponibilă prin Ed25519Sign; hash-ul este SHA-512 fără prefix de separare de domeniu și cu un context gol
Exemplu
Ed25519PublicKeyFromSeed(Seed, PubKey);
OK:= Ed25519Verify(Msg, PubKey, Sig);Vedeți și
Ed25519Sign, Ed25519PublicKeyFromSeed, Ed448Verify, SetSignProcessEd25519Identity