Pular para o conteúdo
Todos os conceitos

Ataque de texto conhecido

Quem sabe um pedaço da mensagem original consegue tirar dele a chave.

Muitas vezes quem ataca não conhece a chave, mas conhece (ou adivinha) um pedaço do texto original: o começo padrão de uma carta, o cabeçalho de um arquivo, uma assinatura que sempre se repete. Isso se chama texto conhecido (known plaintext), e em cifras simples ele entrega a chave.

A ideia é sempre a mesma: a cifra combina o texto com a chave. Se você tem o texto e o cifrado, desfaz a combinação e sobra a chave.

  • César e Vigenère: cifrado menos original dá a letra da chave. Se B virou N, a chave andou 12 casas, e a letra da chave é m.
  • XOR: cifrado XOR original dá a chave, porque (m XOR k) XOR m = k.

Exemplo com Vigenère. Toda mensagem de uma estância começa com BOMDIA, e uma delas foi cifrada assim:

cifrado:   N O F H U A
original:  B O M D I A
chave:     m a t e m a     (N - B = 12 = m, O - O = 0 = a, ...)

A chave é mate: depois do e, ela recomeça em m. Com seis letras conhecidas, deu para ver a chave inteira e até o tamanho dela. Se a chave fosse maior que o pedaço conhecido, você teria só o começo dela e precisaria completar o resto de outro jeito.

cifrado menos o original o pedaço conhecido dá a chave N O F H U A B O M D I A m a t e m a coluna a coluna: N - B = 12 = m O - O = 0 = a ... a chave: mate recomeça
Com Vigenère, o cifrado menos o original conhecido dá a letra da chave em cada posição: BOMDIA revela a chave mate, que recomeça depois do e.

No CyberChef dá para fazer essa conta de uma vez: Vigenère Decode no cifrado, usando o texto conhecido como chave. Nas posições que você conhecia, a saída mostra as letras da chave. Para XOR, em Python: bytes(c ^ m for c, m in zip(cifrado, conhecido)) devolve os bytes da chave.

Cifras modernas, como o AES, são feitas para resistir a esse ataque, porque quase toda comunicação tem partes previsíveis (cabeçalhos de protocolo, formatos de arquivo). Na Segunda Guerra, quem decifrava a Enigma partia justamente de palavras que sabia que estariam nas mensagens, como a previsão do tempo.

Aparece nestes desafios