Criptografia Numaboa
Análise das substituições monoalfabéticas
Seg 26 Jan 2009 10:56 |
- Detalhes
- Categoria: Criptoanálise
- Atualização: Domingo, 09 Junho 2013 18:29
- Autor: vovó Vicki
- Acessos: 8808
Cifras de substituição que utilizam apenas um alfabeto cifrante são denominadas de substituições monoalfabéticas. Considerando que o alfabeto ocidental atual possui 26 letras, é possível obter exatos 403.291.461.126.605.635.584.000.000 alfabetos cifrantes diferentes rearranjando suas 26 letras. O alfabeto cifrante escolhido para uma substituição simples é chamado de chave.
Parece impossível determinar qual a chave utilizada numa cifra de substituição monoalfabética. Será que as cifras de substituição monoalfabéticas, como as cifras hebraicas, o código de César e a cifra do Kama-Sutra, são inquebráveis?
Análise Combinatória
Está na hora de dar uma olhada em alguns princípios matemáticos. Nada de pânico, é coisa pouca. O estudo dos procedimentos para se obter agrupamentos de elementos, como as 26 letras do alfabeto, é chamado de Análise Combinatória e o processo de rearranjo dos elementos é chamado de permutação simples.
A forma de calcular o número de permutações possíveis é através do fatorial do número dos elementos envolvidos, no nosso caso, fatorial de 26 (que é anotado como 26!). Pois é, 26! é igual a 26x25x24x23x22x...x4x3x2x1 e dá esta cifra astronômica de mais de 400 septilhões.
Se você não tem idéia do que estou falando, dê uma passada na Escolinha da Aldeia e explore um pouco as ferramentas matemáticas relacionadas à análise combinatória. Depois volte para dar continuidade à leitura deste texto. Desejo sucesso!
Se você tira de letra a Análise Combinatória, especialmente a permutação simples, então continue sossegadamente com a leitura deste artigo
Obtendo um cifrante (ou chave)
Para obter uma chave ou alfabeto cifrante, basta rearranjar as letras do alfabeto ou deixar que um dos 400 septilhões seja escolhido ao acaso. Preencha o alfabeto cifrante ou clique em [Randomizar Alfabeto] para obter uma chave:
Cifrando um texto
Digite um texto e obtenha a cifragem pela substituição simples que utiliza o alfabeto cifrante acima determinado. Quanto mais longo for o texto, mais claro fica o exemplo. Não use letras acentuadas, c cedilha ou qualquer outro caractere gráfico porque não poderão ser substituídos pelo alfabeto cifrante e só vão atrapalhar a análise (por exemplo, coração deve ser escrito coracao).
Quebrando a cifra
Se a sua mensagem for interceptada pelo inimigo e ele detectar corretamente que a cifra utilizada foi uma substituição monoalfabética, ainda assim ele terá pela frente uma tarefa (teoricamente) impossível: testar todas as chaves até encontrar a correta, o que também (teoricamente) nem com água benta e nem com força bruta ele vai conseguir. Acontece que nem tudo está perdido para o inimigo se ele conhecer a chamada Análise da Frequência de Ocorrência de Letras.
Análise da Frequência de Ocorrência de Letras
Em qualquer idioma alguns sons são utilizados com mais frequência do que outros. Isto significa que, na linguagem escrita, algumas letras também são mais utilizadas do que outras. Determinar a frequência com que ocorrem determinadas letras em determinada língua, ou seja, fazer uma Análise da Frequência de Ocorrência de Letras não é nenhuma novidade - o grande sábio árabe al-Kindi já teve esta idéia há mais de 1.000 anos.
Na substituição monoalfabética cada letra é trocada pela letra correspondente do alfabeto cifrante ou chave. Isto significa que as características das letras originais são transferidas para as novas letras, inclusive suas características de frequência de ocorrência. É o mesmo que trocar seis por meia dúzia... o caminho das pedras para quebrar uma cifra deste tipo!
Comparando as frequências
Se você preparou um alfabeto cifrante, digitou um texto claro e obteve o texto cifrado correspondente, então você pode comparar a frequência da ocorrência das letras de ambos os textos. Clique aqui em [Fazer Análise de Frequência] e observe no gráfico que a característica de ocorrência das letras originais foi transferida para as letras do texto cifrado.
Trabalhando com frequências
Compare a letra mais frequente do texto cifrado com a letra mais frequente do texto claro e depois confira com o alfabeto cifrante. Este é um dos pares de troca. Faça o mesmo com a segunda letra mais frequente - novamente você vai reconhecer um par de troca. Estamos fazendo testes conhecendo tanto o texto claro quanto o cifrado. Nosso inimigo, no entanto, não tem informações a respeito do texto claro como, por exemplo, o idioma utilizado para redigir a mensagem. A resposta para esta pergunta é essencial porque define o padrão da frequência da ocorrência de letras que deve ser usada para fazer a comparação. É óbvio que SEMPRE existem outras pistas que podem ajudar: o remetente da mensagem, o destinatário, o possível assunto, etc.
Caso o inimigo se decida pelo Português, é claro que vai fazer uma análise de frequência usando esta língua como base. Quanto mais longo for o texto, maior a probabilidade dos valores encontrados estarem mais próximos dos valores padrão. Além disto, não se deve esquecer que os valores padrão representam a MÉDIA da frequência de ocorrência. O padrão para a letra A é de 14.63% - esta frequência pode variar, digamos, de 13% a 17%. Neste caso estamos contando com um desvio de cerca de 2%.
Além disto, o inimigo bom de criptoanálise vai procurar o fio da meada analisando inicialmente os extremos: letras de frequência muito alta e letras de frequência muito baixa.
Se você tiver interesse nas características da língua portuguesa, como os valores encontrados para a frequência de ocorrência de letras, dígrafos, etc, então dê uma olhada em Português (do Brasil) - Frequência da Ocorrência de Letras.