RSA: Criptografia de Brinquedo
Escolha dois primos, digite uma mensagem e veja o RSA criptografá-la e depois decriptografá-la.
Aritmética modular e complexidade de fatoração prima 🖖
O cifrado RSA baseia-se na dificuldade assimétrica da fatoração de números primos. Gera chaves usando a função totiente de Euler φ(n) = (p-1)(q-1) e aritmética modular: c = m^e mod n. A decifração requer d, onde e * d ≡ 1 mod φ(n), o que é inviável computacionalmente sem fatorar n.
O cadeado que só você abre 🖖
O RSA dá a todos um cadeado aberto (sua chave pública) que qualquer um pode fechar em torno de uma mensagem, mas só sua chave privada consegue reabri-lo. Como fechar e abrir usam chaves diferentes, você pode publicar a chave pública à vista de todos sem revelar como descriptografar. Esta ferramenta deixa você percorrer o ciclo inteiro com primos minúsculos; sistemas reais usam os mesmos passos com números de centenas de dígitos.
Cifrar ao contrário é assinar 🖖
A mesma operação do RSA, executada no sentido inverso, prova quem enviou uma mensagem em vez de escondê-la. Se você "descriptografa" uma mensagem com sua chave privada, qualquer um pode "criptografá-la" de volta com sua chave pública para conferir que ela veio mesmo de você - isso é uma assinatura digital. Assim, uma única conta matemática sustenta tanto a confidencialidade quanto a autenticação, só trocando qual chave vem primeiro.
Problemas de exemplo
- p=61, q=53 - p=61, q=53: RSA clássico de livro-texto
- Primos minúsculos - p=7, q=11: primos minúsculos, fáceis de acompanhar
- Primos maiores - p=101, q=103: espaço de chaves maior
- Exemplo de livro didático - p=17, q=19: exercício de livro-texto