Digital Signature Standard
O Padrão de assinatura digital (DSS) é o padrão que usa o algoritmo de assinatura digital (DSA) para seu algoritmo de assinatura e SHA-1 como algoritmo de hash de mensagens. O DSA é uma codificação de chave pública usada apenas para gerar assinaturas digitais e não pode ser usada para criptografia de dados.
A assinatura DSA baseia-se na assinatura do ElGamal, mas é computacionalmente mais econômica porque trabalha com um grupo menor de potências do corpo finito.
Geração da firma
Para gerar a firma
:
- Escolhe um número primo
de
bits, onde
e
é divisível por
.
- Escolhe um número primo
de
bits, tal que
, onde
é algum número natural.
- Escolhe
, onde
tal que
.
- Escolhe
de forma aleatória, onde
.
- Calcula
.
Os dados públicos são
,
,
e
. A firma, a chave privada, é
.
Verificação
- Calcula
.
- Calcula
.
- Calcula
.
- Calcula
.
- A assinatura é válida se
.