MANUAL DO ENIGMA SIM v6.4
Sobre o Enigma Sim
Este programa é uma simulação exata da famosa máquina de cifrar
alemã Enigma, dos modelos de 3 rotores da Wehrmacht (Exército) e
Luftwaffe (Força Aérea), do modelo M3 de 3 rotores da Kriegsmarine
(Marinha) e do famoso modelo M4 de 4 rotores da Kriegsmarine, que
foram usados durante a II Guerra Mundial de 1939 a 1945. Você pode
escolher qualquer um desses modelos, selecionar diferentes rotores
denominados “Waltzen”, modificar as ligações internas dos rotores,
operação chamada “Ringstellung” e permutar letras mediante uso de
plugues denominados “Stecker”. As conexões internas de todos os
rotores são idênticas às usadas pela Wehrmacht, Luftwaffe e
Kriegsmarine. O simulador é, portanto, plenamente compatível com a
verdadeira máquina Enigma; você poderá decifrar mensagens
originais ou cifrar suas próprias mensagens.
Este manual explica como usar o simulador Enigma, descreve os
procedimentos para cifrar mensagens tal como era feito pelas Forças
Armadas Alemãs; contém uma descrição técnica completa e uma
breve história da Enigma.
Para maiores informações, por favor, visite
Cipher Machines & Cryptology
http://users.telenet.be/d.rijmenants
Tradução para o português: Czeslau L. Barczak
Informação de Copyright
O SOFTWARE DO SIMULADOR ENIGMA É FREEWARE E PODE SER USADO E DISTRIBUIDO
SEGUNDO AS SEGUINTES RESTRIÇÕES: É TERMINANTEMENTE PROIBIDO USAR ESTE
SOFTWARE OU CÓPIAS DE SUAS PARTES PARA USO COMERCIAL, VENDER, ALUGAR OU
OBTER LUCROS COM ESTE PROGRAMA POR QUAISQUER MEIOS. ESTE SOFTWARE PODE SER
USADO APENAS DE ACORDO COM ESTAS CONDIÇÕES.
Picture Gallery Copyrights:
© Tom Perera, Enigma Museum - http://w1tp.com/mcpu.htm
© KMi The Open University
ISENTO DE GARANTIAS
ESTE SOFTWARE E TODOS OS ARQUIVOS QUE O ACOMPANHAM SÃO OFERECIDOS “TAL
QUAL ESTÃO” E SEM GARANTIAS DE QUALQUER ESPÉCIE, NEM EXPRESSAS NEM IMPLÍCITAS,
COM RELAÇÃO A ESTE PRODUTO, SUA QUALIDADE, DESEMPENHO, COMERCIALIDADE, OU
ADEQUAÇÃO A QUALQUER USO PARTICULAR, TODOS OS RISCOS QUANTO À SUA QUALIDADE
E DESEMPENHO SÃO DE INTEIRA RESPONSABILIDADE DO USUÁRIO. SOB NENHUMA
CIRCUNSTÂNCIA OU EVENTO PODERÁ O AUTOR SER RESPONSABILIZADO, DIRETA OU
INDIRETAMENTE, POR QUAISQUER DANOS RESULTANTES DE SEU USO OU POR USO
INADEQUADO DESTE PRODUTO.
© D. Rijmenants 2006
Cipher Machines & Cryptology
http://users.telenet.be/d.rijmenants
Como usar o Simulador
Para preparar o Simulador Enigma, é necessário selecionar o refletor, os rotores e sua seqüência,
posicionar os anéis de ajuste, inserir os cabos e colocar a máquina na posição de iniciar. Como você
notará, haverá sempre uma imagem de mão visivel quando você move o mouse para os locais onde
pode selecionar alguma coisa ou clicar sobre algo. Você pode também mover e clicar o mouse sobre a
etiqueta no canto direito superior para abrir o Menu do Simulador.
Ajuste das posições dos rotores
Dê um clique no fecho direito [1] para abrir a tampa e revelar o mecanismo da Enigma.
Dê um clique em um rotor [2] para retirá-lo de dentro da máquina.
Dê um clique no espaço vago [3] da caixa de rotores para colocar o rotor na caixa.
Agora você pode selecionar outro rotor da caixa dando um clique no rotor desejado. Com o rotor fora
da caixa, você pode reposicionar o anel de ajuste 'Ringstellung' clicando na metade superior [4] ou
inferior [5] do rotor mostrado. Depois de ajustar o rotor, você deve clicar no espaço vago da Enigma
para colocar o rotor naquela posição. Se achar mais fácil, você pode colocar primeiro todos os rotores na
caixa e então selecionar, ajustar e inserir um por um na máquina.
Selecionado os refletores
Você pode mudar o refletor [6] clicando com o botão esquerdo ou o direito do mouse, sobre a letra que
aparece no refletor. Mudando de refletor você pode selecionar diferentes modelos da Enigma.
Você pode escolher o refletor largo B ou C dos modelos de 3 rotores da Wehrmacht e Luftwaffe, o
refletor largo B ou C do modelo de 3 rotores da Kriegsmarine M3, e o refletor fino B ou C do modelo de
4 rotores Kriegsmarine M4. Note que no modelo da Wehrmacht-Luftwaffe, você pode selecionar dentre
cinco rotores e dois refletores, no modelo Kriegsmarine M3 dentre oito rotores e dois refletores largos, e
no modelo M4 escolher dentre oito rotores, dois rotores especiais chamados 'Zusatzwalzen' ou rotores
Gregos chamados Beta e Gamma (que não tem avanço) e que são colocados logo antes do refletor
fino, e os dois refletores finos.
Uma vez que os rotores estejam nos seus lugares você pode fechar a tampa clicando na alavanca [7] à
esquerda do relfetor.
Nota especial sobre os rotores: se você estiver usando o modelo M4 com o refletor fino B e o rotor Beta
como 4º na “posição-zero” (rotor e anel ajustado em A), a máquina é compatível com seu predecessor,
o modelo M3 de 3 rotores, e o o modelo de 3 rotores do Exército com o refletor largo B (claro, eles são
compatíveis apenas quando os outros três rotores e seus ajustes são iguais). Os circuitos do rotor foram
projetados de modo que diferentes componentes do Exército poderiam trocar mensagens, embora
fossem diferentes modelos da Enigma.
Ligando os cabos
Para ligar os plugues de uma tomada para outra (para trocar as conexões das letras) você deve clicar
sobre os terminais na parte de baixo da Enigma. O painel de plugues ou 'Steckerbrett' vai aparecer.
Simplesmente clique no plugue desejado [8] que você quer conectar ao plugue [9]. Para desfazer a
conexão clique sobre um dos plugues [10] e ambas as conexões dos plugues desaparecem. Depois que
terminar o ajuste dos plugues você pode retornar à imagem da posição normal da Enigma clicando
sobre as teclas acima do painel de tomadas.
Ajuste da posição inicial
Na tela principal você pode mudar a posição de início dos rotores, operação denominada 'Grundstellung'
clicando na metade superior [11] ou inferior [12] da roda dentada do rotor. A posição de início pode ser
arquivada temporariamente pressionando INS (ou Insert) e pode ser recuperada pressionando HOME.
A Caixa de Texto e a Prancheta
Uma vez ajustada a máquina (rotores escolhidos, ajustados e colocados na posição inicial), você pode
digitar um texto usando as teclas da Enigma. Clique no fecho da Enigma [13] para abrir a Caixa de
Texto na parte inferior, que mostra texto e cifras. O texto ou a cifra pode agora ser digitado usando o
teclado do seu PC. Para apagar o texto pressione DEL (Delete) ou Backspace (Retorno). Clicando de
novo no fecho [13], a caixa de texto desaparece. Clicando dentro da caixa de texto ou pressionando F5,
uma Janela chamada “Smart Clipboard” (Prancheta) aparece. Na Prancheta você pode selecionar
Entrada Digitada (Typed Input) ou Saída da Enigma (Enigma Output), pressionando “Apply New
Format”. O texto e as cifras são formatadas em grupos de cinco letras na máquina da Wehrmacht e em
grupos de quatro letras em ambas máquinas M3 e M4 da Marinha. Pressionando “To Clipboard” você
transfere o texto ou a cifra para a janela de Auto Digitação, onde pode ser recuperado e editado.
Usando a opção de Auto Digitação
Se estiver digitando um texto muito extenso, para evitar digitar pelas teclas do simulador, você pode
usar a janela de “Auto Typing” (Auto Digitação). Esta janela aparece se você pressionar F6. Nela você
poderá digitar, editar ou colar partes de texto ou de cifras, ou recuperar o conteúdo da Prancheta
clicando “Get Clipboard”. Você pode selecionar quatro diferentes velocidades de operação (digitação)
da máquina. Pressione “Start” e observe a Enigma digitando automaticamente o texto ou a cifra que
estão na janela “Auto Typing”. A Caixa de Texto mostrará o resultado. Durante a Auto Digitação você
pode abortá-la pressionando ESC. Esteja seguro de que os rotores estão ajustados, nas posições
corretas e as letras no painel de plugues estão conectadas antes de iniciar a Auto Digitação.
Nota: a Auto Digitação processa apenas caracteres do alfabeto e ignora outros caracteres como figuras,
sinais e espaços. Quando decodificar, verifique se na mensagem há Grupos de Identificação
(Kenngruppen). São grupos de letras geralmente no início da mensagem; você deve apagá-los da
janela de texto.
Gravar (Save) e Carregar (Load) os Ajustes da Máquina
No Menu do Simulador (clique na etiqueta branca) você poderá ver a instalação (Setup) da máquina
atual e o nome do arquivo, gravar (Save) os ajustes atuais e carregar (Load) outros ajustes, ou limpar
(Clear) e retornar aos ajustes básicos (Default). Os ajustes da máquina são gravados com a extensão
de arquivo .eni. Na partida (Startup) o simulador será aberto com os ajustes usados na última vez. Se
nenhum arquivo de ajustes for encontrado os ajustes básicos (Default) serão carregados.
Saindo do Simulador
Para sair do Simulador Enigma clique no plugue de energia (Power) localizado na parte superior e à
direita da Enigma. Se desejar, você pode gravar (Save) os atuais rotores e ajustes dos plugues (as
posições iniciais dos rotores não serão gravadas).
Criptoanálise e Modo de Teste
Para realizar criptoanálise e fazer testes, você pode desligar o mecanismo de avanço dos rotores
usando F10. Um aviso será mostrado acima dos rotores. Use F10 de novo para restabelecer o
mecanismo de avanço.
Extras
Clicando no fecho da esquerda você verá uma galeria de figuras e clicando na etiqueta ENIGMA na
parte superior verá a janela Sobre (About).
Como a máquina foi usada pelos militares alemães
Aqui se mostra um exemplo de como a Luftwaffe alemã enviava mensagens cifradas por meio da
Enigma. A chave secreta diária não era usada para cifrar a própria mensagem, essa chave era usada
para cifrar uma “mensagem-chave” ou “trigrama” escolhida aleatoriamente pelo operador. Esta
mensagem-chave era usada para cifrar o restante da mensagem. Com este procedimento evitava-se o
excessivo uso da chave secreta diária, e cada mensagem era cifrada com outra chave escolhida
arbitrariamente. Durante a guerra diferentes sistemas de uso do livro de chaves como este foram
elaborados. Em geral, o livro de chaves continha os ajustes para cada dia de um mês inteiro.
A folha de chaves do operador continha as seguintes informações:
----------------------------------------------------------Tag Walzenlage Ringstellung
Steckerverbindungen
(Dia) (Rotores) (Anel de Ajuste) (Conexões dos plugues)
----------------------------------------------------------31
I
II
V
06 22 14
PO ML IU KJ NH YT GB VF RE DC
30
III IV II
17 04 26
BN VC XS WQ AZ GT YH JU IK PM
29
V
I III
15 02 09
ML KJ HG FD SQ TR EZ IU BV XC
----------------------------------------------------------No dia 31 a seguinte mensagem era transmitida:
U6Z DE C 1510 = 44 = EHZ TBS =
QBLTW LDAHH YEOEF PTWYB LENDP MKOXL DFAMU DWIJD XRJZ=
Para decodificar a mensagem realizam-se os seguintes passos:
1. Selecione os Rotores (Walzen I, II e V)) e ajuste o anel de cada rotor (Ringstellung) Rotor I: 06,
Rotor II: 22 e Rotor V: 14. Coloque os Rotores na máquina e ajuste os Plugues (Stecker) para o
dia 31: PO ML IU KJ ... etc.
2. Ajuste a posição inicial para EHZ, o primeiro trigrama de letras da mensagem
3. Nesta posição, decodifique o segundo trigrama TBS para obter a mensagem-chave. Isso deveria
resultar em XWB
4. Ajuste a mensagem-chave decifrada como a posição de início na máquina
5. Agora decifre o restante da mensagem...
Esta poderá ser a sua primeira mensagem decifrada. Boa Sorte!
Sugestão: copie a mensagem cifrada QBLTW LDAHH ... etc para um papel. Em seguida com a Enigma
Sim previamente ajustada conforme indicado digite a mensagem cifrada.
Outro exemplo
A mensagem original em duas partes que segue é uma pré-edição de um projeto de decifração em
andamento, para decifrar um grande número de mensagens Alemãs, um esforço conjunto de Geoff
Sullivan e Frode Weierud, dois membros do Crypto Simulation Group (CSG). É uma mensagem da SSTotenkopf Division e é de uma batalha contra a Rússia, operação Barbarossa.
Os ajustes são conforme recuperados pelos criptoanalistas do CSG
Modelo de 3 rotores
UKW:B (refletor)
Walzenlage: 245
Ringstellung: BUL
Stecker: AV BS CG DL FU HZ IN KM OW RX
Não se esqueça de usar o primeiro trigrama de cada parte como a posição inicial para decodificar o
segundo trigrama de modo a recuperar a mensagem-chave, que é a posição inicial para o restante da
mensagem.
Nota Importante: RFUGZ e FNJAU são 'Kenngruppen', grupos para identificação da chave que foi
usada, e que não deve ser usada durante a decifração!
A mensagem:
Befordert am: 07.07.1941 1925 Uhr Durch:
Funkspruch Nr.:20 Von/An: f8v/bz2
Absendende Stelle : SS-T Div Kdr An: LVI A.K.
fuer m7g 1840 - 2tl 1t 179 - WXC KCH –
RFUGZ
UYTPO
LXLVE
UBPMM
GYKUA
UBSTS
SSXJZ
YUPAD
SVKDA
EDPUD
MRMBO
FGUEY
YLKLT
CTCDO
LRNBZ
VIJHI
TXQSP
SCTAC
NRGYS
FKTBZ
SIOZV
TDEIS
MOHWX
SZWNR
DISHP
INQMA
DPBOP
ZRCXN
REZKM
EQMIK
MDICA
MUUIA
FXWFY
RKLKA
TLPIF
VHJK
2tl 155 - CRS YPJ FNJAU
KRTAR
OEQGB
MHUSZ
EHYGG
ZCYSG
IRGIR
SBDPJ
SFBWD
EEZMW
BGTQV
YDAJQ
RPISE
QDGRE
QNRDN
BFFKY
NJUSE
KPPRB
PGVKB
IROAX
ZBOVM
RVBIL
VRXCY
QWFUS
GQOBH
XOHDR
VVGBI
SSSNR
QIEMM
EKXYQ
YTNJR
Para aqueles que podem ter dificuldades em compreender o conteúdo da mensagem em alemão,
segue-se uma versão em português (a decifração do original é seu trabalho!).
Unidade de reconhecimento de KURTINOWA a noroeste de SEBEZ em movimento em direção
a DUBROWSKI, OPOTSCHKA. Iniciou movimento às 18:30. Ataque. Regimento de Infantaria
3 vai devagar mas sem dúvida para a frente. Hora: 17:06. I (número romano 1). Regimento de
Infantaria 3 em movimento iniciando a 16 km leste-oeste de KAMECEC.
Comandante de Divisão
Message copyright by Geoff Sullivan and Frode Weierud
Guerra no Mar
O seguinte fragmento de mensagem contém uma importante peça da história da guerra naval. Foi
interceptada pelos criptoanalistas britânicos e tornou possível uma ação decisiva da Royal Navy.
Ajustes para a mensagem:
Modelo de 3-rotores
UKW: B (refletor)
Walzenlage: 314
Stecker: BU CP EI GN HT LZ MX OS
Ringstellung: SXA (19-24-01)
Posição inicial: LBW
A mensagem:
...
MQLDI
YTRNB
IATLL
KDUSU
NQSFH
NEAQZ
BUEDK
GLBSP
BNWQB
ZBFXD
KJTEC
JKRQV
FFBLB
CMJJG
IJGQU
AIXCN
RITNG
DSEXG
MLKBS
YLYFT
DLTDQ
KFHPU
XVAYK
...
UHCQH
BNGDA
ZMJKW
IWSRK
JTZWB
IRHFL
JOKMK
Nota: Embora seja uma mensagem da marinha, apenas três rotores foram usados. Conforme explicado,
algumas mensagens eram enviadas desta forma para que o modelo M4 ficasse compatível com o
modelo M3. Infelizmente para a Alemanha isso deu aos criptoanalistas britânicos grande pistas para os
complicados códigos navais de 4-rotores.
Notas e abreviaturas
A Kriegsmarine usava as seguintes abreviaturas antes da cifração do seu texto:
X = Ponto
Y = Vírgula
UD = Ponto de Interrogação
XX = Dois Pontos
YY = Travessão/Hífen/Traço Inclinado
KK*****KK = Parêntesis
J*****J = Acentuação
Números eram escritos como palavras.
A Wehrmacht usava outras abreviaturas:
KLAM = Parêntesis
ZZ = Vírgula
X = Ponto Final (final de frase)
YY = Ponto (marca)
X****X = Aspas
Ponto de interrogação (Fragezeichen em alemão) usualmente tem uma das seguintes formas de
abreviatura: FRAGE, FRAGEZ ou FRAQ
Nomes estrangeiros, lugares, etc. são delimitados por “X”, por exemplo, XPARISXPARISX
Os caracteres CH são escritos como Q, por exemplo, ACHT é escrito como AQT, RICHTUNG COMO
RIQTUNG
É proibido criptografar a palavra “null” várias vezes seguidas. Para algumas abreviaturas são usados:
00 = CENTA
000 = MILLE
0000 = MYRIA
Exemplo: 200 = ZWO CENTA, 00780 = CENTA SIEBEN AQT NULL
Detalhes Técnicos da Máquina Enigma
A máquina Enigma é um dispositivo eletromecânico.
Consiste
em
um
teclado
(Configuração QWERTZ Alemã), um painel de
lâmpadas, representando o alfabeto, e três ou
quatro rotores. Estes rotores avançam cada
vez que uma tecla é pressionada. Uma tecla
pressionada converte-se, pelos rotores e
plugues, em uma lâmpada acesa, que
representa a letra cifrada. Há na máquina um
compartimento para uma bateria de 4 volts e
um plugue para conectar a máquina a uma
bateria externa ou a uma fonte tipo AC com
transformador.
A figura à direita mostra as conexões. Para
simplificar o exemplo, apenas quatro
componentes são mostrados. Na realidade, há
26 lâmpadas, teclas, plugues e conexões
dentro dos rotores. As correntes fluem da
bateria [1] através dos contatos duplos das
teclas de letras [2] para o painel de plugues
[3]. O painel de plugues permite rearranjar as
conexões entre o teclado [2] e o disco fixo [4].
Depois, a corrente flui da tecla [2] através do
plugue não usado e, portanto, fechado [3] e
segue para o disco fixo [4] e pelos fios dos
rotores [5], em número de três (na Enigma
Wehrmacht) ou quatro (na Kriegmarine M4),
até o refletor [6]. O refletor retorna a corrente
por um caminho diferente, pelos rotores [5], ao
disco de entrada [4], e prossegue para o painel de plugues e através do plugue “S” [7] que está
conectado por um cabo [8] ao plugue “D” seguindo para a tecla [9] e para a lâmpada “D” que acende.
Note que pressionando uma tecla, primeiro ocorre o avanço do rotor e somente depois a corrente é
enviada através dos rotores para a lâmpada. Soltando a tecla a lâmpada apaga. Portanto se nenhuma
tecla estiver pressionada, a posição dos rotores corresponderá à letra previamente cifrada.
Os Rotores ou Walzen
Os rotores (Walzen em alemão) são os elementos mais importantes da máquina. São discos e tem
aproximadamente 10 cm de diâmetro, são feitos de metal ou baquelita. Um disco consiste de uma
cápsula com um entalhe fixo e um anel com o alfabeto ou números. O centro do rotor é um disco
pequeno rotativo com 26 contatos com molas no lado direito, fios interligando-os com 26 contatos
planos no lado esquerdo. A mudança das fiações internas, do entalhe com relação ao alfabeto, é
chamada de ajuste do anel ou Ringstellung. As fiações internas são diferentes para cada rotor. Essas
conexões representam uma cifração por substituição. A combinação de vários rotores, com permanente
troca de posições uma em relação à outra, é o que torna a cifração tão complexa. Cada rotor tem à sua
esquerda um entalhe, à sua direita uma catraca. São usados pelo mecanismo de passo para dar
avanço aos rotores.
A máquina foi introduzida com três rotores. Em1939 o conjunto foi ampliado para cinco rotores,
marcados com os numerais romanos I, II, III, IV e V, todos com um único entalhe. A Kriegmarine
estendeu o conjunto de rotores com mais três chamados VI, VII, e VIII, com dois entalhes. Em 1942, a
Kriegmarine M4 introduziu um quarto rotor. Para conseguir isso, os refletores largos B e C da versão de
três rotores foram substituídos por refletores finos B e C, fazendo espaço para o quarto rotor especial.
Os rotores quatro tinham duas configurações chamadas Beta e Gamma, com contatos de molas de
ambos os lados. Eles eram incompatíveis com os outros oito rotores.
Tabelas de conexões dos rotores
Rotores Kriegsmarine/Wehrmacht/Luftwaffe (modelo de 3 rotores)
Input = ABCDEFGHIJKLMNOPQRSTUVWXYZ (lado direito do rotor)
||||||||||||||||||||||||||
I
= EKMFLGDQVZNTOWYHXUSPAIBRCJ
II
= AJDKSIRUXBLHWTMCQGZNPYFVOE
III
= BDFHJLCPRTXVZNYEIWGAKMUSQO
IV
= ESOVPZJAYQUIRHXLNFTGKDCMWB
V
= VZBRGITYUPSDNHLXAWMJQOFECK
Rotores usados apenas pela Kriegsmarine (modelos M3 de 3 rotores e M4 de 4 rotores)
Input = ABCDEFGHIJKLMNOPQRSTUVWXYZ (lado direito do rotor)
||||||||||||||||||||||||||
VI
= JPGVOUMFYQBENHZRDKASXLICTW
VII
= NZJHGRCXMYSWBOUFAIVLPEKQDT
VIII = FKQHTLXOCBJSPDZRAMEWNIUYGV
Rotores quatro especiais, também chamados Zusatzwalzen ou rotores Gregos. Usados apenas na
Kriegsmarine M4 com refletores finos.
Input = ABCDEFGHIJKLMNOPQRSTUVWXYZ (lado direito do rotor)
||||||||||||||||||||||||||
Beta = LEYJVCNIXWPBQMDRTAKZGFUHOS
Gamma = FSOKANUERHMBTIYCWLQPZXVGJD
Com a fiação do refletor largo B um “A” retorna como “Y” e “Y” retorna como “A”.
Note que as fios estão permanentemente conectados como círculo fechado entre duas letras.
Refletores largos B básicos da Wehrmacht e Luftwaffe:
Contatos
Refletor B
Refletor C
= ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
= YRUHQSLDPXNGOKMIEBFZCWVJAT
= FVPJIAOYEDRZXWGCTKUQSBNMHL
Refletores finos, Kriegsmarine M4 apenas:
Contatos
Refletor B Thin
Refletor C Thin
= ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
= ENKQAUYWJICOPBLMDXZVFTHRGS
= RDOBJNTKVEHMLFCWZAXGYIPSUQ
Posições d avanço
I = Q (se o rotor avança de Q para R, o rotor seguinte avança um passo)
II = E (se o rotor avança de E para F, o rotor seguinte avança um passo)
III = V (se o rotor avança de V para W, o rotor seguinte avança um passo)
IV = J (se o rotor avança de J para K, o rotor seguinte avança um passo)
V = Z (se o rotor avança de Z para A, o rotor seguinte avança um passo)
VI, VII e VIII = Z + M (se o rotor avança de Z para A, ou de M para N o rotor seguinte avança um passo)
Anel de ajuste ou Ringstellung
Os anéis de ajuste ou 'Ringstellung' são usados para alterar a posição da fiação interna do rotor. Estes
anéis não alteram o entalhe nem o anel do alfabeto na parte exterior do rotor. Estes são fixos. Ajustando
o 'Ringstellung' alteram-se, portanto as posições da fiação, o ponto de avanço e a posição inicial.
Como exemplo, vamos tomar o rotor tipo I sem qualquer ajuste do anel de ajuste. Você poderá notar
que um “A” é cifrado como “E”, um “B” cifrado como “K”, e um “K” cifrado como “N”. Note que cada letra
é cifrada em uma diferente.
Input = ABCDEFGHIJKLMNOPQRSTUVWXYZ (lado direito do rotor)
||||||||||||||||||||||||||
I
= EKMFLGDQVZNTOWYHXUSPAIBRCJ
Quando o rotor avança um passo, você deve levar em conta o deslocamento para saber qual é a saída,
e onde ela entra no rotor seguinte. Se, por exemplo, o rotor I está na posição B, a letra “A” entra como
“B” que está conectado à “K”. Por causa do deslocamento de um passo, este “K” entra no rotor seguinte
na posição “J” (supondo que o rotor seguinte é o rotor II – veja tabela na página anterior).
O anel de ajuste gira a fiação. Se o rotor I na posição A normalmente cifra uma letra “A” como “E”, com
o anel de ajuste deslocado para B-02 cifra a letra “A” como “K”.
O Refletor ou Umkehrwalze
O refletor, Umkehrwalze ou UKW em alemão, é uma característica única da máquina Enigma. Com a
fiação nos rotores móveis, cada letra pode ser conectada a qualquer outra letra. Uma letra “A” pode ser
conectada a “F” (rotor I), onde “F” está conectada a “K” (rotor II). No refletor as conexões são aos pares.
No caso do refletor B largo, o “A” está conectado a “Y” o que significa que “Y” está conectado a “A”,
resultando em uma cifração recíproca. A vantagem para o operador é clara. A cifração e decifração são
possíveis com o mesmo ajuste da máquina e da fiação. Infelizmente, uma letra nunca pode ser cifrada
nela mesma, e esta característica abriu a porta para os criptoanalistas, tornando mais fácil o trabalho de
decifração dos códigos.
Contacts
= ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
Reflector B = YRUHQSLDPXNGOKMIEBFZCWVJAT
O mecanismo de avanço dos rotores
Se falarmos nas posições dos rotores, a seguinte notação é usada comumente: V, I, III significa que o
rotor da esquerda é do tipo V, o central é tipo I e o da direita é do tipo III. Os rotores parecem funcionar
como um odômetro comum, mas há algumas diferenças importantes, devidas ao sistema de linguetas e
alavancas. Se o ponto de avanço do rotor de tipo I é Q, significa que o rotor seguinte à esquerda vai
avançar um passo quando o rotor à direita avança um passo de Q para R. Além disso, e isto é
importante, o rotor médio estará em sua própria posição de avanço de um passo. Isto é chamado de
avanço de passo duplo. E isso resulta em uma seqüência como no exemplo:
KDP, KDQ, KER, LFS (Rotores III, II, I são usados neste exemplo)
Como você vê, ao pressionar uma tecla o avanço de um passo de Q para R provoca o avanço do rotor
médio e no passo seguinte de R para S o rotor médio avança de novo e o terceiro rotor também avança
um passo. Este comportamento estranho tem uma razão simples.
Há três alavancas que são acionadas quando uma tecla é pressionada. Cada alavanca fica posicionada
em parte no anel de índice (aquele que tem um entalhe) do rotor da direita, e em parte posicionada
sobre os 26 dentes da catraca do rotor da esquerda (olhando do ponto de vista do operador). Se a parte
da direita da alavanca não estiver sobre o entalhe de índice do rotor da esquerda ela acionará o rotor da
direita.
Se o rotor da direita avançou um passo e a alavanca do meio (por pressão de mola) engatar no entalhe
de índice do rotor da direita, ela engata o dente do rotor médio, e provoca o avanço de um passo do
rotor médio. O mesmo ocorre quando o entalhe do rotor médio permite que a alavanca engate no dente
do rotor da esquerda (Terceito rotor).
Entretanto, um evento especial ocorre neste momento. O rotor avança não apenas se seus dentes são
engatados, mas também quando a alavanca engata no seu entalhe. Temos agora uma seqüência
completa do duplo-passo do rotor médio. O rotor da direita avança um passo e faz com que o rotor
médio avance um passo a mais. Se o rotor médio moveu-se para a sua posição do entalhe, no passo
seguinte a alavanca da direita empurra o dente do rotor da direita, e este também empurra o rotor médio
um passo a mais, provocando um segundo avanço. Note que os rotores VI, VII e VIII tem dois entalhes
o que quer dizer que os rotores à sua esquerda avançarão duas vezes mais depressa que os rotores
normais de um entalhe.
O mecanismo de avanço, como explicado, é usado na Enigma da Wehrmacht e da Kriegsmarine. A
Enigma de quatro rotores Kriegsmarine M4 é uma modificação da versão de três rotores sem alteração
do mecanismo e sem adição de uma quarta lingüeta. Portanto o quarto rotor não se move e pode
apenas ser ajustado manualmente. Na Enigma-G, usada pela Abwehr (Inteligência Alemã) tem um
mecanismo diferente. Na Enigma-G há um refletor rotativo e três rotores com múltiplos entalhes, e gira
acionado por engrenagem.
O poder criptográfico
A combinação dos tipos de rotores e sua ordem, os ajustes dos anéis, os plugues e a posição inicial é o
que faz a Enigma ser tão complicada e permite as espantosas 1023 possíveis combinações, ou cem
sextilhões, isto é, 100.000.000.000.000.000.000.000.
Outros Modelos da Enigma
Existem vários outros modelos da Enigma que foram fabricados, tanto civis quanto militares. As forças
de segurança da Alemanha usaram uma variante com rotores contendo letras e algarísmos e outras
versões foram produzidas sem o painel de plugues, com uma caixa de lâmpadas externa, com rotores
com fiação diferente, etc.
As fiações aqui descritas são dos rotores das Enigmas da Wehrmacht, Luftwaffe e Kriegsmarine
apenas. Os rotores de outras versões da Enigma tem fiações internas diferentes.
História da Máquina de Cifração Enigma
A emocionante e real história da famosa máquina de cifração
Enigma combina informações sobre uma tecnologia engenhosa,
sobre história militar e o misterioso mundo da espionagem, dos
criptoanalistas e dos serviços de inteligência. Nunca o destino de
tantas pessoas foi influenciado por uma máquina de cifração como
na II Guerra Mundial. A Enigma é a mais famosa máquina e é um
exemplo interessante da batalha entre os criptógrafos e os
criptoanalistas. A Enigma mostrou a importância da criptografia na
inteligência civil e militar.
Origens da Enigma
Nos primeiros anos dos 1900 ocorreu a necessidade de manter
sigilosas as comunicações por meios sem fio, tanto militares quanto
civis. Iniciou-se então uma busca por um método mais prático que
substituisse a cifração manual extremamente demorada. Em 1917, o
americano Edward Hugh Hebern desenvolveu uma máquina de
cifração com discos rotativos, cada disco realizando uma cifração
por substituição. A idéia de Hebern deu origem a muitas máquinas similares desenvolvidas em vários
outros países.
Em 1918, o engenheiro Arthur Scherbius patenteou uma máquina de cifração usando rotores. A
Marinha Alemã e o Ministério de Relações Exteriores foram contatados, mas não se interessaram. Em
1923, os direitos de patente passaram para a Chiffriermaschinen-AG, a firma que tinha Scherbius como
um dos diretores, e que passou a comercializar a máquina. Em 1927 Scherbius comprou a patente de
máquina similar da Dutchman Koch, de modo a assegurar sua própria patente e que lhe foi concedida
em 1925.
A primeira máquina de cifração, Enigma A, chegou ao mercado em 1923. Era grande e pesada com
uma máquina de escrever acoplada e pesava cerca de 50 kg. Logo após, foi introduzida a Enigma B,
muito similar. O peso e tamanho dessas máquinas não eram muito atrativos para uso militar. A inclusão
do refletor, uma idéia de Wili Korn, colega de Scherbius, tornou possível o projeto da Enigma C, muito
mais leve. A máquina de escrever também foi substituída por um painel de lâmpadas. Em 1927, a
Enigma D foi introduzida e comercializada em diversas versões, e vendida em toda a Europa tanto para
serviço militar quanto diplomático.
O exército suíço usava a Enigma K. A marinha italiana comprou a Enigma D comercial, tal como fez a
Espanha durante a guerra civil espanhola. Vários serviços de inteligência tiveram sucesso em decifrar
algumas versões civis e militares. Os criptoanalistas britânicos, por exemplo, decifraram a Enigma
espanhola que operava sem o painel de plugues. O Japão usou a Enigma T, também chamada Enigma
Tirpitz, uma adaptação da versão Enigma K. O Japão também desenvolveu sua própria versão com
rotores colocados na horizontal. Tanto as mensagens do modelo T quanto K foram decifradas por
alguns serviços de inteligência.
Versões militares
A marinha alemã comprou a Enigma comercial em 1926 e a adaptou para uso militar. Foi denominada
de Funkschlüssel C. Em 1928, o Serviço Secreto Alemão Abwehr, a Wehrmacht e a Luftwaffe tiveram
suas próprias versões, a Enigma G de 12 quilos, também chamada Zählwerk Enigma por causa do
contador no painel dianteiro. Este modelo tinha uma caixa de engrenagens para dar avanço aos rotores,
um refletor rotativo, mas não tinha o painel de plugues. A Wehrmacht modificou essa máquina
adicionando um painel de plugues e um mecanismo diferente de avanço dos rotores. Esta versão, a
Enigma I, tornou-se conhecida como a Wehrmacht Enigma e foi introduzida em larga escala nas forças
militares e nos serviços públicos. A Luftwaffe acompanhou a dianteira da Wehrmacht em 1935. A
Enigma Wehrmacht tinha inicialmente três rotores. De 1939 em diante elas foram equipadas com cinco
rotores.
Em 1934 a marinha alemã adotou o modelo da Wehrmacht, com o painel de plugues, e aumentou o
número de rotores para oito. A máquina da marinha foi chamada de Funkschlüssel M ou M3. Em 1941,
embora a Abwehr assegurasse que a Enigma M3 era indecifrável, o Almirante Karl Dönitz insistiu em
um melhoramento da Kriegsmarine Enigma. No início de 1942 o famoso modelo de quatro rotores M4
foi introduzido na Kriegsmarine. Estima-se que foram fabricadas cerca de 100.000 máquinas.
Quebrando o código
O Biuro Szyfrow (Agência de Códigos) da Polônia iniciou as tentativas de análise e quebra dos códigos
da Enigma em 1932. O chefe da Agência recebeu cópias de livros de chaves comprados do espião
alemão Thilo Schmidt, porém não as passou aos seus criptoanalistas. Pensava que detendo essa
informação estimularia seus esforços. Marian Rejewski, Henryk Zegalski e Jerzy Różycki conseguiram
quebrar os códigos da Enigma e desenvolveram uma máquina eletro-mecânica chamada Bomba, para
melhorar a rapidez do processo de criptoanálise. Havia duas grandes falhas nos procedimentos usados
na máquina Enigma alemã: o ajuste inicial e o duplo código da mensagem-chave, procedimento este
para evitar erros. Essas falhas abriram as portas para a criptoanálise. Em 1939 o Bureau já não
conseguia mais decifrar os códigos por causa da sofisticação no projeto, pelos novos procedimentos e a
falta de fundos financeiros. Às vésperas da invasão da Polônia pela Alemanha, o Biuro entregou todo o
saber e várias réplicas da Enigma para a inteligência francesa e inglesa.
Bletchley Park
A Government Code and Cipher School (Escola Pública de Cifras e Códigos) em Bletchley Park decifrou
a Enigma inicialmente a mão. Em agosto de 1940 iniciaram o uso de suas próprias Bombas projetadas
por Alan Turing e Gordon Welchman. Era um dispositivo eletro-mecânico rotativo, porém operava
segundo um princípio inteiramente diferente da Bomba de Rejewski. A Bomba de Turing buscava os
ajustes da Enigma usando um trecho de texto e de código. Quando a mensagem da Enigma era
interceptada os analistas procuravam por “palpites” (“cribs”). Os “palpites” eram pedaços de texto que
se supunha estarem dentro de uma mensagem. Poderia ser "An den Oberbefehlshaber", "An Gruppe",
"Es lebe der Fuhrer" ou qualquer pedaço padrão de texto. Uma vez que um palpite era localizado (havia
certas técnicas para isso) as associações entre as letras das cifras e suas versões de texto eram
colocadas nas entradas das Bomba. A Bomba continha uma grande quantidade de tambores, cada um
uma réplica dos rotores da Enigma, e girava através de todos os possíveis ajustes que pertenceriam
àquelas cifras e textos. Quando esses ajustes eram encontrados todas as mensagens cifradas com este
ajuste podiam ser decifradas.
Todas as informações recuperadas pela criptoanálise, ou seja, a quebra dos códigos, recebeu o nome
de “Ultra” e teve um papel muito importante e muitas vezes decisivo durante a guerra, especialmente na
Batalha do Atlântico. Toda a informação Ultra foi usada com cuidado de modo a evitar suspeitas entre
as forças da Alemanha. Oficiais especiais de ligação, treinados para tratar deste conhecimento valioso e
delicado, foram aquartelados em locais estratégicos. Ultra somente era usada depois de ser confirmada
por uma segunda fonte para evitar que o Comando Alemão tivesse razões para suspeitar que suas
comunicações estariam sendo decifradas.
A Kriegsmarine
A Kriegsmarine Alemã teve grande sucesso no uso de sua “Rudeltaktik” ou "Wolfpack Tactics" em seus
U-Boat (submarinos). Caçavam individualmente por comboios. Quando um comboio era localizado, eles
escondiam-se e chamavam outros U-Boat para a batalha. Quando chegavam ao local afundavam o
comboio com um ataque coordenado e fulminante. Essa técnica foi tão devastadora para os
suprimentos que os aliados pensaram em abandoná-los. A comunicação era a chave e os U-Boat
usavam a Enigma para enviar as mensagens para coordenar os ataques. Depois de um árido período
inicial, Bletchley Park decifrou o código naval quase que continuamente. O decréscimo da eficiência de
seus U-Boat fez o Almirante Dönitz suspeitar e, apesar da inteligência alemã assegurar-lhe que a
Enigma era segura, insistiu na melhoria da segurança da Enigma. No início de 1942 a famosa máquina
de 4 rotores foi introduzida na Kriegsmarine e os complicados códigos “Shark” causaram uma crise em
Bletchley Park. A Kriegsmarine considerou a primavera de 1942 como “Tempos Felizes” porque as
forças aliadas não conseguiam decifrar os códigos e os U-Boat continuaram a afundar navios sem muita
interferência.
Mudança de maré
Por meio da criptoanálise, os criptoanalistas de Bletchley Park descobriram que os códigos de batalha
envolviam um quarto rotor. Após dez meses de enormes perdas, Bletchley Park obteve sucesso em
quebrar o “Shark”. Isso se deve a várias razões. Um importante fator foi o livro de chaves WetterKurzschlüssel, recuperado durante ataques contra os U-Boat, como no caso do ataque contra o U-559
do Kapitänleutnant Hans Heidtmann pelo HMS Petard britânico. Depois de receber pesados tiros do
HMS Petard o U-Boat foi abordado por três marinheiros britânicos antes de afundar. Conseguiram se
apossar da Enigma e dos livros de código Kurzsignale. Dois deles voltaram para tentar encontrar a
Enigma de quatro rotores, mas afundaram com o submarino. Esta missão provou ser uma reviravolta na
quebra do “Shark”.
Devido à falta de palpites algumas vezes em Bletchley Park usou-se uma técnica denominada
jardinagem. Bombardeiros britânicos plantavam séries de minas marinhas em locais determinados. Os
U-Boat alemães transmitiam mensagens de localização quando as encontravam e isso fornecia novos
palpites aos criptoanalistas. Comunicações pelo rádio entre os U-Boat sobre previsão de tempo
codificadas pela Wetter-Kurzschlüssel eram enviadas pela Enigma de 4 rotores no modo menos
complicado da Enigma M3. Isso era realizado para compatibilizar com a Enigma M3 que era usada
pelos navios de meteorologia. As Bombas de Bletchley Park, desenvolvidas para decifrar a Enigma de
três rotores, levava 20 dias para decifrar os ajustes da Enigma de quatro rotores. Os ajustes de três
rotores podiam ser recuperados em 24 horas. Novas Bombas foram desenvolvidas para lidar com a
Enigma de quatro rotores. Em junho de 1943 as primeiras Bombas de quatro rotores entraram em
funcionamento e por volta do final de 1943 outras cinqüenta Bombas de quatro rotores ficaram
operacionais na marinha americana. No outono de 1943, mensagens “Shark” eram decifradas em geral
em menos de 24 horas.
A maré dos U-Boat mudou. Exceto por alguns breves períodos, todo o sistema de comunicações
alemão foi interceptado por um grande número de estações de escuta chamadas estações-Y e os
códigos decifrados em Bletchley Park, onde cerca de 700 operários chegaram a ser empregados. Com
o conhecimento das posições dos U-Boat, navios aliados podiam agora evitar o inimigo e uma caçada
ativa iniciou-se. A arma elite da Kriegsmarine foi dizimada, resultando em graves perdas de suas
tripulações. Estima-se que cerca de 700 U-Boat e 30.000 marinheiros perderam-se no mar. O comando
alemão relacionou essas perdas a uma nova técnica de detecção como o sistema de sonar ASDIC,
aviões de detecção de submarinos e destróieres de escolta de comboios. Não suspeitaram da
criptoanálise da Enigma.
Ultra foi mantida secreta durante toda a guerra e teve um papel decisivo não apenas no Atlântico. Por
decifrar mensagens da Wehrmacht e da Luftwaffe se provou crucial. Os criptoanalistas descobriram os
pontos fracos do notório Africa Korps do Marechal de Campo Rommel. A rapidez do sucesso do África
Korps criou enormes problemas de defesa nas linhas de suprimento militares. As informações Ultra
permitiram ao Marechal de Campo Montgomery obter um avanço tático vital. Nos dias que antecederam
o Dia-D da invasão da Normandia, sem perceber a Wehrmacht forneceu os aliados uma enorme
quantidade de informações sobre as defesas na costa, locais e poder de todas as divisões de tanques e
o movimento das tropas na França. Especialistas estimam que, decifrando a Enigma, a guerra tenha
durado três anos menos. O número de vidas salvas foi incontável. A Alemanha permaneceu usando a
Enigma por toda a guerra sem suspeitar que seus segredos estavam sendo decifrados.
A herança da Enigma
Após a Segunda Guerra Mundial, a Enigma serviu de base para a construção de máquinas mais
sofisticadas como a Suíça NEMA e a Russa M-125 Fialka. Apesar da Enigma ter sido bem projetada, e
oferecendo cifração segura naquela época, o uso negligente pelas Forças Armadas da Alemanha e a
captura de material comprometedor de livros de chaves, permitiu aos criptoanalistas tornar o maior
segredo de guerra em um cavalo de Tróia, dando um pontapé inicial na inteligência criptográfica.
Atualmente a criptografia é considerada como parte vital na guerra moderna.
© Dirk Rijmenants 2004-2007
Tradução: Czeslau L. Barczak 2008
Websites interessantes sobre a máquina de cifração Enigma
Cipher Machines & Cryptology, the Enigma Sim home page
http://users.telenet.be/d.rijmenants
Tom Perera's Enigma Museum:
http://w1tp.com/enigma
Frode’s Crypto Cellar no CERN:
http://frode.home.cern.ch/frode/crypto
David Hamer’s cryptology website:
http://home.comcast.net/~dhhamer
Bletchley Park official site:
http://www.bletchleypark.org.uk
Enigma pages por Tony Sale:
http://www.codesandciphers.org.uk/enigma
O uso do código naval 'Shark' nos U-boats e como foi decifrado
http://www.uboat.net/technical/enigma.htm
Decifrando uma mensagem original, a mensagem-chave dupla e o Kenngruppen
http://home.earthlink.net/~nbrass1/1enigma.htm
Historia da solução da cifração Enigma:
http://www.enigmahistory.org/enigma.html
Download

MANUAL DO ENIGMA SIM v6.4