Quebra de código é o processo de descobrir o significado do texto simples de uma mensagem criptografada. Isso pode ser feito manualmente, com caneta e papel, ou no computador. Existem muitas técnicas diferentes de quebra de código, mas todas compartilham alguns princípios comuns.
Primeiro , os decifradores de código tentam identificar o tipo de código que foi usado. Existem muitos tipos diferentes de códigos, cada um com seus pontos fortes e fracos. Alguns tipos comuns de códigos incluem:
*
Cifras de substituição , que substituem cada letra do texto simples por uma letra diferente.
*
Cifras de transposição , que reorganiza a ordem das letras no texto simples.
*
Cifras de combinação , que usam uma combinação de cifras de substituição e transposição.
Uma vez o tipo de código foi identificado, os decifradores de código podem começar a tentar quebrá-lo. Existem várias técnicas diferentes que podem ser usadas para quebrar códigos, incluindo:
*
Análise de frequência , que analisa a frequência das letras no texto cifrado e a compara com a frequência das letras no texto simples.
*
Reconhecimento de padrões , que procura padrões no texto cifrado que possam ser usados para identificar o texto simples.
*
Ataques de dicionário , que utilizam um dicionário de palavras conhecidas para tentar identificar o texto simples.
*
Ataques de força bruta , que tenta todas as combinações possíveis de letras e números até encontrar o texto simples.
O a dificuldade de quebrar um código depende do tipo de código e do comprimento do texto cifrado. Alguns códigos são muito difíceis de decifrar, mesmo para decifradores experientes. No entanto, com tempo e esforço suficientes, a maioria dos códigos pode ser quebrada.
Aqui está um exemplo de como funciona a quebra de código: Digamos que temos uma mensagem criptografada que diz:
`UIF RVBMJUZ UP CF IFMQ ZPV IPNF UP UIF DPNQMFUF`
Podemos começar tentando identificar o tipo de código que foi utilizado. Uma maneira de fazer isso é observar a frequência das letras no texto cifrado. A letra mais comum no texto cifrado é “U”, que aparece 4 vezes. As próximas letras mais comuns são "I", "F" e "P", cada uma aparecendo 3 vezes. Isto sugere que o código pode ser uma cifra de substituição, uma vez que as cifras de substituição muitas vezes preservam as frequências relativas das letras.
Depois de identificarmos o tipo de código, podemos começar a tentar quebrá-lo. Uma maneira de fazer isso é usar a análise de frequência. Podemos observar a frequência das letras no texto cifrado e compará-la com a frequência das letras no texto simples. A tabela a seguir mostra a frequência das letras no texto simples (coluna da esquerda) e a frequência das letras no texto cifrado (coluna da direita):
| Carta | Texto simples | Texto cifrado |
|---|---|---|
| Um | 8,1% | 0% |
| B | 1,5% | 2% |
| C | 2,8% | 2% |
| D | 4,3% | 7% |
| E | 12,7% | 11% |
| F | 2,2% | 10% |
| G | 2% | 1% |
| H | 6,1% | 3% |
| eu | 7% | 10% |
| J | 0,2% | 0% |
| K | 0,8% | 0% |
| eu | 4% | 2% |
| M | 2,4% | 8% |
| N | 6,7% | 6% |
| Ó | 7,5% | 8% |
| P | 1,9% | 8% |
| P | 0,1% | 0% |
| R | 6% | 9% |
| S | 6,3% | 3% |
| T | 11,6% | 10% |
| você | 2,8% | 12% |
| V | 1% | 0% |
| W | 2,4% | 0% |
| X | 0,2% | 0% |
| S | 2% | 0% |
| Z | 0,1% | 0% |
Como você pode ver, a frequência das letras no texto cifrado é muito diferente da frequência das letras no texto simples. Isto sugere que o código não é uma simples cifra de substituição. No entanto, ainda podemos usar a análise de frequência para nos ajudar a decifrar o código.
Uma coisa que podemos notar é que a letra mais comum no texto cifrado é “U”, que também é a letra mais comum no texto simples. Isto sugere que a letra “U” pode não ter sido criptografada. Podemos tentar substituir todos os “U” no texto cifrado pela letra “E”, que é a letra mais comum no texto simples. Isso nos dá o seguinte texto cifrado:
`EIF RVBMJUZ UP CF IFMQ ZPV IPNF UP EIF DPNQMFUF`
Agora podemos tentar usar novamente a análise de frequência para identificar outras cartas que possam não ter sido criptografadas. Podemos continuar esse processo até descriptografarmos toda a mensagem.
Em Neste exemplo, conseguimos decifrar o código usando uma combinação de análise de frequência e reconhecimento de padrões. A quebra de código nem sempre é tão fácil, mas com tempo e esforço suficientes, a maioria dos códigos pode ser quebrada.