Introdução à Criptografia

Page 1

Marcelo Ferreira Zochio

Novatec


© Novatec Editora Ltda. 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates MP20160809 Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Smirna Cavalheiro Editoração eletrônica: Carolina Kuwabata Capa: Carolina Kuwabata ISBN: 978-85-7522-515-8 Histórico de impressões: Agosto/2016

Primeira edição

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec


capítulo 1

Sistemas criptográficos históricos

A cifra de César A primeira cifra de que se tem notícia no mundo ocidental é a cifra de César. Como todas as cifras primitivas, ela se baseava em cifras de substituição monoalfabéticas. A Figura 1.1 explica seu funcionamento.

Figura 1.1 – Funcionamento da cifra de César. Fonte: SETESYS (2016).

Como podemos notar, move-se cada letra do alfabeto três posições adiante no alfabeto da língua usada nas mensagens. A referência histórica a essa cifra é citada por Suetonius: “Se ele tinha qualquer coisa confidencial a dizer, ele escrevia cifrado, isto é, mudando a ordem das letras do alfabeto, para que nenhuma palavra pudesse ser compreendida. Se alguém deseja decifrar a mensagem e entender seu significado, deve substituir a quarta letra do alfabeto, a saber ‘D’, por ‘A’, e assim por diante com as outras”. (Suetonius, De Vita Caesarum, Divus Iulius, LVI.) 24


Capítulo 1 ■ Sistemas criptográficos históricos

25

No original: “Extant et ad Ciceronem, item ad familiares domesticis de rebus, in quibus, si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.” (Suetonius, De Vita Caesarum, Divus Iulius, LVI).

Matemática da cifra de César • Cifragem: C=(N+3) mod 26 onde: C = Texto cifrado 3 = Deslocamento N = Texto puro • Decifragem: N=(C-3) mod 26

Exemplo de cifragem O texto plano “Esta sala está estudando criptografia”, ao ser criptografado com a cifra de César, fica: HVWDVDODHVWDHVWXGDQGRFULSWRJUDILD

Criptoanálise para a cifra de César e similares Todo idioma possui letras que são usadas mais que as outras, ou seja, aparecem com mais frequência. A Figura 1.2 mostra a frequência de letras no idioma português.


26

Introdução à Criptografia

Figura 1.2 – Frequência das letras no idioma português. Fonte: UFRJ (2010).

Considere a mensagem cifrada citada anteriormente: HVWDVDODHVWDHVWXGDQGRFULSWRJUDILD Sabendo-se que o idioma é o português, as frequências são:

H=3 V=4 W=4 D=7 O=1 G=2 R=1 S=1 J=1 I=1 L=2

Considerando a hipótese de ter sido usada a cifra de César, as frequências indicam que “D” poderia ser “A”, pois o A é a letra de maior incidência no português; há um grupo HVWD que aparece duas vezes, indicando possivelmente a mesma palavra; o grupo HV aparece três vezes. Separando a mensagem em grupos de 4 letras (para facilitar a descoberta do grupo HVWD) e substituindo as letras: HVWA VAOA HVWA HVWX GAQG RFUL SWRJ UAILA Testamos os diferentes deslocamentos das letras pelo alfabeto; o número possível de deslocamentos é 25. Comecemos por 25 letras à esquerda com o tetragrama HVWA, decrescendo a contagem até descobrir alguma palavra existente no idioma português. Os resultados seguem: 25 letras = IWXE 24 letras = JXYF 23 letras = KYZG 22 letras = LZAH 21 letras = MABI 20 letras = NBCJ 19 letras = OCDK 18 letras = PDEL 17 letras = QEFM 16 letras = RFGN


Capítulo 1 ■ Sistemas criptográficos históricos

27

15 letras = SGHO 14 letras = THIP 13 letras = UIJQ 12 letras = VJKR 11 letras = WKLS

10 letras = XLMT 9 letras = YMNU 8 letras = ZNOV 7 letras = AOPW 6 letras = BPQX

5 letras = CQRY 4 letras = DRSZ 3 letras = ESTA 2 letras = FTUB 1 letra = GUVC

Sabe-se então que as letras HVWA significam respectivamente ESTA. Substituindo no texto cifrado:

ESTA SAOA ESTA ESTX GAQG RFUL STRJ UAILA

A substituição com três deslocamentos deu certo ao encontrar uma palavra em português; portanto, esta é a substituição-padrão. Substituindo o resto, obedecendo à regra do deslocamento de três em três, temos: ESTASALAESTAESTUDANDOCRIPTOGRAFIA

Ordenando:

ESTA SALA ESTÁ ESTUDANDO CRIPTOGRAFIA

Transposições geométricas Quando as cifras de substituição monoalfabéticas se tornaram frágeis, havia a necessidade de outra cifra que fosse mais robusta. Criou-se então o método de transposição. Cifras que se baseiam em transposições trocam os caracteres do texto plano de lugar, embaralhando a mensagem original seguindo um padrão. A seguir será descrito o funcionamento de algumas cifras de transposição geométricas.

Transposição colunar simples A entrada do texto plano é feita por linha e a saída em coluna usando uma matriz (Tabela 1.1). Exemplo: os rapazes são capazes.


28

Introdução à Criptografia Tabela 1.1 – Transposição colunar simples O

S

R

A

P

A

Z

E

S

S

A

O

C

A

P

A

Z

E

S

O texto criptografado fica: OAAASZOZRECEASASPSP

Transposição linear simples A entrada do texto plano é feita por coluna e a saída em linha usando uma matriz (Tabela 1.2). Usando o mesmo exemplo anterior: Tabela 1.2 – Transposição linear simples O

P

S

C

Z

S

A

S

A

E

R

Z

A

P

S

A

E

O

A

O texto criptografado fica: OPSCZSASAERZAPSAEOA

Transposição colunar com chave numérica Acrescentamos uma chave numérica para criptografar o texto plano. A chave numérica é baseada em uma palavra ou frase. Para produzir uma chave numérica a partir da chave, as letras são numeradas em ordem alfabética e as letras repetidas são numeradas em sequência da esquerda para a direita (Tabela 1.3). Como exemplo usaremos a palavra-chave “urubu”: Tabela 1.3 – Transposição colunar com chave numérica U

R

U

B

U

3

2

4

1

5


Capítulo 1 ■ Sistemas criptográficos históricos

29

O

S

R

A

P

A

Z

E

S

S

A

O

C

A

P

A

Z

E

S

O texto criptografado fica: ASASSZOZOAAARECEPSP

Transposições por itinerário Esse tipo de transposição usa figuras geométricas nas quais é seguido determinado itinerário para inserir as letras do texto plano. A mais famosa é a rail fence (“paliçada”), que segue um padrão fixo em ziguezague (Tabela 1.4). Apesar de ser uma das cifras de transposição mais antigas, sua origem é desconhecida. Ela foi usada na Guerra Civil norte-americana (1861-1865), quando os confederados e os federalistas a usaram para cifrar suas mensagens. Usando o exemplo anterior: Tabela 1.4 – Transposição por itinerário com duas linhas O

R S

P A

Z A

S E

A S

C O

P A

Z A

S E

O texto criptografado resulta na string: ORPZSACPZSSAAESOAAE Outro exemplo com três linhas (Tabela 1.5), usando a mesma frase: Tabela 1.5 – Transposição por itinerário com três linhas O

P S

A R

S A

E Z

C S

O A

O texto criptografado resulta na string: OPSCZSAAESOAAERZAPS

Z A

A P

E S


30

Introdução à Criptografia

Triângulo com saída por colunas Usando como exemplo a string “Atacar os doces pelos flancos”, a montagem resulta na Tabela 1.6. Tabela 1.6 – Transposição por triângulo com saída por colunas A

O

T

A

C

A

R

O

S

D

O

C

E

S

P

E

L

S

F

L

A

N

C

O

S

Lendo da esquerda para a direita, a saída por colunas resulta na string: OOSACFTRELAAOSACSPNDECLOS

Entrada por espiral externa com saída por colunas Usando o mesmo exemplo anterior, temos como resultado a Tabela 1.7. Tabela 1.7 – Transposição por entrada em espiral externa com saída em colunas A

T

A

C

A

O

D

S

O

R

C

E

S

P

E

L

F

S

O

L

S

O

C

N

A

Lendo da esquerda para a direita, a saída por colunas resulta na string: AOCLSTDEFOASSSCCOPONARELA

Entrada em diagonal com saída por coluna Usando o mesmo exemplo anterior, temos como resultado a Tabela 1.8.


Capítulo 1 ■ Sistemas criptográficos históricos

31

Tabela 1.8 – Transposição por entrada em diagonal com saída por coluna A

A

R

O

E

T

A

D

P

F

C

S

S

S

N

O

E

O

A

S

C

L

L

C

S

Lendo da esquerda para a direita, a saída por colunas resulta na string: ATCOCAASELRDSOLOPSACEFNSS

Entrada por espiral interna com saída por diagonal Usando o mesmo exemplo anterior, temos como resultado a Tabela 1.9. Tabela 1.9 – Transposição por espiral interna com saída diagonal A

N

C

O

S

L

O

S

D

O

F

R

A

T

C

S

A

C

A

E

O

L

E

P

S

Lendo da esquerda para a direita, a saída por colunas resulta na string: OSLFAELCRPAOAASNSTECDCOOS

Entrada em padrão L com saída por espiral externa Usando o mesmo exemplo anterior, temos como resultado a Tabela 1.10. Tabela 1.10 – Transposição em padrão L com saída em espiral externa A

L

O

N

C

T

E

S

A

O

A

P

F

L

S

C

S

E

C

O

A

R

O

S

D


32

Introdução à Criptografia

Lendo da esquerda para a direita, a saída por colunas resulta na string: ALONCOSODSORACATESALCESPF

Criptoanálise de cifras de transposição Em geral, transposições são um tanto complexas para serem quebradas manualmente e requerem muitas tentativas. As transposições simples oferecem menor dificuldade porque a solução aparece assim que é determinado o tamanho da matriz usada. Segue um exemplo de texto cifrado: ETIAESUPPSTDTOTAAOREMNGMLODREISOAIVECFORSRADO O primeiro passo para tentar quebrar essa criptografia é saber qual o idioma do texto plano. Para que isso seja possível, é preciso realizar a análise de frequência das letras no texto. Como já comentado, cada idioma possui uma frequência com que certas letras aparecem em um texto escrito nele. Nas Figuras 1.3 e 1.4 há exemplos com gráficos em porcentagem em inglês e espanhol, respectivamente (em português consta na Figura 1.2).

Figura 1.3 – Frequência das letras no idioma inglês. Fonte: Cornell (2004).


Capítulo 1 ■ Sistemas criptográficos históricos

33

Figura 1.4 – Frequência das letras no idioma espanhol. Fonte: Pratt (1939).

Realizando uma análise de frequência no texto criptografado do exemplo, obtemos o resultado da Figura 1.5.

Figura 1.5 – Resultado da análise de frequência.

Na análise, podemos notar uma boa ocorrência das vogais A (8), E (3), I (4) e O (4), tratando-se provavelmente do idioma português ou espanhol, ou até mesmo italiano. Como o A é predominante, tende a ser português, pois essa letra é a mais comum nesse idioma.

Determinando o tipo de cifra Para determinar o tipo de cifra usada, usamos uma ferramenta chamada Índice de Coincidência, que pode revelar se foi usada cifra de transposição/substituição monoalfabética ou de uma substituição polialfabética.


34

Introdução à Criptografia

Como calcular o Índice de Coincidência (Kappa) O Índice de Coincidência (IC) indica a probabilidade de dois caracteres de um texto cifrado, escolhidos ao acaso, corresponderem à mesma letra. Em 1920, Friedman publicou The Index of Coincidence and Its Application in Cryptography, que trata deste assunto. O IC é utilizado para determinar se um texto criptografado foi submetido ou não à substituição monoalfabética. Quando seu valor estiver ao redor de 0,762 ou for maior que este valor, a probabilidade de o texto original ter sido submetido a uma substituição monoalfabética em sua cifragem é muito alta. Se o índice for muito menor que 0,762, então o texto original deve ter sido submetido a uma substituição polialfabética em sua cifragem. Cada idioma possui um IC próprio porque a frequência da ocorrência das letras é peculiar a cada um deles e essa condição altera o IC. Veja o exemplo a seguir. Como mensagem original, usaremos a seguinte afirmação de Stanislaw Ponte Preta: “Pênalti é uma coisa tão importante que quem deveria bater é o presidente do clube.”

Para uniformizar o cálculo, serão usadas apenas letras minúsculas. Usando a cifra de César, obtemos a seguinte mensagem cifrada: shqdowlhxpdfrlvdwdrlpsruwdqwhtxhtxhpghyhuldedwhuhrsuhvlghqwhgrfoxeh

A frequência da ocorrência das letras deste texto é mostrada na Tabela 1.11. Tabela 1.11 – Frequência das letras no texto cifrado Frequência 0 0 0 7 2 2 3 13 0 0 0 5 0 0 2 3 3 5 3 2 4 2 6 4 1 0 Alfabeto

a b c d e f g h i j k l m n o p q r s t u v w x y z

Primeira etapa A fórmula a seguir, elaborada por Friedman (1987), permite calcular a probabilidade da ocorrência de cada uma das letras do alfabeto num texto cifrado. n1 corresponde a A e n ao número total de letras do texto analisado. Repetimos o cálculo com n2 para B até n26 para Z.


Capítulo 1 ■ Sistemas criptográficos históricos

35

Exemplo: a letra “d” ocorre sete vezes no texto, portanto basta calcular n4(n4-1) = 7 × (7 - 1) = 42. Agora calcule n(n-1) = 67 × (67 - 1) = 67 × 66 = 4.422. Conforme a fórmula, basta dividir um pelo outro, ou seja, 42/4.422 = 0,0095. Repetindo o cálculo para todas as outras letras, obtemos os resultados da Tabela 1.12. Tabela 1.12 – Resultados da primeira etapa do cálculo do IC A 0

N 0

B 0

O 0,0004

C 0

P 0,0013

D 0,0095

Q 0,0013

E 0,0004

R 0,0045

F 0,0004

S 0,0013

G 0,0013

T 0,0004

H 0,0352

U 0,0027

I 0

V 0,0004

J 0

W 0,0067

K 0

X 0,0027

L 0,0045

Y 0,0002

M 0

Z 0

Segunda etapa Basta somar os valores obtidos e teremos o Índice Kappa do texto: 0,0732. Este valor está arredondado porque foram usadas apenas quatro casas decimais após a vírgula. A fórmula da somatória dos Índices de Coincidência de cada letra para obtermos o Índice Kappa do texto é esta (Tkotz, 2005):


36

Introdução à Criptografia

A fórmula final do Índice Kappa Então, a fórmula que permite calcular o Índice Kappa de um texto, seja claro ou cifrado, simplificada, é (Tkotz, 2005):

Para obtermos o Índice de Coincidência devemos dividir o Índice Kappa pelo fator 0,0385. Calculando o Índice de Coincidência, obtemos o valor Kappa = 0,0732, que corresponde a um IC = 1,9012 (0,0732/0,0385), bem distante do IC de um texto randômico, que é igual a 1,0 (0,0385/0,0385). Portanto, praticamente confirmamos a hipótese de transposição. Como a distribuição da frequência das letras do texto cifrado segue um padrão próximo do português, podemos afirmar que se trata de uma transposição de um texto em português. Um IC alto, como o encontrado, é típico de idiomas como o português, o francês e o espanhol, porém apenas o português e o espanhol apresentam a letra E com uma frequência tão elevada.

Determinando o formato da matriz Em uma transposição, a primeira medida é determinar se a matriz é total ou parcialmente preenchida. Sabemos que os criptógrafos utilizam preferencialmente formatos quadrados ou retangulares. Se todas as células foram preenchidas para se obter o texto cifrado, então é necessário encontrar uma divisão exata para as 45 letras, que pode ser 9×5 ou 5×9, no caso de matriz cheia.


Capítulo 1 ■ Sistemas criptográficos históricos

37

No caso de matriz parcialmente preenchida, quando não achamos divisão exata, geralmente consideramos uma linha ou coluna a mais; então, devemos considerar, por exemplo, matrizes com tamanho 10×5, 5×10, 9×6, 6×9, entre outros próximos. Para decifrar corretamente o texto, a matriz correta a ser usada, nesse caso, é a 9×5; note que os números se invertem; se a mensagem foi criptografada com uma matriz 5×9, ela será decifrada dispondo a mensagem em uma matriz 9×5. Os métodos mais comuns de transposição são entrada por linha e saída por coluna, entrada por coluna e saída por linha e transposição de colunas com chave. Em todos esses métodos, o texto plano é obtido pelo processo inverso, uma entrada por linha e saída por coluna é decifrada com uma entrada por coluna e saída por linha. Aplicando esse processo na matriz 9×5, obtemos:

ETIAE SUPPS TDTOT AAORE MNGML ODREI SOAIV ECFOR SRADO Lendo em coluna, da esquerda para a direita, obtemos: ESTAMOS ESTUDANDO CRIPTOGRAFIA POR MEIO DESTE LIVRO No mesmo processo, na matriz 5×9 obtemos:

ETIAESUPP STDTOTAAO


38

Introdução à Criptografia

REMNGMLOD REISOAIVE CFORSRADO Lendo em coluna, da esquerda para a direita, obtemos uma mensagem ilegível. Outro exemplo com matriz de divisão inexata: ESNADESAOOOLSLSTSAEUSOD A mensagem possui 23 letras; logo, levando em consideração uma matriz maior, podem ser usadas matrizes tais como 12×2, 2×12, 6×4, 4×6, 3×8, 8×3. Criptografando com uma matriz de 6 linhas 4 colunas:

ESSE SALU NOSS AOTO DOSD ELA Obtemos o texto: ESNADESAOOOLSLSTSAEUSOD Decifrando com uma matriz 4×6, obtemos:

ESNADE SAOOOL SLSTSA EUSOD Lendo em coluna, da esquerda para a direita, obtemos a mensagem:

ESSES ALUNOS SÃO TODOS DE LÁ


Capítulo 1 ■ Sistemas criptográficos históricos

39

Cifra de Vigenère Com a evolução da criptoanálise nas cifras de substituição, havia a necessidade de se modificar o modo de criptografar mensagens. Blaise de Vigenère, nascido em 1523, criou a chamada cifra de Vigenère, lançando o conceito da substituição polialfabética reforçada pelo uso de uma chave. A segurança da cifra era alta para a época – hoje é considerada baixa. Oficialmente, foi somente em 1863 que o alemão Kasiski descobriu como quebrar a cifra de Vigenère. O matemático inglês Charles Babbage já havia quebrado a cifra em 1854, fato que ficou desconhecido por muito tempo porque não publicou sua descoberta.

Como funciona a cifra de Vigenère Veja a Tabela 1.13. O cabeçalho dela (a linha superior) é o alfabeto e a coluna lateral esquerda mostra o deslocamento dos caracteres. Na linha 0, entra o alfabeto com deslocamento 0; na linha 1 os caracteres são deslocados em uma posição (o alfabeto começa com a letra B); na linha 2 os caracteres são deslocados em duas posições, e assim sucessivamente. Para cifrar a primeira letra do texto claro com a primeira letra da chave, procuramos a letra do texto claro no cabeçalho e a letra da chave na coluna da esquerda. A letra encontrada na intersecção das duas referências será a substituta da letra do texto claro. Por exemplo, uma letra D do texto claro com a chave G será substituída pela letra J. Tabela 1.13 – Tabela de Saint Cyr. Fonte: UFSCar (2016) 0 1 2 3 4 5 6 7 8 9

A A B C D E F G H I J

B B C D E F G H I J K

C C D E F G H I J K L

D D E F G H I J K L M

E E F G H I J K L M N

F F G H I J K L M N O

G G H I J K L M N O P

H H I J K L M N O P Q

I I J K L M N O P Q R

J J K L M N O P Q R S

K K L M N O P Q R S T

L L M N O P Q R S T U

M M N O P Q R S T U V

N N O P Q R S T U V W

O O P Q R S T U V W X

P P Q R S T U V W X Y

Q Q R S T U V W X Y Z

R R S T U V W X Y Z A

S S T U V W X Y Z A B

T T U V W X Y Z A B C

U U V W X Y Z A B C D

V V W X Y Z A B C D E

W W X Y Z A B C D E F

X X Y Z A B C D E F G

Y Y Z A B C D E F G H

Z Z A B C D E F G H I


40 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Introdução à Criptografia K L M N O P Q R S T U V W X Y Z

L M N O P Q R S T U V W X Y Z A

M N O P Q R S T U V W X Y Z A B

N O P Q R S T U V W X Y Z A B C

O P Q R S T U V W X Y Z A B C D

P Q R S T U V W X Y Z A B C D E

Q R S T U V W X Y Z A B C D E F

R S T U V W X Y Z A B C D E F G

S T U V W X Y Z A B C D E F G H

T U V W X Y Z A B C D E F G H I

U V W X Y Z A B C D E F G H I J

V W X Y Z A B C D E F G H I J K

W X Y Z A B C D E F G H I J K L

X Y Z A B C D E F G H I J K L M

Y Z A B C D E F G H I J K L M N

Z A B C D E F G H I J K L M N O

A B C D E F G H I J K L M N O P

B C D E F G H I J K L M N O P Q

C D E F G H I J K L M N O P Q R

D E F G H I J K L M N O P Q R S

E F G H I J K L M N O P Q R S T

F G H I J K L M N O P Q R S T U

G H I J K L M N O P Q R S T U V

H I J K L M N O P Q R S T U V W

I J K L M N O P Q R S T U V W X

J K L M N O P Q R S T U V W X Y

Legenda: Alfabeto na linha cinza horizontal = letras da palavra-chave Alfabeto na linha cinza vertical = letras do texto plano

• Exemplo 1: Cifrar ESTOU ESTUDANDO CRIPTOGRAFIA com a palavra-chave SEGURO: WWZILSKXAXRBVSILZDLSMLRTAE • Exemplo 2: Cifrar TODOS IRÃO FICAR EM DP EM CRIPTOGRAFIA com a palavra-chave PROFESSOR: IFRTWAJOFUZQFVWERGTDQWMHLCXGRTNE A cifra de Vigenère segue o princípio da congruência, pois o valor de cada letra na tabela de Vigenère é congruente à soma dos valores da linha e da coluna à qual ela pertence, em módulo 26. A cifra de Vigenère pode ser vista algebricamente. Se as letras A-Z forem mapeadas nos números inteiros 1-26, e a operação módulo 26 for aplicada, a cifragem pode ser escrita como:

Ci ≡ Pi + Ki (mod 26)


Capítulo 1 ■ Sistemas criptográficos históricos

41

e a decifragem:

Pi ≡ Ci - Ki (mod 26) sendo:

C = Texto cifrado

P = Texto puro

K = Chave de criptografia

i =Índice

Criptoanálise da cifra de Vigenère Charles Babbage, um dos precursores dos computadores que viveu no século XIX, foi o primeiro a quebrar a cifra de Vigenère. A técnica de Babbage tentava descobrir o comprimento da chave, baseado na detecção de subcadeias repetidas na mensagem cifrada, calculando a distância entre elas, e é muito similar à técnica empregada por Kasiski. Considere o exemplo:

Texto plano: HÁ UM TEMPÃO QUE NÃO TEM PÃO.

Chave: ARARA

Texto cifrado: HRUDTEDPROQLEEAOKEDPAF

A subcadeia ED faz-se notar duas vezes; a distância entre elas são 10 dígitos. Veja: HRUDTEDPROQLEEAOKEDPAF Logo, a chave pode ter o tamanho de 10 dígitos ou 5 dígitos (máximo divisor comum entre 1 e 10). Normalmente, os números divisíveis pela distância costumam ser o comprimento da chave; às vezes, a própria distância pode ser o tamanho da chave. Então, nesse caso, testamos as possibilidades dentro de uma chave de 5 dígitos de comprimento, e caso não se obtenha uma mensagem clara, testamos as possibilidades numa chave de 10 dígitos, até obtermos uma mensagem clara em texto plano. Se houvesse mais números divisíveis,


42

Introdução à Criptografia

deveriam ser testados também. Note que a palavra “arara”, usada como chave, tem 5 dígitos de comprimento. Outro exemplo:

Texto plano: A CRIPTOGRAFIA CONTEMPORÂNEA UTILIZA AMPLAMENTE A CAPACIDADE DOS SISTEMAS COMPUTACIONAIS, ESPECIALMENTE FUNÇÕES MATEMÁTICAS. DAÍ, PARA A CORRETA COMPREENSÃO DOS REQUISITOS DE SISTEMAS CRIPTOGRÁFICOS, HÁ NECESSIDADE DO ESTUDO DOS FUNDAMENTOS MATEMÁTICOS APLICADOS À CRIPTOGRAFIA. (OLIVEIRA, 2016)

Chave: CRIPTOGRAFIA

Texto cifrado: C T Z X I H U X R F N I C T W C M S S G OWAV E C L BXEWFRARXLCDMCMSGTAUICKUISXRUJSNATGDIHVCSGUYICKFVPBGKJPJKICCUTGHKWUSCOMSORBTFAHOTAXLAIRRZPTQUIRJBAEFUEKSKESATLOUIMFNWYZTTADGJQHMSSRSHZIRKWVKATOTOXPANGTMHLWJRDJLOGJBJWCJFSKCNFRUTGHUJMFBEOAKQRHGGGLNKAFFAARKWVKOLZAHZI.

Podemos notar algumas cadeias de caracteres que se repetem, mas uma que chama a atenção é LO: ...LOUIMFNWYZTTADGJQHMSSRSHZIRKWVKATOTOXPANGTMHLWJRDJLO... O número 48 é múltiplo de 2, 4, 6, 8, 12 e 24. Portanto, a chave pode ter 2, 4, 6, 8, 12, 24 ou 48 dígitos de comprimento. A palavra “criptografia”, usada como chave, tem 12 dígitos. Podemos perceber por meio desses exemplos que uma chave que contém caracteres repetidos acaba tornando fácil a quebra do sigilo da mensagem; uma chave curta também causa o mesmo problema, pois aumenta a probabilidade de ocorrer repetição de cadeias de caracteres. Então, o ideal seria uma chave em que os caracteres não se repitam e que tenha o comprimento da mensagem e nunca reutilizada (one-time pad).


Capítulo 1 ■ Sistemas criptográficos históricos

43

Enigma – a criptografia alemã Em 1918, foi criada pelo inventor alemão Arthur Scherbius a mais famosa máquina de criptografia de todos os tempos: a Enigma, que foi usada pelos alemães durante a Segunda Guerra Mundial. Seu segredo estava no uso de rotores que proporcionavam um protocolo diferente para cada combinação deles e o uso da técnica de substituição.

Funcionamento Tal como outras máquinas com rotores, a Enigma é uma combinação de sistemas mecânicos e elétricos. O mecanismo é composto por um teclado, um conjunto de discos chamados rotores, colocados em fila e de um mecanismo que faz andar alguns rotores uma posição quando uma tecla é pressionada. O mecanismo possui diversas versões da máquina, mas a mais comum é aquela em que o rotor colocado à direita avança uma posição com cada tecla pressionada, e movimenta os restantes rotores à sua esquerda, semelhante ao hodômetro de um automóvel. O movimento dos rotores cria diferentes combinações na criptografia.

Cifrando mensagens A parte mecânica funciona de modo a variar um circuito elétrico que efetua a cifra de cada letra pressionada no teclado. Ao pressionar uma tecla, o circuito completa-se: a corrente elétrica flui pelos diversos componentes (pela ordem teclado, conexões para câmbio de codificação, rotores, rotor-espelho, rotores pela ordem inversa e placa de luzes). A luz que é acendida no fim do processo codifica a letra pressionada no teclado. Por exemplo, ao codificar a mensagem RET..., o operador primeiro tecla em R, acende-se uma luz por exemplo, T – que será a primeira letra da cifra resultante. O operador prossegue teclando E, acende-se outra luz, e assim sucessivamente.

Rotores Os rotores (Walzen em alemão) são o “coração” da Enigma (Figura 1.6). Com aproximadamente 10 cm de diâmetro, cada um é um disco feito de borracha dura ou baquelite com uma série de pinos de metal salientes


44

Introdução à Criptografia

dispostos em círculo em um dos lados; no outro lado situa-se uma série de contatos elétricos. Os pinos e os contatos elétricos representam o alfabeto, as 26 letras, de A a Z. Quando colocados lado a lado, os pinos de um rotor tocam nos contatos do rotor vizinho, formando um circuito elétrico. No interior de cada rotor, um conjunto de 26 fios elétricos liga cada pino de um lado a um contato elétrico do outro seguindo um padrão complexo fixo. Cada rotor tem um esquema diferente. Apenas por si próprio um rotor não permite fazer mais que uma criptografia simples: uma cifra de substituição. Por exemplo, o pino correspondente à letra E pode ser ligado ao contato para a letra T no lado oposto. A complexidade resulta do uso de vários rotores em sequência (geralmente três ou mais; Figuras 1.7, 1.8 e 1.9) e no movimento regular dos rotores. Isto leva a uma criptografia muito mais complexa e de difícil criptoanálise.

Figura 1.6 – Máquina Enigma, versão da Marinha, exposta em Bletchley Park. Fonte: Winterbotham (1978).

Figura 1.7 – Três rotores em sequência quando colocados no interior da máquina Enigma. Fonte: Winterbotham (1978).


Capítulo 1 ■ Sistemas criptográficos históricos

45

Figura 1.8 – Três rotores Enigma e o eixo no qual são colocados quando em uso. Fonte: Winterbotham (1978).

Figura 1.9 – Diagrama de um rotor Enigma. Fonte: Winterbotham (1978).

1. Anel dentado (uma ranhura) 2. Ponto de marca do contato “A” 3. Círculo com alfabeto 4. Contatos 5. Fios elétricos 6. Pinos 7. Encaixe do eixo 8. Hub 9. Roda dentada movível com os dedos 10. Ratchet


46

Introdução à Criptografia

Quando colocado na máquina, um rotor pode assumir 26 posições. Pode ser rodado à mão, usando uma roda dentada que sai da caixa fechada por uma ranhura suficiente para permitir o seu movimento com um dedo. Assim, se um operador conhece a posição inicial, coloca cada rotor na posição correta para formar esse código inicial. Quando atinge a posição do anel dentado, o mecanismo da ranhura provoca a rotação do rotor vizinho, à semelhança dos hodômetros mecânicos dos automóveis. Para ver o funcionamento da máquina Enigma, será feita uma pequena demonstração a seguir. Na Figura 1.10 encontra-se uma máquina Enigma emulada, com a tampa aberta para mostrar a configuração dos rotores.

Figura 1.10 – Emulação da máquina Enigma. Fonte: Enigma (2015).

Digitando a mensagem “mensagem teste” cifrada com a chave AAA obtemos: DLONOZKNHCJEL Para decifrar a mensagem, bastava configurar a máquina Enigma dos receptores da mensagem cifrada igual à máquina que gerou a cifra, e digitar a mensagem cifrada, que ela seria decifrada pela máquina dos receptores da mensagem: MENSAGEMTESTE


Capítulo 1 ■ Sistemas criptográficos históricos

47

A mesma mensagem, criptografada configurando inicialmente as posições dos três rotores superiores para A-A-B, em vez de A-A-A, como estava antes, resulta na mensagem anterior criptografada: YCSBWZYOANANB Nota-se que uma alteração mínima na configuração resulta em uma cifragem com resultado totalmente diferente.

O poder da máquina Enigma O modelo mostrado, Enigma Wehrmacht, poderia ser ajustado em 1,07 × 1023 maneiras diferentes, poder comparável a uma chave de 77 bits (Enigma, 2015). Modelos com mais rotores tinham uma capacidade bem maior de gerar combinações, aumentando a complexidade da criptoanálise.

Decifrando a Enigma – a Bomba de Turing “Bomb” era o nome de uma máquina eletromecânica, desenvolvida durante a Segunda Guerra Mundial por Alan Turing e Gordon Welchman, quando trabalhavam como decifradores de códigos em Bletchley Park, Inglaterra. Ela foi usada para ajudar a quebrar os códigos alemães da Enigma e era parcialmente baseada em uma máquina anteriormente desenvolvida por matemáticos poloneses em 1938. Turing usou uma abordagem completamente diferente da máquina polonesa. Sua lógica baseia-se no ataque do texto conhecido, onde se conhece ou supõe-se que um texto, chamado crib (berço), está presente em certa posição na mensagem. A Bomba também foi reforçada com a chamada placa diagonal, uma invenção de Gordon Welchman, colega de Turing em Bletchley Park, que reduziu muito o número de passos necessários para quebrar a criptografia. As Figuras 1.11 e 1.12 mostram a Bomba de Turing, reconstruída e exposta em Bletchley Park.


48

Introdução à Criptografia

Figura 1.11 – Bomba de Turing reconstruída. Fonte: Cryptomuseum (2015).

Figura 1.12 – Bomba sendo configurada. Fonte: Bombrebuilt (2015).

Para entender na prática o funcionamento da Bomba, será feito um laboratório usando um simulador da Bomba de Turing desenvolvido por Magnus Ekhall e Fredrik Hallenberg (2015). A mensagem cifrada a ser decodificada é: SNMKGGSTZZUGARLVDHHFSUBOHWYIXMOSASZULZREKBUOJ Para entender a operação do simulador, serão explicadas a seguir suas principais funções. A parte frontal da Bomba pode ser vista na Figura 1.13.


Capítulo 1 ■ Sistemas criptográficos históricos

49

Figura 1.13 – Vista frontal do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015). Botão de acesso à vista frontal da máquina Botão de acesso à vista lateral esquerda da máquina Botão de acesso à vista lateral direita da máquina Botão de acesso à vista traseira da máquina Botão de acesso ao simulador da máquina de criptografia alemã Enigma com três rotores Botão de acesso ao simulador da máquina de criptografia alemã Enigma com quatro rotores Botão de acesso à verificação das sugestões de combinações da Bomba de Turing Botão para apagar a configuração atual da máquina Botão para carregar configuração em lote em formato .bmb Botão para salvar configuração atual em formato .bmb

Conjunto de rotores (sempre agrupados verticalmente de três em três)


50

Introdução à Criptografia

Conjunto de rotores responsáveis por informar a possível combinação dos anéis

Botões iniciador dos cálculos (esquerda) e pausador dos cálculos (direita)

A Figura 1.14 mostra a lateral direita da Bomba, em vista completa.

Figura 1.14 – Lateral direita da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).


Capítulo 1 ■ Sistemas criptográficos históricos

51

No simulador, há um painel lateral que é usado para navegar nas posições da lateral direita dele, uma vez que não caberiam na página HTML de modo visualmente satisfatório. Agora, vejamos em detalhes nas Figuras 1.15, 1.16, 1.17 e 1.18.

Figura 1.15 – Botões superiores da lateral direita do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).

Figura 1.16 – Indicador de possível pareamento na posição de teste de plugues da Enigma. Fonte: Ekhall e Hallenberg (2015).

Figura 1.17 – Botões inferiores da lateral direita do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).

A Figura 1.18 mostra a lateral esquerda do simulador da Bomba de Turing, onde são configurados os refletores.


52

Introdução à Criptografia

Figura 1.18 – Vista da lateral esquerda do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).

A Figura 1.19 mostra o painel traseiro do simulador da Bomba de Turing, onde são testadas as configurações obtidas nos grafos de comparação entre cribs e trechos de mensagens cifradas.

Figura 1.19 – Painel traseiro do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).


Capítulo 1 ■ Sistemas criptográficos históricos

53

Agora, passemos à prática de fato. Sabendo que a mensagem interceptada se origina de uma estação meteorológica alemã, um crib sugestivo é WETTERVORHERSAGE (em português, “previsão do tempo”). Testaremos esse crib no início da mensagem cifrada, cujo teor é SNMKGGSTZZUGARLV. Criando o menu para esse crib, temos o resultado mostrado na Figura 1.20.

Figura 1.20 – Menu sugerido para análise do crib. Fonte: Ekhall e Hallenberg (2015).

Usando a teoria dos grafos, devemos ligar as combinações verticais das letras de acordo com seu número. Assim, temos o grafo da Figura 1.21.

Figura 1.21 – Grafo do menu para análise do crib. Fonte: Ekhall e Hallenberg (2015).

O objetivo é ter um grafo com o maior número de voltas e conexões possível. Se um menu não contiver letras suficientes e/ou laços, haverá muitas paradas falsas da Bomba, acarretando mais trabalho até que possamos determinar a chave correta. Essa configuração de dois grafos separados não é desejada. Por isso descartaremos as letras S, T, M e K do nosso menu. Também é conveniente não ter mais de 12 links em um menu, para preencher corretamente as


54

Introdução à Criptografia

12 posições em cada bloco de testes do painel frontal; então a letra W é descartada também, pois removendo W não se quebra qualquer sequência do grafo. Podemos testar três configurações de rotor ao mesmo tempo. O grafo agora fica conforme mostrado na Figura 1.22.

Figura 1.22 – Grafo adaptado. Fonte: Ekhall e Hallenberg (2015).

Em seguida, serão adicionadas algumas informações. Suponha que os rotores da Enigma fossem definidos como ZZZ antes que a mensagem fosse codificada, e que nenhum rotor se movimentou. A Bomba considera ZZZ a posição “home”. Sob as circunstâncias supracitadas, a primeira letra do texto claro teria sido cifrada com os rotores da Enigma definidos para ZZA, a segunda com ZZB e assim por diante. Aplicando ao grafo essa suposição, ele fica conforme exibido na Figura 1.23.

Figura 1.23 – Grafo com as configurações dos rotores da Bomba. Fonte: Ekhall e Hallenberg (2015).


Capítulo 1 ■ Sistemas criptográficos históricos

55

Tomaremos a seguinte rota através do gráfico para maximizar este efeito: U  E  G  R  A  S  V  E  N e H  Z  R  G  L. Escolha uma letra central no grafo e denomine-a “input”. Este é o lugar onde o teste será injetado. Neste caso, vamos escolher a letra G. O último passo é decidir qual letra testar. Deve ser uma letra que está presente no menu, mas não pode ser a mesma letra de entrada do menu ou uma letra ao lado dela. Escolha A e escreva esta no menu como “Entrada atual em A”. O menu completo fica assim:

1: ZZK

2: ZZE

3: ZZF

4: ZZN

5: ZZM

6: ZZG

7: ZZP

8: ZZB

9: ZZJ

10: ZZI

11: ZZL

12: ZZO

U: 1 in

E: (1 out, 2 in), (7 out, 8 in)

G: (2 out, 3 in), (11 out, 12 in), input

R: (3 out, 4 in), (10 out, 11 in)

A: (4 out, 5 in)

S: (5 out, 6 in)

V: (6 out, 7 in)


56

Introdução à Criptografia

N: 8 out

H: 9 in

Z: (9 out, 10 in)

L: 12 out

Este menu testa a hipótese de que A foi ligado a G no plugboard da Enigma. No entanto, devido à construção inteligente da Bomba, mesmo se esta hipótese acabar por ser falsa (o que é provável), ainda obteremos a conexão correta do plugboard. As anotações em parênteses denotam uma ponte entre as variáveis envolvidas; a letra designada como input deve ser conectada na saída CH1 da parte traseira da Bomba e as anotações sem parênteses denotam uma conexão simples, sem ponte. Mais detalhes a seguir. Agora, na parte frontal da Bomba, configure os rotores da parte superior de acordo com a ordem do menu, da esquerda para a direita, clicando na primeira coluna de três rotores na parte superior, girando com o mouse apertando seu botão esquerdo enquanto gira na alavanca do rotor, na parte maior à direita, onde eles aparecem em destaque, em cada rotor. Veja o detalhe da primeira configuração, que é ZZK, na Figura 1.24.

Figura 1.24 – Configuração da primeira coluna de rotores. Fonte: Ekhall e Hallenberg (2015).


Capítulo 1 ■ Sistemas criptográficos históricos

57

Faça a configuração para os demais 11 rotores da série. A disposição dos tambores na Enigma também influencia na correta decifragem. Vamos admitir que sejam os tambores II, V e III configurados da esquerda para a direita a configuração correta. Usaremos isso em breve. No lado esquerdo da Bomba, podemos configurar os refletores, que dão mais possibilidades de combinação na Enigma. Na Bomba, é configurado por padrão o refletor B. Deixe-o como está. A parte traseira da Bomba define as ligações para o teste. Para configurar, primeiro devemos estabelecer as pontes específicas da conexão a ser testada. Para fazer uma ponte, é só clicar com o botão esquerdo do mouse em cima dela, e aparecerão opções para fazer “bridge” (ponte), “cable” (cabo) e cancelar. Escolha bridge e essa conexão será interligada com a debaixo dela. Os conectores denominados CO1 são interligados entre eles naturalmente, assim como os CO2 entre eles mesmos, e assim por diante. Os conectores CH são as saídas finais do teste. Os conectores IN e OUT são entradas e saídas entre as sequências de letras testadas. Para ligar os cabos, escolha a opção cable, e desloque os terminais do cabo vermelho que aparecerá, conectando corretamente os pontos envolvidos. Uma vez feita a conexão, podemos salvá-la em um arquivo .bmb apertando o botão Save e salvando-a em alguma mídia. Para carregá-la posteriormente, aperte o botão Load, selecione-a e a configuração é automaticamente aplicada. A correta configuração do painel traseiro da Bomba é mostrada na Figura 1.25. Clicando no botão Right Side, você tem acesso à lateral direita da Bomba. Podemos navegar por ela na figura mais à esquerda, clicando com o botão esquerdo do mouse nas partes desejadas selecionadas pelo quadro vermelho. Para essa configuração, acione as chaves Chain 1 e Carry para a posição ON, e a chave A da primeira coluna à esquerda para a direita. A régua no meio da lateral mais à direita serve para indicar a letra que será possivelmente ligada à letra testada; nesse caso, a letra A é a letra a ser testada, como já comentado. Feito tudo isso, a Bomba está configurada para esse teste. Para iniciar o teste, aperte o botão para tal, descrito neste manual. É provável (e nesse caso isso é verdade) que haverá mais de uma parada antes da Bomba concluir a pesquisa da chave. Apenas uma dessas paradas será a correta. As outras paradas serão aleatórias, um resultado de probabilidade


58

Introdução à Criptografia

matemática. Cada parada tem de ser verificada quanto à sua validade. Fazemos isso com a Checking Machine. Para acessá-la, aperte o botão Checking Machine. Será mostrado o painel da Figura 1.26.

Figura 1.25 – Configuração do painel traseiro do simulador da Bomba de Turing para o grafo obtido. Fonte: Ekhall e Hallenberg (2015).

Figura 1.26 – Painel Checking Machine. Fonte: Ekhall e Hallenberg (2015).


Capítulo 1 ■ Sistemas criptográficos históricos

59

Na protuberância à esquerda, ao clicar sobre ela com o botão esquerdo do mouse, podemos escolher o refletor a ser usado no teste, por padrão vem configurado como B; deixe como está. Nas setas curvas configura-se o rotor a ser usado naquela posição. Configure a ordem sugerida: II, V e III da esquerda para a direita. Na primeira parada da Bomba, os três rotores com anéis dourados à direita mostrarão a provável combinação usada; nesse caso, será SNY. Vá até a lateral direita da Bomba e verifique na régua qual letra está sendo indicada. Nesse caso, será a letra D. Logo, a combinação sugerida pela Bomba é SNY:D. Em outras palavras, a Bomba sugere que na Enigma geradora dessa mensagem criptografada, em seu plugboard, a letra G está ligada à letra D. Então, escreva em um papel as letras na sequência do grafo que está sendo analisado: U: E: G: R: A: S: V: N: H: Z: L: Escreva a letra D ao lado de G. Essa é a entrada da conexão a ser testada. Para configurar os anéis, com a tecla Shift apertada e o botão esquerdo do mouse também, rode os anéis externos dos rotores (o círculo mais externo) até a letra indicada, emparelhando o “furo” no anel com a letra. Movendo no grafo da letra G para a letra E, a configuração de rotores usada é ZZE; configure os rotores da Checking Machine como ZZE e os anéis como SNY.


60

Introdução à Criptografia

Pressione a tecla D (a conexão do plugboard sugerido com G), para ver qual o possível parceiro de E. Neste caso, P acende-se; escreva P junto a E. Agora movendo de E para V, a configuração usada é ZZP; para continuar o teste, devemos apertar a última letra da sequência testada, que é o P; aperte P; acenderá a letra I; escreva a letra I junto à letra V. Movendo de V para S, a configuração usada é ZZG; seguindo o mesmo procedimento, apertando a letra I, acenderá a letra Q; escreva a letra Q junto à letra S. Movendo de S para A, a configuração usada é ZZM; seguindo o mesmo procedimento, apertando a letra Q, acenderá a letra X; escreva a letra X junto à letra A. Movendo de A para R, a configuração usada é ZZN; seguindo o mesmo procedimento, apertando a letra X, acenderá a letra P; escreva a letra P junto à letra R. Movendo de R para Z, a configuração usada é ZZI; apertando a letra P (a letra já referenciada à R) acenderá a letra X; escreva a letra X junto à letra Z. Movendo de Z para H, a configuração usada é ZZJ; apertando a letra X acenderá a letra H; escreva a letra H junto à letra H. Movendo de E para U, a configuração usada é ZZK; apertando a letra P (a letra já referenciada à E) acenderá a letra W; escreva a letra W junto à letra U. Movendo de E para N, a configuração usada é ZZB; apertando a letra P (a letra já referenciada à E) acenderá a letra T; escreva a letra T junto à letra N. O menu deverá ficar assim:

U: W

E: P

G: D

R: P

A: X

S: Q

V: I


Capítulo 1 ■ Sistemas criptográficos históricos

N: T

H: H

Z: X

L: O

61

Aqui há duas contradições: X não pode ser ligado a Z e A; P e não pode ser ligado a E e R. Logo, esta parada é falsa. Reinicie a máquina, apertando com o botão esquerdo do mouse o botão esquerdo no painel frontal (o botão iniciador dos cálculos); depois, posicione o mouse na alavanca junto à régua na lateral direita da Bomba, e mantendo a tecla Shift apertada, aperte o botão esquerdo do mouse; a Figura 1.27 mostra a posição da alavanca.

Figura 1.27 – Detalhe do painel da lateral direita do simulador da Bomba de Turing. Fonte: Ekhall e Hallenberg (2015).

A próxima parada apontará para a combinação DKX:Q; agora a máquina está indicando que o possível parceiro da letra G é Q; seguindo o mesmo procedimento do menu anterior, o menu fica:

U: F

E: T

G: Q

R: R

A: D

S: S

V: N

N: V


62

Introdução à Criptografia

H: M

Z: P

L: J

Neste caso não há contradições. Em vez disso, é animador ver que V tem N como parceiro e vice-versa. Esta parada, DKX: Q, passa no teste e vale a pena investigar ainda mais. Embora não haja contradições, existe uma possibilidade de que ainda não seja a solução correta. Para testar essa hipótese, usaremos a máquina Enigma 3 embutida na Bomba. Abrindo o painel frontal do Enigma, apertando um dos botões laterais ao lado das letras P e L com o botão esquerdo do mouse, troque os rotores originais (I, II e III) para II, V e III. Ajuste os anéis dos rotores para a posição desejada (DKX); para tal, deslize o mouse com o botão esquerdo apertado e a tecla Shift também no seletor do rotor. Feche o painel e ajuste a posição dos rotores para ZZZ. Agora aperte com o botão esquerdo do mouse um dos parafusos abaixo no painel; isso dará acesso à configuração dos cabos frontais. Conecte-os conforme o menu atual: letra U conectada com a letra F, letra E com letra T, e assim por diante. Letras relacionadas com ela mesma não precisam ser conectadas, pois não é possível tal manobra; se já estiverem conectadas, mantenha-as conectadas. Teste as configurações de rotores uma a uma, apertando a tecla S no teclado até que apareça W ao teclar S; aperte as letras seguintes e verifique se a decifração coincide com o crib. Se não der certo, volte à última configuração e continue a apertar a letra S até a próxima letra W decifrada, até a decifração combinar. A configuração dos rotores correta para a decifração é: YWY. Porém, a decifração ainda não é totalmente correta: WETCERVXRHERSAGE. É necessário verificar a configuração dos cabos. O C e o X não são as letras esperadas. Vejamos o C primeiro. Tentamos decifrar a letra K e obtivemos C em vez da letra T. Poderíamos, então, potencialmente, obter a letra T desejada conectando um cabo entre C e T no plugboard.


Capítulo 1 ■ Sistemas criptográficos históricos

63

No entanto, T já tem um cabo ligado a E; portanto, a nossa próxima estratégia é encontrar uma letra que, cifrada por meio dos rotores na posição do rotor desta letra (ZZD nos rotores da Bomba), seria a cifrada de E. Uma vez que E está ligado a T, o resultado seria a saída desejada. Volte para a Máquina de Verificação e defina os tambores para ZZD. Aperte as teclas no teclado até encontrar aquela que cifra em E. Essa letra é I. No plugboard, ligue um cabo entre I e K. Olhando para o próximo problema, nós temos um X, mas queríamos um O. Nem X nem O têm um cabo conectado. Conecte o cabo restante entre X e O. Reponha a Enigma para YWY e tente decifrar o texto novamente. Agora sim, temos o esperado resultado: WETTERVORHERSAGE. Todas as letras em nosso crib agora estão corretamente decifradas. Agora vamos decifrar o resto da mensagem. A mensagem decifrada é:

Wetterhervorsage: bewölkt Wetter unterliegen Regen.

Traduzida para o português:

Previsão do tempo: tempo nublado sujeito à chuva.

Então, a configuração da Enigma ao cifrar esta mensagem foi:

Refletor: B

Ordem dos tambores: II V III

Posições dos anéis: DKX

Pares de plugues: UF ET GQ AD VN HM ZP LJ IK XO

Chave: YWY

Quer dizer que temos a chave correta? Sim e não. Porém, há chances enormes de essa ser a chave e configuração corretas diárias da Enigma; depende do sucesso em decifrar as mensagens interceptadas que vierem a seguir, pois os alemães sempre usavam a mesma senha para cifrar as mensagens do dia.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.