# Ataque de cifrotexto escolhido

Um ataque de cifrotexto escolhido (ACE) é um modelo de ataque para criptoanálise no qual o criptoanalista coleta informação, pelo menos parcialmente, pela escolha de um cifrotexto e pela obtenção da sua decriptação sob uma chave desconhecida. No ataque, o adversário tem a possibilidade de obter os purotextos correspondentes a um ou mais cifrotextos da sua escolha. A partir dessas peças de informação, o adversário pode tentar recuperar a chave secreta usada na decriptação.
Diversos esquemas considerados seguros podem ser violados em um ataque de cifrotexto-escolhido. Por exemplo, o criptosistema El Gamal é semânticamente seguro sob um ataque de purotexto escolhido, mas essa segurança semântica pode ser trivialmente violada em um ataque de cifrotexto escolhido. Versões antigas do RSA padding usadas no protocolo SSL eram vulneráveis a ataques de cifrotexto-escolhido adaptativos que revelavam as chaves das sessões SSL. Ataques de cifrotexto-escolhido tem implicações também em algumas cifras de fluxo auto-sincronizantes. Projetistas de smart cards criptográficos tamper-resistant necessitam estar particularmente atentos para esse tipo de ataque, uma vez que esses dispositivos podem ficar totalmente sob controle do adversário, que pode realizar uma grande quantidade de ataques de cifrotexto-escolhido na tentativa de recuperar a chave secreta.
Quando um criptosistema é vulnerável a um ataque de cifrotexto-escolhido, os implementadores devem ter cuidado para evitar situações nas quais o adversário é capaz de decriptar cifrotextos-escolhidos (ou seja, evitar prover um oráculo de decriptação). Isso pode parecer mais difícil do que parece, uma vez que mesmo cifrotextos-escolhidos parciais podem permitir ataques sutis. Adicionalmente, alguns criptosistemas (como o RSA) usam o mesmo mecanismo para assinar mensagens e posteriormente decriptá-las. Isso permite ataques quando funções de embaralhamento (ou dispersão) não são usadas na mensagem a ser assinada. Uma abordagem melhor consiste no uso de criptosistemas que sejam demonstravelmente seguros sob ataques de cifrotexto-escolhido, incluindo (entre outros) RSA-OAEP, Cramer-Shoup e muitas formas de encriptação simétrica autenticada.

## Tipos de ataque de cifrotexto-escolhido

Ataques de cifrotexto-escolhido, como outros ataques, podem ser adaptativos ou não-adaptativos. Num ataque não-adaptativo, o adversário escolhe o cifrotexto ou cifrotextos que ele deseja decriptar antecipadamente, e não usa os purotextos resultantes para influenciar a sua escolha de novos cifrotextos. Num ataque de cifrotexto-escolhido, o adversário escolhe os seus cifrotextos de forma adaptativa, ou seja, dependendo do resultado de decriptações anteriores.

### Ataque da "hora do almoço" ("lunchtime")

Uma variante especialmente observada do ataque de cifrotexto escolhido é o ataque conhecido como "hora do almoço" ("lunchtime"), "meia-noite" ("midnight") ou "indiferente" ("indifferent"), no qual o adversário pode fazer consultas de cifrotexto-escolhidos de forma adaptativa, mas apenas até um certo ponto, depois do qual ele deverá demonstrar uma capacidade aprimorada de ataque ao sistema. O termo "ataque da hora do almoço" refere-se à ideia de que o computador do usuário, com capacidade de decriptação, está disponível para o adversário enquanto ele está ausente para o almoço. Essa forma de ataque foi a primeira mais amplamente discutida: obviamente, se o adversário tem a habilidade para fazer consultas de cifrotexto-escolhido adaptativas, nenhuma mensagem encriptada estaria segura, pelo menos até que essa habilidade fosse removida. Esse ataque é às vezes denominado "ataque de cifrotexto-escolhido não-adaptativo"; aqui, "não-adaptativo" refere-se ao fato de que o adversário não pode adaptar as suas consultas em resposta ao desafio, a qual é dada apenas depois que a habilidade de fazer consultas de cifrotexto-escolhida expira.

### Ataque de cifrotexto-escolhido adaptativo

Um ataque de cifrotexto-escolhido adaptativo (completo) é um ataque no qual cifrotextos podem ser escolhidos de forma adaptativa antes e depois de um cifrotexto-desafio ser entregue ao adversário, com a única restrição de que o cifrotexto-desafio propriamente dito não pode ser objeto da consulta. Trata-se de uma noção de ataque mais forte do que a do ataque da "hora do almoço", e é normalmente conhecido como ataque CCA2, enquanto o anterior é conhecido como CCA1. Poucos ataques práticos assumem essa forma. Esse modelo é importante pelo seu uso na demonstração da segurança contra ataques de cifrotexto-escolhido. Uma prova de que ataques nesse modelo são impossíveis implica que qualquer ataque de cifrotexto-escolhido realístico não pode ser executado.
Um ataque de cifrotexto-escolhido adaptativo prático é o ataque de Bleichenbacher contra PKCS#1.
Criptosistemas demonstravelmente seguros contra ataques de cifrotexto-escolhido adaptativos incluem o Sistema de Cramer-Shoup e RSA-OAEP.