Pular para o conteúdo
ecdsa.com

Assinatura Schnorr

Um esquema de assinatura baseado no logaritmo discreto (Claus Schnorr, 1989) cuja resposta s = r + e·x é linear na chave, o que permite provas de segurança simples, verificação em lote e multiassinaturas nativas.
Também escrito comoSchnorr signaturesSchnorr signature scheme

Com um nonce secreto r, o comprometimento R = r·G, o desafio e = H(R ‖ P ‖ m) e a chave privada x, a assinatura é (R, s) com s = r + e·x mod n; o verificador confere se s·G = R + e·P. Ela é a transformação de Fiat–Shamir de um protocolo de identificação e é comprovadamente infalsificável sob a hipótese do logaritmo discreto no modelo de oráculo aleatório. A patente de Schnorr manteve o esquema fora dos padrões até expirar, em 2008, e é por isso que o DSA e o ECDSA foram projetados para contorná-la.

O EdDSA é um esquema Schnorr sobre curvas de Edwards com nonces determinísticos. A BIP-340 do Bitcoin (ativada com o Taproot em novembro de 2021) define assinaturas Schnorr de 64 bytes sobre a secp256k1, com chaves públicas x-only de 32 bytes e hashes com tag; o Nostr usa o mesmo esquema.

Como as assinaturas se somam, n signatários podem produzir uma única assinatura sob uma chave agregada: MuSig2 (BIP-327) para n-de-n e FROST (RFC 9591) para t-de-n. Em comparação com o ECDSA, não há inverso modular, não há maleabilidade s/n − s depois que a codificação é fixada, e a verificação em lote é barata. A regra do nonce é a mesma: reutilizar r em duas mensagens revela x.

Padrões e referências

Todos os termos