Projeto final sobre Criptografia RSA requerido para obtenção de nota na disciplina de Matemática Discreta, no curso de Ciência da Computação promovido pela Universidade Federal de Alagoas (UFAL).
O projeto comporta as seguintes situações:
Solicite que o usuário escolha entre 3 opções: 1 - Gerar chave pública, 2 - Encriptar, 3 - Desencriptar.
Caso escolhida a opção 1 - Gerar chave pública:
- Solicite que o usuário digite um par de números primos p e q e um expoente e relativamente primo a (p − 1)(q − 1).
- Salve, no diretório de execução do programa, um arquivo txt com os dois números que formam a chave pública.
Caso escolhida a opção 2 - Encriptar:
- Solicite que o usuário digite a mensagem de texto a encriptar.
- Solicite que o usuário digite a chave pública recebida previamente.
- Salve, no diretório de execução do programa, um arquivo txt com a men- sagem encriptada.
Caso escolhida a opção 3 - Desencriptar:
- Solicite que o usuário digite p, q e e.
- Salve, no diretório de execução do programa, um arquivo txt com a mensagem desencriptada.
Observação: A mensagem deve ser encriptada usando o alfabeto de letras A - Z, codificado com inteiros de 2 a 28, onde 2 = A, 3 = B,..., 27 = Z, 28 = espaço.
As seguintes ferramentas foram usadas na construção do projeto: