Akash Nag, Sunil Karforma
O Algoritmo de Assinatura Digital (DSA) tornou-se o padrão de facto para a autenticação de entidades em transações desde o seu início como padrão pelo NIST. Uma parte integrante do processo de assinatura no DSA é a geração de um número aleatório denominado nonce ou chave efémera. Se não for tomado o cuidado suficiente ao gerar o nonce, isto pode levar à descoberta da chave privada, abrindo caminho para violações críticas de segurança no futuro. Os algoritmos padrão para a geração do nonce especificados pelo NIST, bem como os geradores de números aleatórios amplamente implementados, não servem como verdadeiras fontes aleatórias, deixando assim o algoritmo DSA aberto a ataques, resultando numa possível falsificação de assinatura em transações eletrónicas, por parte de potenciais atacantes . Além disso, o utilizador pode selecionar o nonce arbitrariamente, o que faz com que esteja presente um canal subliminar para troca de mensagens através de cada subscrição, o que pode ser intolerável por razões de segurança. Neste artigo, melhoramos a segurança do algoritmo DSA propondo um processo eficiente de geração de nonce, que garante que o nonce gerado é suficientemente aleatório e único para cada assinatura gerada, protegendo assim o processo de assinatura. Além disso, o nosso algoritmo também garante que não existem canais subliminares presentes no DSA.