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.
O algoritmo usa uma função de resumo e operações de grupos[2]
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.
Para assinar uma mensagem :
Calcular ;
Concatenar com a : ;
Calcular ;
Calcular ;
Usar como assinatura.
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