Ed25519Sign
Criptografia, assinaturas digitais
Descrição
Produz uma assinatura PureEdDSA em edwards25519 (RFC 8032)
Sintaxe
Delphi
Function Ed25519Sign(Const Message, Seed: AnsiString; Out Signature: AnsiString): Boolean;Valores retornados
| False | A semente não tem 32 bytes e Signature é definido como uma string vazia |
|---|---|
| True | Signature contém a codificação R||S de 64 bytes |
Observações
O segredo é expandido como h = SHA-512(seed); o escalar secreto s é a primeira metade limitada de h e o prefixo de nonce é a segunda metade. O nonce r = SHA-512(prefix||M) é reduzido módulo a ordem do grupo L, R = r*B, o desafio k = SHA-512(R||A||M) é reduzido módulo L e S = (r + k*s) mod L, de modo que a assinatura é R seguido de S, com 32 bytes cada. A verificação está disponível por meio de Ed25519Verify; o hash é SHA-512 sem prefixo de separação de domínio e com um contexto vazio
Exemplo
Ed25519Sign(Msg, Seed, Sig);
OK:= Ed25519Verify(Msg, PubKey, Sig);Veja também
Ed25519Verify, Ed25519PublicKeyFromSeed, Ed448Sign, SetSignProcessEd25519Identity