Assinatura de Schnorr

Protocolo digital

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

Algoritmo editar

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

Geração de chaves editar

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

Para assinar uma mensagem  :

Calcular  ;

Concatenar com a  :  ;

Calcular  ;

Calcular  ;

Usar   como assinatura.

Verificação editar

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