• Nenhum resultado encontrado

Como os matemáticos ajudaram a vencer a Segunda Guerra Mundial

No documento Os mistérios dos números (páginas 179-185)

Sabendo que os códigos de substituição tinham essa fraqueza inerente, os criptógrafos começaram a conceber meios mais engenhosos de frustrar ataques baseados em contagem de letras. Uma ideia foi variar a cifra de substituição. Em vez de usar apenas uma cifra de substituição para codificar o texto todo, podiam-se alternar duas cifras diferentes. Assim, se você estivesse codificando, por exemplo, a palavra “ferro”, a letra r poderia ser codificada de maneira diferente a cada vez, pois a primeira seria codificada usando uma cifra e a segunda, outra cifra. Assim, “ferro” poderia ser codificada como PLUMA. Quanto mais segura você quer que a mensagem seja, mais cifras você deve alternar.

Claro que existe um equilíbrio a ser atingido em criptografia, entre tornar as coisas muito seguras e ter um código inutilizável. O tipo de cifra mais segura, chamada de bloco de uso único, utiliza uma cifra de substituição diferente para cada letra do texto. É um código praticamente impossível de ser quebrado porque não há absolutamente nada para ajudar sequer a começar a lidar com o texto criptografado. É também de manejo extremamente difícil, porque é preciso usar uma cifra de substituição diferente para cada letra da mensagem.

O diplomata francês Blaise de Vigenère, no século XVI, acreditava que, para impedir qualquer análise de frequência, bastava alternar num ciclo apenas algumas cifras de substituição. Embora o código Vigenère, como

veio a ser conhecido, fosse uma forma de encriptação muito mais poderosa, não era impossível de se quebrar, e o matemático britânico Charles Babbage acabou encontrando um meio de decifrá-lo. Babbage é visto como o avô da era do computador, por sua crença de que máquinas poderiam ser usadas para automatizar cálculos, e uma reconstrução da sua máquina de calcular por “mecanismo de diferença” pode ser vista no Museu de Ciências de Londres. Foi sua abordagem sistemática do problema que, em 1854, lhe deu a ideia para quebrar o código de Vigenère.

O método de Babbage depende de uma das grandes habilidades do matemático — reconhecimento de padrões. A primeira coisa que se precisa detectar é quantas cifras de substituição diferentes estão sendo ciclicamente alternadas. Por exemplo, em inglês a palavra “the” [o, as, os, as] aparece com frequência em qualquer texto original, e a detecção de repetições da mesma sequência de três letras pode ser a chave para revelar quantas cifras estão sendo usadas.f Assim, por exemplo, pode-se detectar o grupo AVR aparecendo com frequência, sempre no intervalo de um múltiplo de quatro letras entre as ocorrências. Seria um bom indício de que houve quatro cifras empregadas.

Uma vez de posse dessa informação, pode-se dividir o texto cifrado em quatro grupos. O primeiro consiste na primeira letra, quinta letra, nona letra, e assim por diante. O segundo consiste na segunda, sexta, décima letras, e assim por diante. A mesma cifra de substituição terá sido usada para codificar as letras em qualquer um desses quatro grupos, de modo que se pode usar a análise de frequência em um grupo de cada vez, e o código estará quebrado.

Tão logo o código de Vigenére foi quebrado, iniciou-se a busca de um novo meio de codificar mensagens com segurança. Quando a máquina Enigma foi desenvolvida na Alemanha, na década de 1920, muita gente acreditou que fora criado o código supremo, impossível de ser quebrado.

A máquina Enigma funciona com o princípio da mudança da cifra de substituição cada vez que a letra é codificada. Se eu quero codificar a sequência aaaaaa (para indicar, talvez, que eu esteja sentindo dores), então cada a será codificado de maneira diferente. A beleza da máquina Enigma era que ela mecanizava a mudança de uma substituição para outra com extrema eficiência. A mensagem é datilografada num teclado. Há uma segunda camada de letras — o “quadro de luz” acima do teclado, e quando uma tecla é pressionada, uma das letras acima se acende para indicar a letra

codificada. Mas o teclado não é ligado diretamente ao quadro de luz: as conexões são feitas por três discos que contêm um labirinto de cabos e que podem ser girados.

Um modo de perceber como funciona a máquina Enigma é imaginar um largo cilindro constituído de três tambores giratórios. No topo do cilindro há 26 orifícios em torno do disco, rotulados com as letras do alfabeto. Para codificar a letra, você deixa cair uma bola no orifício correspondente àquela letra. A bola cai pelo primeiro tambor, que tem 26 orifícios no disco superior e 26 no disco inferior. Tubos conectam os furos superiores e inferiores — mas não conectam simples e diretamente os furos de cima com os de baixo.

Em vez disso, os tubos correm e se retorcem, de forma que a bola que entrar no alto do tambor sairá num furo da base em local totalmente diferente. Os tambores do meio e inferior são semelhantes, mas seus tubos de conexão ligam os furos do alto com os de baixo de maneiras diferentes. Quando uma bola sai pela base do terceiro tambor, penetra numa última peça do mecanismo e surge em um dos orifícios do cilindro, mais uma vez com o rótulo de uma das letras do alfabeto.

Agora, se a engenhoca simplesmente ficasse parada no lugar, nada mais seria que uma maneira complicada de reproduzir uma cifra de substituição.

Mas aí está a genialidade da máquina Enigma: toda vez que uma bola desce pelo cilindro, o primeiro tambor gira de volta. Assim, quando a próxima bola cair, o primeiro tambor a mandará por uma rota completamente distinta.

Por exemplo, enquanto a letra a poderá ser inicialmente codificada como C, quando o primeiro tambor se move, outra bola lançada na letra a sairá por um orifício totalmente diferente na base. E assim era a máquina Enigma:

depois de a primeira letra ter sido codificada, o primeiro disco giratório assumia uma posição adiante.

FIGURA 4.02: O princípio da máquina Enigma: deixe cair uma bola pelos tubos para codificar uma letra. Os cilindros giram um atrás do outro, após cada codificação, de modo que as letras se

misturam, cada vez, de uma outra maneira.

Os discos giratórios funcionam como um hodômetro, um marcador de quilometragem; quando o primeiro disco tiver completado uma volta em torno de todas as 26 posições, ao retornar para a posição inicial, ele faz com que o segundo disco se mova de volta. Assim, ao todo há 26 × 26 × 26 maneiras diferentes de misturar as letras. Não só isso, mas o operador do Enigma podia também alterar a ordem dos discos multiplicando o número de cifras de substituição possíveis pelo fator 6 (correspondente a 3! maneiras diferentes de associar os três discos).

Cada operador tinha um manual do código que lhes dizia como, no começo de cada dia, os três discos estariam arrumados para codificar mensagens. O receptor decodificava a mensagem com o mesmo arranjo extraído do manual. Outras complexidades foram sendo introduzidas no modo de construção da máquina Enigma; em última análise, havia mais de

158 milhões de milhões de milhões de maneiras diferentes de configurar a máquina.

Em 1931, o governo francês descobriu os planos para a máquina alemã e ficou horrorizado. Parecia não haver modo viável de descobrir, a partir de uma mensagem interceptada, como os discos estavam configurados para a codificação de um dia específico — o que era crucial para a decodificação da mensagem. Mas eles tinham um pacto com os poloneses para trocar qualquer informação conseguida, e a ameaça da invasão alemã teve o efeito de concentrar as mentes pensantes polonesas.

Para uma simulação on-line da máquina Enigma, consulte http://bit.ly/BletchleyPark, que você pode acessar diretamente escaneando o código ao lado com seu smartphone. No site Num8er My5teries você pode baixar um pdf com instruções para construir sua própria máquina Enigma.

Matemáticos na Polônia perceberam que cada configuração dos discos tinha características particulares, e que era possível explorar padrões para auxiliar um trabalho de trás para a frente e decifrar as mensagens criptografadas. Se, por exemplo, um operador escrevesse um a, este seria codificado de acordo com a configuração momentânea dos discos, digamos, como D. O primeiro disco então avança uma casa. Se, quando outro a for teclado, ele for codificado como Z, então, em algum sentido, D está relacionado a Z pela maneira como os discos foram configurados.

Poderíamos investigar isso usando a nossa própria engenhoca.

Reconfigurando os tambores e deixando cair bolas duas vezes em cada letra por vez, construiríamos um conjunto completo de relações que poderiam ter o seguinte aspecto (Tabela 4.03):

TABELA 4.03

Cada letra aparece uma, e apenas uma vez, em cada linha, porque cada linha corresponde a uma única cifra de substituição.

Como os poloneses usaram essas relações? Em qualquer dia determinado, todos os operadores alemães do Enigma estariam usando a mesma configuração para as rodas, e essa configuração seria encontrada no manual do código. Escolheriam então sua própria configuração, que seria enviada usando a configuração original do manual. Por segurança, eram incentivados a repetir a escolha teclando-a duas vezes. Longe de ser segura, essa atitude revelou-se um erro fatal. Ela deu aos poloneses uma pista de como as rodas conectavam as letras — uma pista de como a máquina Enigma estava configurada para aquele dia.

Um grupo de matemáticos instalados numa casa de campo em Bletchley Park, a meio caminho entre Oxford e Cambridge, estudou os padrões que os matemáticos poloneses haviam detectado e descobriu um modo de automatizar a busca da configuração usando uma máquina que construíram e que ficou conhecida como uma bomba. Costuma-se dizer que esses matemáticos abreviaram a Segunda Guerra Mundial em dois anos, salvando incontáveis vidas. As máquinas que construíram, em última instância, deram origem aos computadores que hoje tanto nos ajudam.

No documento Os mistérios dos números (páginas 179-185)