RSA Criptografia
Implementação Algorítmica "From Scratch"
Python
Matemática Discreta
Algoritmos
O Conceito
Em um mundo onde bibliotecas como cryptography fazem tudo magicamente, este projeto é um exercício de fundamentos. O objetivo foi implementar o algoritmo RSA (Rivest-Shamir-Adleman) puro, lidando diretamente com a teoria dos números que garante a segurança da web moderna.
Engenharia Matemática
O maior desafio não foi a criptografia em si, mas a implementação eficiente das operações aritméticas necessárias para chaves seguras:
- Exponenciação Modular Rápida: A função
modular(base, exp, mod)evita o estouro de memória ao calcular potências gigantescas (necessárias para o RSA) utilizando a propriedade(a * b) % miterativamente. - Inverso Modular (Euclides Estendido): Implementação manual da função
inverso_modularpara encontrar a chave privadad, garantindo que(d * e) % phi == 1.
Pipeline de Execução:
- Geração de Chaves: O usuário fornece dois números primos
peq. O sistema calcula o totiente de Euler e gera o par de chaves pública e privada. - Cifragem: A mensagem é convertida para inteiros e elevada à potência da chave pública.
- Persistência: O sistema salva as chaves e a mensagem cifrada em arquivos
.txtpara simular uma troca de mensagens real.
Ver Código Fonte