Ed25519Sign

Cryptographie, signatures numériques

Description

Produit une signature PureEdDSA sur edwards25519 (RFC 8032)

Syntaxe

Delphi

Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;

Valeurs de retour

FalseLa graine ne compte pas 32 octets et Signature reçoit une chaîne vide
TrueSignature contient l'encodage R||S de 64 octets

Remarques

Le secret est étendu sous la forme h = SHA-512(seed) ; le scalaire secret s est la première moitié bornée de h et le préfixe de nonce est la seconde moitié. Le nonce r = SHA-512(prefix||M) est réduit modulo l'ordre du groupe L, R = r*B, le défi k = SHA-512(R||A||M) est réduit modulo L et S = (r + k*s) mod L, de sorte que la signature est R suivie de S avec 32 octets chacune. La vérification est disponible via Ed25519Verify ; le hachage est SHA-512 sans préfixe de séparation de domaine et avec un contexte vide

Exemple

Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);

Voir aussi

Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity