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

FalsPublicKey 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ăratSemnă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