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
| False | La semilla no tiene 32 bytes y Signature se establece como una cadena vacía |
|---|---|
| True | Signature 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