0Pricing
Cryptology Academy · Aula

RSA de livro-texto e por que é inseguro

Demonstre maleabilidade, ataques a expoentes pequenos e vulnerabilidades de e=3.

RSA de livro-texto e por que é inseguro é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 1 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

O RSA de livro-texto (exponenciação modular bruta) apresenta várias vulnerabilidades críticas. Nesta lição, exploraremos cada ataque e entenderemos por que o preenchimento não é opcional.

Ataque do determinismo

O RSA de livro-texto é determinístico: Enc(M) sempre produz o mesmo C. Um atacante pode criptografar mensagens candidatas e compará-las com o texto cifrado-alvo. Isso quebra a confidencialidade de espaços de mensagens pequenos.

Maleabilidade

O RSA é maleável multiplicativamente: Enc(M1) × Enc(M2) = Enc(M1×M2) mod n. Um atacante pode multiplicar um texto cifrado por Enc(2) = 2^e, fazendo o texto simples dobrar — sem conhecer a chave.

Ataque de mensagem pequena (e=3)

Se e=3 e M < n^(1/3): C = M^3 mod n = M^3 (sem redução modular). Calcular a raiz cúbica de C fornece M diretamente. Use sempre RSA com preenchimento e garanta que M seja suficientemente grande.

Ataque de Coppersmith

Coppersmith mostrou que, se e=3 e o atacante conhece uma grande fração de M (por exemplo, M = YYYY-MM-DD...[porção desconhecida]), a fatoração polinomial pode recuperar os bits desconhecidos. Textos simples curtos com preenchimento são vulneráveis.

Ataque de transmissão de Håstad

Se o mesmo M for enviado a 3 destinatários, cada um com e=3: pelo CRT, C1,C2,C3 determinam M^3 mod (n1×n2×n3). Calcular a raiz cúbica diretamente fornece M. Nunca criptografe o mesmo texto simples com e=3 para vários destinatários.

Ataque de mensagens relacionadas de Franklin-Reiter

Se duas mensagens M1 e M2 forem linearmente relacionadas (M2 = aM1+b) e ambas forem criptografadas com a mesma chave, essa relação poderá ser explorada para recuperar M1 e M2. O preenchimento com bytes aleatórios impede isso.

Ataque do módulo comum

Se dois servidores compartilham n, mas usam e1,e2 diferentes com GCD(e1,e2)=1, e ambos criptografam o mesmo M: M pode ser recuperado usando o algoritmo euclidiano estendido. Nunca compartilhe módulos entre entidades.

Ataque de temporização na descriptografia RSA

O tempo de descriptografia RSA depende dos bits da chave privada (o método de elevar ao quadrado e multiplicar varia conforme o bit). O ataque de temporização de Kocher, de 1996, mediu os tempos de descriptografia para recuperar chaves privadas. Solução: cegamento.

Defesa de cegamento do RSA

Antes da descriptografia: C' = C × r^e mod n (multiplique por um fator aleatório de cegamento r^e). Calcule M' = C'^d mod n. M = M' × r^(-1) mod n. Agora, a temporização depende de r, não de M — o atacante vê apenas medições ruidosas.

A correção fundamental: preenchimento aleatorizado

Todos os ataques contra o RSA de livro-texto têm uma correção comum: preenchimento aleatorizado. O PKCS#1 v1.5 adicionou aleatoriedade. O OAEP adicionou segurança demonstrável. Com o preenchimento correto, nenhum dos ataques anteriores funciona.

Verificação rápida

Que propriedade do RSA de livro-texto permite que um atacante teste se um texto cifrado contém uma mensagem específica?

Recapitulação

O RSA de livro-texto é perigosamente inseguro. Em seguida, estudaremos o preenchimento PKCS#1 v1.5 — seu design, uso e o ataque de Bleichenbacher que o comprometeu.

Perguntas Frequentes

A aula “RSA de livro-texto e por que é inseguro” é grátis?

Sim — o texto completo de “RSA de livro-texto e por que é inseguro” é 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 “RSA de livro-texto e por que é inseguro”?

Demonstre maleabilidade, ataques a expoentes pequenos e vulnerabilidades de e=3. 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 1 de 4.

Quanto tempo leva a aula “RSA de livro-texto e por que é inseguro”?

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. RSA de livro-texto e por que é inseguro
  2. Preenchimento PKCS#1 v1.5 e Bleichenbacher
  3. OAEP: preenchimento ideal para encriptação assimétrica
  4. RSA-PSS para assinaturas digitais
← Voltar para Cryptology Academy