Você está na página 1de 13

APRESENTAÇÃO

Os recursos computacionais colocados à disposição do homem moderno, a


par de ter facilitado a difusão de informações e os contatos interpessoais,
trouxe consigo uma velada ameaça à segurança dessas comunicações. Tal
ameaça pode ser adequadamente minimizada pelo emprego correto de
procedimentos, técnicas e algoritmos criptográficos, estudados em criptologia.
A vocação do Instituto Militar de Engenharia p ara a crip tologia, muito
mais relevante que a natureza militar que a ambos envolve, tem suas raízes na
criação do Curso de Mestrado em Informática e Pesquisa Operacional, no
início da década de 70, com uma Linha de Pesquisa em Criptografia.
Além da formação de Mestres, o IME ofereceu, no passado, um Estágio
Básico, anualmente, para reunir pessoal do Exército e das demais Forças
atuantes na área de criptologia e a apresentação de produtos de segurança p or
algumas empresas convidadas.

-1-
SISTEMAS CRIPTOGRÁFICOS CLÁSSICOS
SUBSTITUIÇÃO POLIALFABÉTICA

INTRODUÇÃO

A guerra primitiva, entre tribos hostis, necessitava de poucos recursos de comunicações. O


chefe reunia seus guerreiros, dava-lhes conhecimento do plano e ele próprio controlava a
execução de tudo, na hora do combate, exibindo sua presença.

Não havia necessidade de proteger as comunicações, pois o inimigo estava muito


preocupado com sua própria defesa e o desenrolar de seu plano.

Com a evolução da arte da guerra, o ataque passa a ser realizado com várias armas e em
diversos pontos, simultaneamente. Tal empreendimento requer planejamento cuidadoso,
que precisa ser comunicado, com certa antecedência, a todos os elementos envolvidos, sob
absoluto sigilo, além de requerer um sofisticado controle durante a sua execução. Em
consequência nasce a necessidade de se criar técnicas adequadas para proteger as
COMUNICAÇÕES, dificultando ao inimigo tirar proveito de sua interceptação.

Essa técnica criada foi a CRIPTOGRAFIA, capaz de alterar a mensagem escrita tornando-a
incompreensível para todos aqueles que não dispusessem dos detalhes que proporcionaram
a transformação.

Basicamente, dois tipos de transformação foram idealizados: a TRANSPOSIÇÃO


simplesmente embaralhava as letras do texto seguindo um determinado padrão (ou chave);
e a SUBSTITUIÇÃO que se utilizava de uma tabela de correspondência (ou chave) entre
cada caractere da mensagem e seu(s) substituto(s) no criptograma.

Os sistemas de TRANSPOSIÇÃO apresentam-se de inúmeras formas diferentes; porém,


dependendo do tamanho, com um pouco de paciência podem ser quebrados até por
amadores, uma vez que seus padrões são razoavelmente difundidos.

Trataremos, basicamente, nesta fase inicial, dos sistemas criptográficos de


SUBSTITUIÇÃO.

Os SISTEMAS DE SUBSTITUIÇÃO MONOALFABÉTICA e POLIALFABÉTICA se


constituíram no primeiro passo da evolução da proteção das informações.

Os objetivos desta fase são, obviamente, estabelecer contato com técnicas criptográficas
elementares, suas fraquezas e possibilidades, aproveitando para rever alguns conceitos de
matemática e estatística que poderão ser úteis em outras fases e, ainda, ressaltar algumas
técnicas de criptanálise válidas mesmo para sistemas criptográficos eletrônicos modernos.

-2-
SISTEMAS POLIALFABÉTICOS

CONSIDERAÇÕES PRELIMINARES

Já se viu que o sistema de substituição por um único alfabeto-cifra não é confiável e não
deve, em princípio, ser usado, a não ser em aplicações bastante especiais.

Isso foi percebido ainda na Idade Média, quando foi proposto um sistema monoalfabético
no qual as letras mais frequentes seriam substituídas por várias letras, em vez de uma única
(conhecido como "HOMOFONIA").

O aprimoramento dessa tentativa, em neutralizar as vantagens retiradas da análise de


frequência de letras, redundou no desenvolvimento de sistemas cujas cifras pertenciam a
mais de um alfabeto-cifra escolhidos segundo uma chave. Assim, a substituição das letras
mais frequentes por diversas letras dificulta a criptanálise.

Em 1536 GIOVANNI BATISTA DELLA PORTA concebeu a primeira proposta de


substituição polialfabética.

A dificuldade introduzida por tais sistemas impediu o conhecimento da solução geral das
cifras polialfabéticas por mais de 300 anos. Só em 1863 apareceu, em uma publicação, um
artigo escrito pelo oficial prussiano FREDERICH KASISKI. (Babbage por volta de 1850 !)

Existem muitas variantes de sistemas polialfabéticos manuais; utilizar-se-á aqui, contudo, o


idealizado pelo criptólogo francês, BLAISE DE VIGENÈRE, por ser o método mais
difundido.

SISTEMA DE VIGENÈRE

Vigenère construiu um quadro de 26 alfabetos, cada um defasado de uma posição do


anterior, com um alfabeto acima e um à esquerda (VER ANEXO).

O processo de criptografia consiste em se escolher uma palavra-chave que é escrita,


repetidamente, acima do texto em claro até a última letra. A cifra é obtida substituindo-se
cada letra do texto em claro pela correspondente ao alfabeto-cifra indicado pela letra da
palavra-chave.

-3-
Exemplo:

MENSAGEM: Q U A D R O D E V I G E N E R E

CHAVE : C H A V E C H Á V E C H A V E C
               
CRIPTOGRAMA: S B A Y V Q K E Q M I L N Z V G

EXERCÍCIO:

Como exercício, que também será utilizado na criptanálise, vamos criptografar o texto em
espanhol (ANEXO), pelo sistema de VIGENERE.

Palavra-chave: RADIO

A frequência de ocorrência das letras no criptograma, salvo pequenas incorreções, foi:

A=40 (7 %) H=18 (3 %) O=22 (4 %) V=27 (5 %)


B=5 (1 %) I=18 (3 %) P=12 (2 %) W=25 (5 %)
C=27 (5 %) J=14 (3 %) Q=21 (4 %) X=7 (1 %)
D=16 (3 %) K=15 (3 %) R=30 (6 %) Y=2 (0 %)
E=29 (5 %) L=30 (6 %) S=34 (6 %) Z=17 (3 %)
F=23 (4 %) M=27 (5 %) T=28 (5 %)
G=26 (5 %) N=5 (1 %) U=26 (5 %)

-4-
Comparando o histograma aqui construído com o obtido do exercício para sistema
monoalfabético pode-se concluir que neste a ocorrência ficou "melhor" distribuída. Se
fosse conseguido um sistema onde todas as letras aparecessem em igual número no
criptograma, nenhuma informação sobre as características de frequência de letras da
linguagem poderia ser aproveitada pelo criptanalista.

O histograma correspondente a tal sistema ideal seria representado por uma linha horizontal
na altura de 0,038 (=1/26) e, consequentemente, "inteiramente plano".

Dessa forma, a medida de "planura" de um histograma que represente a frequência de letras


do criptograma pode denunciar a quantidade de alfabetos usados como cifras.

A PLANURA DO HISTOGRAMA, então, pode variar desde a representativa do sistema


monoalfabético e se aproximar da ideal, na medida em que se aumenta o número de
alfabetos-cifra.

Como o número de alfabetos-cifra depende do tamanho da chave, algumas medidas disso


derivadas auxiliarão na tarefa de criptanálise. Passar-se-á a deduzi-las.

ÍNDICE DE COINCIDÊNCIA

Uma das possíveis medidas de planura de um histograma é a VARIÂNCIA, derivada da


estatística e definida por:

Z
V= 
A
(p - 1 / 26)2

Quanto mais a frequência de ocorrência das letras se aproximar da equiprobabilidade mais


plano será o histograma. Se, para todo  de A até Z, P = 1 / 26, a variância será V=0
(histograma "inteiramente plano").

Desenvolvendo a expressão, obtêm-se:

Z
V = A
( p2 - 2 * 1/26 * p + 1/262 )

Z
V = A
p2 - 0,038

-5-
Para uma determinada letra, por exemplo X, p x representa a probabilidade de escolhida uma
posição aleatoriamente no criptograma, ela seja ocupada pela letra X.

Então px 2 representa a probabilidade de duas posições escolhidas ao acaso estarem


ocupadas pela letra X.

Como a frequência de ocorrência de X no criptograma é f x o número total de pares de letra


X pode ser obtido pela fórmula de análise combinatória:

Cfx 2 = f x * (f x - 1) / 2

O total de pares de letras possíveis de se obter num criptograma de tamanho n é:

Cn 2 = n * (n – 1) / 2

A probabilidade de, escolhidas duas posições ao acaso num criptograma de tamanho n,


encontrar duas letras iguais será a média para todas as letras tomadas individualmente.

Essa probabilidade é conhecida por ÍNDICE DE COINCIDÊNCIA e calculada:

Z
IC = A
f  * (f  - 1) / n * (n – 1)

Tal medida fornece uma indicação bastante valiosa do tamanho da palavra-chave, como se
verá na criptanálise.

-6-
CRIPTANÁLISE DE SISTEMAS
POLIALFABÉTICOS

CONSIDERAÇÕES PRELIMINARES

Uma vez de posse do criptograma a ser analisado, os quatro princípios operacionais que
devem ser considerados, segundo FRIEDMAN na obra já citada são:

- Determinação da língua.
- Determinação do sistema criptográfico.
- Determinação da chave.
- Determinação do texto-claro

Para os sistemas de substituição convencionais, sua determinação recai no fato de, uma vez
descoberto não se tratar de monoalfabético, conhecer-se quantos alfabetos-cifra entraram na
substituição. E, de modo geral, é o tamanho da palavra-chave que vai comandar o período
de repetição de cada alfabeto-cifra e, por conseguinte, a quantidade de alfabetos-cifra.

A próxima etapa consiste em separar o criptograma, segundo o período da chave, de forma


a tratar cada partição obtida como um criptograma no sistema monoalfabético.

-7-
DETERMINAÇÃO DO PERÍODO DA CHAVE

Se uma mensagem é criptografada no sistema polialfabético de VIGENERE, por exemplo,


a palavra-chave se repete, periodicamente, para cobrir toda a mensagem. Este período
corresponde ao tamanho da palavra-chave.

Considerando que não haja repetição de letras nesta palavra-chave, vai-se examinar o caso
de uma mensagem, em espanhol, de tamanho N criptografada com uma palavra-chave de
tamanho M.

O criptograma obtido poderia ser escrito em M linhas, de forma que em cada linha fossem
colocadas as letras originadas do mesmo alfabeto-cifra.

O número de letras em cada linha seria N/M. Tomando-se duas posições ao acaso, numa
mesma linha, a probabilidade de se obter duas letras iguais é

A
p2

o que dá, para o espanhol 0,074 (monoalfabético).

Se as duas posições fossem tomadas em linhas diferentes a probabilidade de coincidência


seria, em média, 0,038 uma vez que foram cifradas por alfabetos-cifra diferentes.

A probabilidade de se obter duas letras iguais ao se escolher duas posições, ao acaso, em


todo o criptograma é, como visto antes,

A
f  * (f  - 1) / 2 = 1 / 2 * n * (n – 1) * IC

A escolha de duas posições ao acaso no criptograma pode ser separada em dois termos
disjuntos:

1º) dado que se escolheu 1 das N posições escolher a outra na mesma linha.

1 / 2 * n * ( n / m – 1 ) * 0,074

-8-
2º) dado que se escolheu 1 das N posições escolher outra em linha diferente.

1 / 2 * n * (n - n / m ) * 0,038

Igualando as expressões obtidas:

1 / 2 * n * (n – 1) * IC = 1 / 2 * n * (n / m – 1) * 0,074 + 1 / 2 * n * (n - n / m ) * 0,038

Esta igualdade nos permite relacionar o ÌNDICE DE COINCIDÊNCIA com o tamanho da


palavra-chave ( IC versus M ).

Simplificando a expressão, considerando valores grandes para N.

Z
IC = ( 
A
p2 - 0,038) / m + 0,038

Para o espanhol teremos a seguinte tabela de correspondência.

M 1 2 3 4 5 6 10 Grande
IC 0,074 0,056 0,050 0,047 0,045 0,044 0,041 0,038

Esta tabela fornece apenas uma aproximação e se torna tanto mais imprecisa quanto maior é
o tamanho da palavra-chave.

-9-
Utilizando-se os criptogramas anteriormente obtidos do mesmo texto em espanhol, e
calculando-se o ÍNDICE DE COINCIDÊNCIA para ambos, tem-se:

IC = 0,074 para o monoalfabético

IC = 0,0443 para o polialfabético

Para o monoalfabético o resultado foi exatamente o esperado: No polialfabético o resultado


nos indica 6 alfabetos-cifra, enquanto, na verdade, foram usados 5.

Como esse resultado dá uma aproximação ter-se-ia experimentado a partição do


criptograma em 6 grupos e chegando-se à conclusão que não é a correta. Daí utilizar-se-ia
5 ou 7 grupos, até chegarmos ao período correto.

MÉTODOS PARA CONFIRMAR O PERÍODO DA CHAVE

Existem outros métodos para confirmar esta indicação, fornecendo o período correto.

Um deles consiste da contagem das coincidências ao se desviar, sucessivamente, o


criptograma escrito sob ele mesmo.

O método é cansativo, porém fornece excelentes resultados práticos.

Exemplo:
Desvio PAALP Coincidência
0 PAALP 5
1 PPAAL 2
2 LPPAA 0
3 ALPPA 0
4 AALPP 1

A coincidência deverá crescer toda vez que o desvio for múltiplo do período (tamanho da
chave) pois nessas posições as cifras foram obtidas do mesmo alfabeto.

O outro método, conhecido como "TESTE DE KASISKI", consiste em se listar as


sequências de letras que se repetem no criptograma e as " DISTÂNCIAS" entre elas.

A distância é definida, neste método, como a diferença entre as posições ocupadas no


criptograma.

- 10 -
Uma vez obtidas as distâncias de tidas as sequências e decompostas em fatores
("fatoradas") haverá uma incidência significativamente maior de múltiplos do período da
chave.

Confirmando o período da chave basta separar o criptograma nas partições devidas e tratar
cada uma delas como no sistema monoalfabético

REDUÇÃO DE POLIALFABÉTICOS PARA MONOALFABÉTICO

Quando o tamanho das partições obtidas está abaixo da DISTÂNCIA DE UNICIDADE


existe um método que permite reduzir todas as partições a um único alfabeto-cifra.

Esse método se baseia na procura do desvio relativo entre as várias partições, duas a duas, e
consiste em escrevê-las aos pares, uma sob a outra, deslizando-se uma sobre a outra, desde
o desvio 0 até 25, contando-se as coincidências em cada posição.

É de se esperar que o índice de coincidência seja mais elevado ao coincidirem os alfabetos-


cifra.

Como exemplo, supor a existência de três criptogramas, cada qual obtido com um alfabeto-
cifra diferente.

Des
0 1 2 3 4 5 6 7 8 9 10 11 12
Vio
1x2 203 261 178 194 209 168 159 178 226 196 321 169 161
1x3 196 290 202 201 152 195 173 182 227 167 195 231 351
2x3 238 162 240 215 280 181 153 155 197 253 193 227 176

Des
13 14 15 16 17 18 19 20 21 22 23 24 25
Vio
1x2 238 396 206 198 175 216 234 232 166 155 269 216 226
1x3 232 247 179 204 218 227 185 141 176 220 331 221 207
2x3 305 201 255 173 216 160 158 174 172 218 231 325 218

Da tabela do exemplo encontra-se um desvio de 14 do criptograma 1 em relação ao 2 e um


desvio de 12 do criptograma 1 em relação 3.

O desvio entre os criptogramas 2 e 3 (igual a 24) serve para confirmar a correção da


escolha.

- 11 -
(14 + 24 ) ( mod 26 ) = 12

EXERCÍCIO

Criptanalisar o criptograma obtido pelo sistema de VIGENERE.

CONCLUSÕES

1 - Um sistema criptográfico deve ter sua segurança residindo no conjunto de chaves


possíveis (condição necessária).

2 - Nem sempre um número muito grande de chaves garante a segurança de um sistema


(mas não suficiente).

3 - As fraquezas e possíveis armadilhas de um sistema devem ser pesquisadas


cuidadosamente (de preferência por cabeças diferentes daquelas que o conceberam).

4 - Do ponto de vista da criptanálise deve-se buscar todas as informações sobre a


linguagem do texto em claro.

5 - Desconfiar, como princípio, de todo algoritmo e, principalmente, dispositivos


criptográficos.

ANEXOS

TEXTO EM ESPANHOL

La velocidad, fluidez y movilidad de la guerra moderna exigen medios de comunicacion


sumamente flexibiles y asimismo moviles que esten disponibles al instante por lo general
en lugares remotos y en terrenos dificiles.

Los desastres naturales como terremotos o inundaciones crean la necesidad de facilidades


similares.

Estas necesidades pueden ser satisfechas solo mediante sistemas de comunicacion


completamente autonomos y transportables proyetados especialmente para desplazamiento
rapido a cualquier parte del mundo por tierra mar o aire y para que sean instalados
prontamente in situ y comiencen a funcionar en el menor tiempo posible.

- 12 -
QUADRO DE VIGENERE
CLARO 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
A A B C D E F G H I J K L M N O P Q R S T U V WX Y Z
B B C D E F G H I J K L MN O P Q R S T U V WX Y Z A
C C D E F G H I J K L M NO P Q R S T U V WX Y Z A B
D D E F G H I J K L M N OP Q R S T U V W X Y Z A B C
E E F G H I J K L M N O P QR S T U V WX Y Z A B C D
F F G H I J K L M N O P QR S T U V WX Y Z A B C D E
G G H I J K L M N O P Q R S T U V WX Y Z A B C D E F
H H I J K L M N O P Q R S T U V WX Y Z A B C D E F G
I I J K L M N O P Q R SS T U V W X Y Z A B C D E F G H
J J K L M N O P Q R S T U V WX Y Z A B C D E F G H I
K K L M N O P Q R S T U VWX Y Z A B C D E F G H I J
L L M N O P Q R S T U V WX Y Z A B C D E F G H I J K
M M N O P Q R S T U V W XY Z A B C D E F G H I J K L
N N O P Q R S T U V W X YZ A B C D E F G H I J K L M
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z AB C D E F G H I J K L M N O
Q Q R S T U V W X Y Z A BC D E F G H I J K L MN O P
R R S T U V W X Y Z A B CD E F G H I J K L MN O P Q
S S T U V W X Y Z A B C DE F G H I J K L MN O P Q R
T T U V W X Y Z A B C D EF G H I J K L M N O P Q R S
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z A B C D E F GH I J K L MN O P Q R S T U
W W X Y Z A B C D E F G HI J K L MN O P Q R S T U V
X X Y Z A B C D E F G H I J K L MN O P Q R S T U V W
Y Y Z A B C D E F G H I J K L MN O P Q R S T U V W X
Z Z A B C D E F G H I J KL MN O P Q R S T U V W X Y

CLARO * chave = CIFRA

- 13 -

Você também pode gostar