Ed25519PublicKeyFromSeed

Criptografia, assinaturas digitais

Descrição

Deriva a chave pública Ed25519 de 32 bytes a partir de uma seed de 32 bytes

Sintaxe

Delphi

Function Ed25519PublicKeyFromSeed(Const Seed: AnsiString; Out PublicKey: AnsiString): Boolean;

Valores devolvidos

FalseSeed não tem 32 bytes e PublicKey é definido como cadeia vazia
TruePublicKey contém o ponto edwards25519 codificado de 32 bytes

Observações

O hash é SHA-512(seed); os primeiros 32 bytes do resumo são limitados (clamped) limpando os três bits mais baixos do byte zero, limpando o bit 255 e definindo o bit 254 do byte 31, e multiplicados pelo ponto base edwards25519. A chave empacota o resultado como a coordenada y little-endian de 32 bytes com o bit de sinal de x guardado no bit 255. O Ed25519 PureEdDSA do RFC 8032 usa SHA-512 sem prefixo de separação de domínio e um contexto vazio; o assinante correspondente é Ed25519Sign e o verificador correspondente é Ed25519Verify

Exemplo

if Ed25519PublicKeyFromSeed(Seed, PubKey) then
  OK:= Ed25519Verify(Msg, PubKey, Sig);

Consulte também

Ed25519Sign, Ed25519Verify, Ed448PublicKeyFromSeed, SetSignProcessEd25519Identity