Assinatura de Schnorr

Origem: Wikipédia, a enciclopédia livre.

A Assinatura de Schnorr é um protocolo de assinatura digital proposto por Claus-Peter Schnorr em 1991[1]. Trata-se de mais um protocolo baseado no problema do logaritmo discreto.

Algoritmo[editar | editar código-fonte]

O algoritmo usa uma função de resumo e operações de grupos[2]

Geração de chaves[editar | editar código-fonte]

Escolher dois primos e tais que .

Escolher um elemento gerador do grupo como subgrupo de (ou seja, ).

Escolher uma função de resumo cujo domínio seja e o contra-domínio seja .

Escolher um para ser a chave privada.

Calcular e usar como chave pública.

Assinatura[editar | editar código-fonte]

Para assinar uma mensagem :

Calcular ;

Concatenar com a : ;

Calcular ;

Calcular ;

Usar como assinatura.

Verificação[editar | editar código-fonte]

Para verificar uma assinatura de uma mensagem :

Calcular ;

Calcular ;

Concatenar com e calcular a função de resumo: ;

Aceitar a assinatura se é igual a .

Referências

  1. Schnorr, Claus-Peter (1991). Efficient Signature Generation for Smart Cards. [S.l.]: Jornal of Cryptology. pp. 1 – 16 
  2. Barreto, Paulo. «Sobre a segurança de assinaturas digitais baseadas no logaritmo discreto em subgrupos de tamanho reduzido» (PDF). Consultado em 10 de dezembro de 2014