0Pricing
Cryptology Academy · Aula

Matemática da criptografia e descriptografia RSA

Aplique a exponenciação modular para encriptar e desencriptar uma mensagem.

Matemática da criptografia e descriptografia RSA é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Boas-vindas

Com as chaves RSA geradas, agora vamos aplicá-las. A criptografia e a descriptografia são ambas exponenciações modulares — fáceis de calcular, mas inviáveis de inverter sem a chave privada.

Criptografia RSA básica

Criptografe a mensagem M (como inteiro) com a chave pública (e, n): C = M^e mod n Exemplo: M=42, e=17, n=3233 C = 42^17 mod 3233 Python: C = pow(42, 17, 3233) = 2557

Descriptografia RSA básica

Descriptografe o texto cifrado C com a chave privada (d, n): M = C^d mod n C=2557, d=2753, n=3233 M = 2557^2753 mod 3233 Python: M = pow(2557, 2753, 3233) = 42 ✓

Por que funciona: teorema de Euler

C^d mod n = (M^e)^d mod n = M^(ed) mod n. Como ed ≡ 1 (mod φ(n)), M^(ed) = M^(1+k×φ(n)) = M × (M^φ(n))^k ≡ M × 1^k = M.

Algoritmo de quadratura e multiplicação

O cálculo ingênuo de M^e exigiria e multiplicações. A quadratura e multiplicação reduz isso a O(log e) multiplicações: pow(base, exp, mod) em Python faz isso automaticamente.

Limitação do tamanho da mensagem

A RSA básica exige M < n. Para RSA-2048, M pode ter no máximo 256 bytes. Isso é adequado para criptografar uma chave AES curta, mas não para criptografar arquivos grandes diretamente.

Por que a RSA básica é insegura

Problemas da RSA sem preenchimento: 1. O mesmo M sempre resulta no mesmo C (determinística) 2. M pequeno com e pequeno: C = M^e literalmente (sem redução modular) 3. Multiplicativa: Enc(M1)×Enc(M2) = Enc(M1×M2) Os esquemas de preenchimento resolvem todos esses problemas.

Criptografia RSA em Python (OAEP)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes ciphertext = public_key.encrypt( b'Secret message', padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) )

Descriptografia RSA em Python

plaintext = private_key.decrypt( ciphertext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print(plaintext) # b'Secret message'

Padrão híbrido RSA + AES

# Real-world pattern: aes_key = os.urandom(32) # Random 256-bit AES key encrypted_key = rsa_encrypt(aes_key, recipient_pub) # RSA ciphertext = aes_gcm_encrypt(aes_key, plaintext) # AES # Send: encrypted_key + ciphertext

Números de desempenho da RSA

Criptografia RSA-2048 (pública): cerca de 0,1 ms. Descriptografia RSA-2048 (privada): cerca de 1 ms. AES-256-GCM: cerca de 100 MB/s. A criptografia híbrida combina a velocidade da troca de chaves RSA com a taxa de processamento de dados do AES.

Verificação rápida

Usando a RSA básica com e=3 e n=33, qual é a criptografia de M=5?

Recapitulação

A matemática da criptografia e da descriptografia RSA está clara. Em seguida, veremos como a RSA protege HTTPS, SSH e a assinatura de código no mundo real.

Perguntas Frequentes

A aula “Matemática da criptografia e descriptografia RSA” é grátis?

Sim — o texto completo de “Matemática da criptografia e descriptografia RSA” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Matemática da criptografia e descriptografia RSA”?

Aplique a exponenciação modular para encriptar e desencriptar uma mensagem. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Matemática da criptografia e descriptografia RSA”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Conceitos de criptografia de chave pública
  2. Geração de chaves RSA passo a passo
  3. Matemática da criptografia e descriptografia RSA
  4. Casos de uso do RSA no mundo real e tamanhos de chave
← Voltar para Cryptology Academy