Ed25519Sign

Criptografía, firmas digitales

Descripción

Produce una firma PureEdDSA sobre edwards25519 (RFC 8032)

Sintaxis

Delphi

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

Valores devueltos

FalseLa semilla no tiene 32 bytes y Signature se establece como una cadena vacía
TrueSignature contiene la codificación R||S de 64 bytes

Observaciones

El secreto se expande como h = SHA-512(seed); el escalar secreto s es la primera mitad de h tras el ajuste y el prefijo del nonce es la segunda mitad. El nonce r = SHA-512(prefix||M) se reduce módulo el orden del grupo L, R = r*B, el desafío k = SHA-512(R||A||M) se reduce módulo L y S = (r + k*s) mod L, de modo que la firma es R seguida de S con 32 bytes cada una. La verificación está disponible mediante Ed25519Verify; el hash es SHA-512 sin prefijo de separación de dominio y con un contexto vacío

Ejemplo

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

Véase también

Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity