• Nenhum resultado encontrado

CRIPTOANÁLISES CLÁSSICAS 4.1 – A Decifração de Textos Cifrados Clássicos

No documento Criptografia Classica e Moderna (páginas 87-101)

Textos cifrados são escritos a partir de um texto claro em um determinado idioma. Este idioma, naturalmente, está submetido às regras de construção lexicais e gramaticais, que por si só proporcionam uma série de possibilidades para o criptoanalista.

A existência de um alfabeto, que é a base para o idioma155, determina também o modo como as palavras são construídas. É quase impossível escrever um texto sem usar (ou abusar) de artigos e preposições, cuja posição entre as palavras os torna fáceis de identificar. Verbos, normalmente, são seguidos de artigos (matar o rei); (roubar o código). Substantivos quase sempre são seguidos de preposição e de adjetivos (casa de

pedra).

Em sua construção, as palavras podem começar por uma consoante e terminar por uma vogal (código; submarino); iniciar e terminar com consoantes (minar; manganês); iniciar e terminar com vogais (obtuso; almirante); começar por uma vogal e terminar com uma consoante (equipar; obter).

O idioma determina o número médio de palavras em uma sentença; o número médio de palavras em uma linha; o número médio de palavras em um parágrafo.156 Determina, igualmente, a concisão de uma mensagem. Conforme Kluckhohn,

Creio que pela primeira vez compreendi bem a natureza da língua quando meu preceptor de Oxford pediu-me que traduzisse para o grego algumas páginas de um retórico britânico do século XVIII, que continham a seguinte frase: “ela atirou contra ele a máxima virulência da sua invectiva”. Lutei com a frase e afinal cometi o pecado imperdoável de olhar cada palavra no dicionário inglês-grego. Meu preceptor olhou de relance a monstruosidade resultante e me encarou com um misto de desgosto, pena e espanto. “Meu rapaz – disse ele, – não sabe que a única maneira possível de traduzir isso é deinos aedeitai, ela censurou muito fortemente?”157

Em um determinado contexto, várias palavras podem tornar-se muito comuns: minar; porto; submarino; minas; vigiar; etc.158

155 “Toda língua é também um modo especial de encarar o mundo e interpretar a existência. Oculto na

estrutura de cada diferente idioma, acha-se todo um conjunto de suposições inconscientes a respeito do mundo e da vida nele”. Também: “Cada povo tem as suas classes próprias características, nas quais os indivíduos distribuem a sua experiência. Essas classes são estabelecidas principalmente pelas línguas, por meio dos tipos de objetos, processos ou qualidades que recebem especial ênfase no vocabulário e igualmente, embora de maneira mais sutil, por meio dos tipos de diferenciação ou atividade que se distinguem nas formas gramaticais.” (Cf. Kluckhohn).

156 O alemão possui muito menos palavras em um parágrafo do que o italiano, por exemplo, considerando

o mesmo texto.

157 KLUCKHOHN, idem, p. 155.

158 Um pesquisador francês, o dr. Samain, descobriu que bastam oito palavras-chaves para definir o

conteúdo de um artigo especializado. Assim, se o contexto é conhecido (sabe-se qual é o tema do texto cifrado), basta procurar por algumas palavras-chaves. Ao contrário, buscar algumas palavras-chaves pode

Além disso, alguns tipos de comportamentos dos operadores criam padrões que enfraquecem os criptogramas. É o caso, por exemplo, de cumprimentos desnecessários; da escolha de chaves óbvias159; do duplo ciframento de chaves; do uso de assinaturas (em forma de iniciais do operador); e, o mais fatal, do uso repetido de uma mesma chave.

4.2 – Decifrando Cifras Monoalfabéticas

O exemplo a seguir deve-se a Pujol:160

Vejamos, agora, a seguinte cifra:

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

Aqui, as freqüências são:

a = 0 h = 3 o = 15 v = 9 b = 9 i = 6 p = 10 w = 4 c = 3 j = 0 q = 2 x = 23 d = 13 k = 5 r = 0 y = 1 e = 0 l = 1 s = 5 z = 0 f = 0 m = 1 t = 12 g = 18 n = 1 u = 10

É evidente, portanto, que x=0. As freqüências indicam que “g” poderia ser “n”; todavia, o fato do agente secreto só encontrar uma vez o grupo “xg” que seria “en” e nunca “gx”, que seria “ne”, sílabas muito comuns, faz com que ele atribua à letra seguinte na ordem de frequencia, isto é, ao “o” o significado de “n”. Nesse caso, as sílabas “uo” e “to” seriam, parece, “on” e “in”. O agente secreto encontraria, por conseguinte, a sua primeira linha:

t o v d p k s d t u o i n ... i o n

no qual o “d”, muito freqüente (13 vezes), poderia perfeitamente ser um “t”. Encontraria, então, o seguinte:

t o v d p k s d t u o i n ... t ... t i o n

definir o conteúdo desconhecido do texto cifrado. Esta técnica é utilizada no sistema mundial de vigilância – ECHELON – que grava automaticamente qualquer mensagem, em qualquer meio, quando palavras-chaves são detectadas.

159 De acordo com Singh, as chaves óbvias eram conhecidas como cílios, entre os criptoanalistas. 160 PUJOL, 1967, p.61.

O agente secreto sabe que o “v” é freqüente (9 vezes),o mesmo sucedendo com o “p” (10 vezes), verificando também que o “s” é muito raro (5 vezes). As hipóteses v=s e s=c são prováveis, portanto:

t o v d p k s d t u o i n s t r .. c t i o n

O agente descobre, assim, a palavra Instruction. O resto, em conseqüência, deixa de oferecer qualquer dificuldade.

4.3 – Decifrando Cifras Polialfabéticas

A Cifra de Vigenère, por muito tempo considerada inquebrável, foi violada por uma criptanálise realizada pelo inglês Charles Babbage, no século XIX. Babbage realizou uma pesquisa exaustiva nesta cifra, procurando por padrões ocultos.161

Sua análise permitiu descobrir que a fraqueza da Cifra de Vigenère estava no tamanho da chave, que, se fosse pequena, introduzia padrões de repetição facilmente detectáveis, que permitiam a decifração do texto cifrado.

A solução, que seria a utilização de chaves mais extensas, criava outras complicações, como a dificuldade de memorização, ou tornar mais difícil e demorado tanto o processo de codificação quanto o de decodificação.

A descoberta de Babbage não se tornou conhecida, porque ele não chegou a publicá-la. Assim, atualmente o processo de criptanálise da Cifra de Vigenère é conhecido pelo nome de Teste de Kasiski ou Método de Kasiski.162

O teste de Kasiski permite deduzir o comprimento da palavra-chave usada no ciframento por substituição polialfabética. Ou seja, o criptoanalista procura descobrir o comprimento da chave utilizada.

Quando supõe ter feito esta descoberta (do comprimento da chave (n), ele forma um bloco n x n, que pode então ser tratado como uma cifra de substituição monoalfabética. Geralmente, o comprimento é deduzido quando se conta a distância entre dois grupos idênticos de letras.163

Em outra aplicação do teste de Kasiski, costuma-se substituir uma palavra comum ou possível, ao longo do texto cifrado, buscando correspondências ocultas.

Em um texto em inglês, é extremamente provável que surjam palavras tais como the, of ou and. Se a cifragem se faz unicamente por substituição, o criptoanalista pode ir tentando colocá-las ao longo do texto cifrado, até encontrar as correspondências entre letras claras e cifradas.

161 A busca desses padrões ocultos viriam se tornar parte da técnica até hoje utilizada na criptanálise, que

é a busca de seqüências de letras que aparecem repetidas ao longo do texto. Para realizar uma análise de freqüências em vários idiomas, ver: http://rumkin.com/tools/cipher/cryptogram-solver.php.

162 Friedrich Wilhelm Kasiski (1805-1881), oficial do exército prussiano. Ele publicou sua descoberta no

livro Geheimschriften und die Dechiffrir-Kunst (Secret Writing and the Art of Deciphering), em 1863.

163 Veja-se: http://en.wikipedia.org/wiki/Kasiski_examination (a propósito, as consultas à WIkipédia

devem se limitar, se possível, aos textos originais em inglês. O motivo é a proliferação insensata da tradução automática, sem que se faça pelo menos uma revisão final, para dar legibilidade ao texto “traduzido”).

O exemplo mostrado a seguir mostra como funciona a técnica de Kasiski (cf. Sgarro). A palavra-chave é PIRACY (Pirataria), e o criptograma está mostrado logo abaixo.164

A TRITHEMIUS SQUARE AND A VIGENERE SQUARE ARE ONE AND TH E SAME THING P IRACYPIRAC YP I RAC YP I R ACYPIRAC YP I RAC YPI RAC YPIR ACY P IRA CYPI R P BHVFTUZUU QFCRRG YCL R VKETVVRG QFCRRG YGM FNG YCL KHG QPUV TJGCO

No criptograma, nota-se que existe uma repetição do grupo QCFRRG, bem como do grupo YCL. O primeiro se repete em um intervalo de 18 letras, enquanto que o segundo se repete em um intervalo de 24 letras.

Em razão desses intervalos, e tendo em conta a repetição após 18 letras, pode se presumir (como hipótese) que a chave é um divisor de 18. Quanto à repetição após 24 letras, pode ser igualmente presumido que a chave é um divisor de 24. Como seis é um divisor comum para 18 e 24, isto sugere que a extensão da palavra-chave seja de seis letras (sempre como hipótese).

Nesse momento, o criptograma é dividido em blocos de seis letras cada um, com o que se formam “criptogramas parciais” nos quais o primeiro é constituído pela primeira letra de cada bloco, o segundo pela segunda letra de cada bloco, e assim por diante, como mostrado a seguir (contam-se as letras do criptograma de seis em seis).

Primeira letra: P T F C T F G C P C Segunda letra: B U C L V C M L U O Terceira letra: I Z R R V R F K V Quarta letra: I U R V R R N H T Quinta letra: V U G K G G G G J Sexta letra: F G Y E Q Y Y Q G

Desse modo, cada criptograma parcial contém todos os cifrários monoalfabéticos, o que os torna vulneráveis à análise de freqüências usada nestes casos.165

A análise de Kasiski, entretanto, só funciona se o criptograma for mais longo do que a palavra-chave (que constitui, no caso, um período de seis letras).166

4.3.1 – O Índice de Coincidência

O Índice de Coincidência (IC) é um método desenvolvido em 1920167 pelo criptólogo norte-americano William Friendman, para atacar cifras de substituição polialfabética com palavras-chaves periódicas.

O IC é utilizado para se determinar a monoalfabeticidade de um texto. Se este valor estiver ao redor de 0,762, a probabilidade de o texto claro ter sido submetido a

164 Evidentemente, o analista não conhece nem a palavra-chave nem a mensagem clara.

165 Esta análise mostraria que a grande incidência da letra G resulta do fato de que ela substitui a letra e,

na mensagem.

166 A análise pelo método de Kasiski fica mais difícil, se a mensagem clara sofrer inicialmente um

processo de transposição (ou seja, se ela for embaralhada) [veja-se o item 10.3.1.2.1 para maiores detalhes sobre este método].

167 O método foi exposto no artigo The Index of Coincidence and Its Application in Cryptography,

uma substituição monoalfabética é muito grande. Se o índice for significativamente menor, provavelmente o texto claro foi submetido a uma substituição polialfabética.

Cada idioma possui um IC próprio, porque a frequência da ocorrência das letras é peculiar a cada um deles. Isto, é claro, altera o valor do índice.

Em um texto cifrado, a quantidade de letras geralmente não contém informação suficiente para encontrar a variação das frequências relativas de cada letra, em relação a uma distribuição uniforme. Esta deve ser obtida, então, pelo IC. Encontrado o IC, é possível encontrar o período da palavra-chave.

Encontrado o período e conhecendo-se o algoritmo de cifragem e o idioma do texto claro, pode-se então usar o método de Kasiski para realizar a decifragem.

A matemática do IC é a seguinte.

Supondo-se que x = x1 x2 x3 ... xn seja um texto de n caracteres do alfabeto,

define-se o índice de coincidência de x ( Ic (x) ) como a probabilidade de dois caracteres

aleatórios de x serem iguais (corresponderem à mesma letra). Ou seja:

O valor de m corresponde ao total de letras do alfabeto ( ) em questão; fi corresponde à frequência do caracter de codificação i na mensagem.

Inicialmente, faz-se uma tabela com a frequência das letras do texto cifrado e contam-se as letras n deste texto.

A fórmula dada a seguir permite calcular a probabilidade da ocorrência de cada uma das letras do alfabeto num texto cifrado, de A até Z (f1 corresponde a A e n ao

número total de letras do texto analisado). Repete-se o cálculo com f2 para B, até f26 para

Z.

Por exemplo, suponha-se que a letra A tenha ocorrido 13 vezes ao longo do texto cifrado, o qual possui 97 letras. Calcula-se 13(13-1) = 13.12 = 156; em seguida, calcula- se 97(97-1) = 97.96 = 9312. Basta agora dividir um pelo outro: 156/9312 = 0,01675.

Repete-se o cálculo para cada letra que ocorre no texto cifrado, e somam-se os resultados parciais para encontrar o valor de IC.

Valores (aproximados) de IC para alguns idiomas modernos são os seguintes: Francês 0,0778

Italiano 0,738 Espanhol 0,0775

Português (BR) 0,0791 Português (PT) 0,7272

Inglês 0,0661

4.3.2 – Índice de Coincidência Mútua

Se já se sabe antecipadamente o comprimento correto da chave, K = k1,k2, ... ,

km, usa-se o índice de coincidência mútuo (ICM) do idioma, como forma de obter as

diferentes sub-chaves.

com n’ o comprimento o sub-texto j; pi os valores de referência para o idioma; os

índices i + gj calculados módulo

Caso gj = kj tem-se que Igj ≈ Ic (Pt).

Resta agora calcular cada uma das sub-chaves K = k1, ... , kj , (sendo I o

comprimento da chave).

Não se pode fazer o estudo de frequência das letras diretamente, como se fez para a cifra de deslocamentos simples, visto que não se tem textos, e sim sub-textos.

Suponha-se que se tenha dois textos x = x1x2 ... xm e y = y1y2 ...yn.

O índice de coincidência mútuo de x e y, designado por Icm(x,y) é definido como

a probabilidade de um caracter aleatório de x ser igual a um caracter aleatório de y.

com as freqüências do caracter de codificação i em x e y, respectivamente. Usando-se as freqüências do idioma como referência, as diferentes sub-chaves podem ser obtidas.

4.4 – Decifrando Anagramas

Uma mensagem, quando sofre a encriptação por transposição, pode se tornar extremamente resistente à desencriptação. Veja-se o exemplo da mensagem a seguir.

MATEM O REI OIEMRMTEA168

A dificuldade em desencriptar a mensagem é proporcional ao seu tamanho. No exemplo dado, nove letras podem ser posicionadas de 362.880 maneiras diferentes.169 Uma mensagem maior extenderia este valor a uma quantidade exorbitante.

168 Os espaços entre palavras foram eliminados.

A quantidade enorme de chaves possíveis, no entanto, não garante a invulnerabilidade do processo de transposição. Este, por manter as mesmas letras, é passível de deciframento pela análise de freqüências simples, duplas e triplas e pelas regras do léxico e da gramática. Por exemplo, se o idioma português foi utilizado para o ciframento, o dígrafo QU é bastante comum, e este dígrafo normalmente costuma ligar- se às letras A (em QUAL), E (em QUE), I (em QUILÔMETRO) e O (em QUOCIENTE).

Além disso, uma grande parte das palavras em português termina em uma vogal, o que facilita recolocar um texto em ordem.

4.5 – Decifrando Sistema Homofônicos

Um texto cifrado a partir, por exemplo, do idioma inglês, deveria conhecer a sua distribuição estatística de letras para substituir as letras mais freqüentes.

Neste caso, poderia ser utilizada a tabela abaixo, em que as letras mais freqüentes são substituídas (alternadamente) por um conjunto maior de números, e as menos frequentes, por apenas um número.

O problema, nesse caso, é que a análise de freqüência permite também descobrir a incidências das letras menos freqüentes, e isto permite a decifração do texto cifrado. Além do mais, a periodicidade na substituição (por alternância dos caracteres com símbolos múltiplos) acaba por comprometer o sigilo da mensagem, pois as torna muito previsíveis.170

4.6 – Criptoanálise do Sistema Chase

No exemplo dado anteriormente sobre este tipo de codificação, resultou o texto cifrado CLLYE–+CE.

Se o analista tiver acesso a outros textos cifrados interceptados, ele logo percebe que o total de caracteres usados é 30, com a inclusão de quatro símbolos. Isto permite deduzir (como hipótese) que há uma tabela de conversão 3x10.

170 O ideal seria a substituição ao acaso. Mas, como ainda se verá, conseguir o “acaso” não é uma tarefa

Se o método de codificação for conhecido (ele foi publicado), sabe-se que a palavra clara tem um caracter a menos, e que a primeira letra, com certeza, está na primeira fileira (C = 1X).171

Pode-se presumir que os símbolos estarão no final da tabela. Por esta hipótese, os símbolos “– +” estarão na terceira fileira (“–” = 3Y, “+” = 3Z; Y e Z podem ser 7, 8, 9 ou 0). A ordem pode ser “– +” ou “+ –”.

1 p p . r 3 3 1 r x q q . s y z x s C L L Y E + – C E 1 p p . r 3 3 1 r x q q . s y z x s C L L Y E – + C E

Tendo tido acesso a outros textos cifrados, o analista passa agora a compará-los entre si. Suponha-se, por exemplo, que tenha sido interceptada a mensagem IIFFMANXSOMH.172

Novamente, a letra I está na primeira fileira. 1 1 . . . . . . . .

t t . . . . . . . . I I F F M A N X S O M H

Se o analista conseguir interceptar mensagens suficientes, ele logo deduz quais as letras que estão na primeira fileira, mas não a sua ordem. Estas letras (em número de dez, na primeira fileira) são como um anagrama para a palavra-semente (neste caso, a ordenação correta é LEXICOGRAP). Assim que as letras são ordenadas, deduz-se facilmente qual é a palavra (LEXICOGRAPH).

A decodificação restante não oferecerá dificuldade.173

4.7 – A Criptoanálise do Código ADFGX

O modo que será apresentado irá utilizar o método de ataque pela força bruta. Neste caso, inicia-se fazendo a contagem do número de palavras na mensagem cifrada. O número de palavras cifradas irá fornecer a quantidade de letras da palavra- chave. No exemplo que foi dado, há sete palavras cifradas:

AAAG AAAG GDDG GFGX GXAD AFF GDD

171 Devido à introdução do algarismo 1 na fileira superior. 172 Codificação da palavra Information.

173 Naturalmente, a decodificação será dificultada, se forem usadas tabelas diferentes (com palavras-

Portanto, a palavra-chave desconhecida deve ter sete letras (CANDOUR tem sete letras). Isto informa que há sete colunas na grade, a qual se preenche conforme a ordem das palavras cifradas, de cima para baixo.

1 2 3 4 5 6 7

A A G G G A G

A A D F X F D

A A D G A F D

G G G X D

Obviamente, as colunas 6 e 7 (únicas sem o quarto caracter) não estão necessariamente nesta ordem, e portanto, podem ser intercambiadas (se necessário) apenas entre si. Como há 120 permutações possíveis das colunas 1 a 5, e duas possibilidades para as colunas 6 e 7, o ataque por força bruta deve realizar 240 permutações, para encontrar a ordem correta das letras.

Como a grade original supostamente tem o alfabeto em ordem correta, o ataque bruto174 pode ser feito em um tempo não muito longo.

Naturalmente, se após algum tempo algum dígrafo for descoberto (como em tt, de attack, isto facilita a decifração do texto.

4.8 – A Criptoanálise do Código ADFGVX

Tome-se o exemplo dado anteriormente,

cujo criptograma final é:

V D G V V D D V D D G X D D F D A A D D F D X G

Se o criptoanalista não conhece o método de codificação, ele observa o criptograma. A primeira coisa que percebe é que há somente seis letras envolvidas: A, D, F, G, V, X. Em seguida ele conta as letras (24, no total), de onde deduz que uma grade 4x6 ou uma 6x4 possam ter sido usadas, e que a palavra-chave deve possuir quatro ou seis letras.

174 Este ataque consiste em testar todas as 240 possibilidades de distribuição de letras dentro da grade, até

Para uma transposição colunar usando uma palavra-chave de seis letras, o criptograma pode ser colocado com 96 possibilidades (6!) de distribuição dentro da grade.

Para criptogramas usando o método do “papel e lápis”, a necessidade de rapidez (aliada à lei do menor esforço) conduz à hipótese de que a palavra-chave deve possuir apenas quatro letras.

O analista conta em seguida a quantidade de dígrafos do criptograma, e as suas transposições: VD – 02 DV – 03 GV – 01 VG – 00 DV – 01 VD – 02 DD – 03 DD – 03 GX – 01 XG – 01 FD – 02 DF – 00 AA – 01 AA – 01 XG – 01 GX – 01

A hipótese inicial é a de que as letras mais frequentes sejam representadas pelos dígrafos DD e DV (supondo correta a transposição).

Em seguida. o criptograma é colocado dentro de uma grade 6x4 tanto na leitura horizontal quanto na leitura vertical, o que resulta em:

Supondo que foi usada a palavra-chave de quatro letras, o criptograma pode ser colocado com 24 possibilidades (4!) de distribuição dentro da grade.175

Seguindo as grades acima, podem ser feitas leituras horizontais ou verticais, o que resulta em VDGV ou VVDDAV (e demais leituras) e VDDD ou VDGVVD (e demais leituras).

O criptograma apresenta uma frequência maior para os conjuntos DD e DV, e as duas grades acima apresentam três vezes o dígrafo DD. Ele deve representar, então, uma das três letras mais freqüentes em inglês, as letras e t a.176 O criptoanalista deve então

175 Supondo que o analista conheça o processo de cifração, como a maioria das palavras de quatro letras

em inglês (originalmente, a criptoanálise seria feita sobre o idioma alemão, com as correspondentes adaptações na análise) possui no máximo duas vogais, possivelmente na segunda e na quarta posição (a palavra CASE, por exemplo), isto reduz as possibilidades de análise. Como a palavra-chave é recolocada em ordem alfabética, isso indica que, possivelmente, a segunda ou quarta coluna se transforma em primeira. Supondo igualmente que a palavra-chave inicie por uma consoante, a segunda ou terceira devem ser vogal. É o mais comum, em palavras de quatro letras em inglês.

testar essas letras sucessivamente. Uma delas é representada por DD (ou DV), e vice- versa. Por surgirem três vezes cada uma na contagem, e sendo a mensagem muito curta, elas devem surgir como letra e dígrafo (e ee t tt a aa).

Ao testar as possibilidades, o criptoanalista encontra as possíveis seqüências: atta; taat; ette; teet; aeea; eaae.

Dígrafos comuns em inglês são ee e tt, mas não aa. Além disso, a palavra mais próxima do contexto é atta (de attack). Substituindo no criptograma, fica:

V D G V V D D V D D G X D D F D A A D D F D X G D V D D D D D D a t t t

No criptograma, VD deve ser a transposta de DV. Refazendo, fica:

V D G V V D D V D D G X D D F D A A D D F D X G D V D V D V D D D D D D a a a t t t e reagrupando: G V G X F D A A F D X G D V D D D D D V D V D D a t t a a t

(Se a palavra é attack, a construção deve ser attack at. Isto completa o total de letras – três – para a e para t).

Restam os dígrafos GV, GX, FD, AA, XG (como FD surge duas vezes, e DF apenas uma vez, ele talvez não tenha grande frequência).

Continuando:

A introdução de algarismos na grade não melhora significativamente a criptografia. O que interessa é a quantidade de algarismos usados na mensagem, que talvez não ultrapassem 20% da maioria do total de letras (16,6% na mensagem attack

at 10 pm). Quando os algarismos indicam horários, há dois sistemas possíveis, o de 12

e o de 24 horas. O uso do sistema de 12 horas, o mais comum, obriga a introduzir na mensagem as letras am (ante-meridien) ou pm (post-meridien). Supondo um ataque noturno, será usado pm.

Nas duas grades anteriores, em qualquer leitura surgem as letras FDXG e DXAG, nas últimas fileiras, que sugerem uma indicação relativa a horários. Isto sugere também que a combinação certa surge da transposição correta das letras FDXG ou das

No documento Criptografia Classica e Moderna (páginas 87-101)