![]() |
![]() |
![]() |
Geração de chaves para as assinaturas cegas e protocolo RSA |
Será o programa servidorG.py, que irá cumprir esse papel. Para o executar corre-se o comando:
python servidorG.py
Essa geração é feita através dos seguintes passos:
p = getPrime(200)
q = getPrime(200)
n = p*q
m = (p-1)*(q-1)
e = getPrime(30)
d = inverse(e,m)
A função gerPrime(N) gera um número primo. Ele é calculado através da geração aleatória de um número ímpar de N dígitos e a sua soma por 2 até se encontrar um primo. Para a verificação de primalidade, usa-se o teste de Rabin-Miller.
As operações seguintes, correspondem aos passos da geração de chaves para o protocolo RSA e a função inverse(e,m) é a implementação do teorema de Euclides para o cálculo do inverso de e módulo m
No final, temos na variável (e,n) a chave publica e em d a chave privada. Esses valores têm que ser gravados nos ficheiros que estão descritos na variável pubkey e prikey do ficheiro de configuração. A chave publica, deve ser publicada para todos os eleitores.
![]() |
![]() |
![]() |
Geração de chaves para as assinaturas cegas e protocolo RSA |