Criptografia Clássica - Departamento de Informática e Estatística

Transcrição

Criptografia Clássica - Departamento de Informática e Estatística
Universidade Federal do Piauí
Departamento de Informática e Estatística
Curso de Ciência da Computação
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Carlos André Batista de Carvalho
Criptografia Clássica
o Sumário




Definições
Esteganografia
Cifras de Transposição
Cifras de Substituição
• Cifras de Substituição Monoalfabéticas
• Criptoanálise
• Cifras de Substituição Polialfabéticas
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia Clássica e Esteganografia
• Criptoanálise
 Marcos Históricos
Criptografia Clássica
2/54
o Definição: escrita oculta ou secreta
 “*de cript(o) + grafia.] S.f. 1. Arte de escrever em cifra ou em código.
2. Conjunto de técnicas que permitem criptografar informações (como
mensagens escritas, dados armazenados ou transmitidos pelo
computador, etc.).” (AURÉLIO)
 Investigação de métodos e técnicas que podem ser usadas para
esconder o conteúdo de uma mensagem (texto em claro), produzindo
um criptograma (texto incompreensível para um leitor desautorizado)
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia
3/54
o Definição
 Cifragem
• Entrada: texto em claro e chave
• Importância da chave: segredo
• “A segurança de um sistema criptográfico deve residir unicamente no
segredo da chave, e não do algoritmo.” Auguste Kerckhoffs, 1873
• Saída: criptograma
• Mecanismo reverso: decifragem
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia
4/54
o Processo de comunicação
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia
 Oponente (Eva) pode interceptar o criptograma
• Não consegue obter a mensagem original
• Não possui a chave de decifragem
• Pode ou não ser a mesma da cifragem
Criptografia Clássica
5/54
o Uso de criptografia
 Antiguidade: entidades militares, igreja e governo
• Comunicação feita por mensageiros
• Por que?
• “A arte da guerra”, de Sun-Tzu (IV a.C.)
• Valor da Informação
• “Nada deve ser mais estimado do que a informação, mais bem pago do
que a informação e nada deve ser mais confidencial do que o trabalho
de coleta de informações.”
• Proteção de documentos da administração pública
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia Clássica
 Renascimento: difusão (cientistas)
 Advento do computadores: popularização (sociedade civil)
Criptografia Clássica
6/54
o Classificação
 Esteganografia
 Cifras de Transposição
 Cifras de Substituição
• Cifras de Substituição Monoalfabéticas
• Cifras de Substituição Polialfabéticas
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptografia Clássica
7/54
o Definição
 Do grego: grafia coberta
 Ocultação da mensagem (e não do conteúdo)
 Primeiros registros: 480 a.C.: Demarato
• Grego, que morava na Pérsia, queria alertar os gregos sobre um ataque
• Escreveu uma mensagem em tabuletas de madeira cobertas com cera
• Conteúdo revelado ao raspar as tabuletas
o Exemplos:
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Esteganografia
 Herótodo: Raspar a cabeça / Escrever a mensagem / Deixar o cabelo
crescer
 Tinta invisível (desde séc. I): visível na queima
 China: Escrita em uma seda fina, coberta com cera
 Itália (séc. XVI): Escrita com uma tinta que penetrava a casca de um
ovo
Criptografia Clássica
8/54
o Exemplos:
 Microponto (2a Guerra Mundial):
• Alemães reduziam fotograficamente uma página de texto até transformála em um ponto.
 Escondendo mensagens em um texto
• Algumas letras do texto forma uma mensagem
• Filme: A lenda do tesouro perdido
 Escondendo mensagens em imagens
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Esteganografia
• Uso do bit menos significativo para armagenar o texto
 Cédulas de dinheiro
o Fraqueza: interceptação da mensagem revela seu conteúdo
 Combinar com a criptografia
Criptografia Clássica
9/54
o Definição
 A mensagem forma um anagrama (reorganização de letras)
• Posições das letras são alteradas (a identidade permance a mesma)
• A quantidade de cada letra não é alterada
o Exemplos:
 Escrever no sentido inverso: ANDRE  ERDNA
• A frase toda
• Palavra por palavra
• Sequência fixa de caracteres
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Transposição
• ANDRE  NARDE (2 a 2)
• “Cerca de Ferrovia” (Rail Fence)
•
•
Criptografia Clássica
A D E  ADENR (2 trilhos)
N R
AN RE  ARNED (3 trilhos)
D
10/54
o Exemplos
 Citale (Esparta, séc. 5 a.C.)
• Bastão enrolado em um pedaço de couro ou pergaminho
• Lisandro pôde se preparar para um ataque ao receber uma mensagem,
criptografada usando o citale
• Bastões devem ter mesmo diâmetro
• Comportamento semelhante à “Cerca de Ferrovia”
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Transposição
[NUMABOA]
o Atualmente as cifras mesclam transposição e substituição
Criptografia Clássica
11/54
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Transposição
12/54
o Definição
 Cada símbolo da mensagem é substituído por um outro símbolo
• Retém a posição dentro da mensagem
o Sofreram maiores evoluções ao longo dos anos
 Cifras Monoalfabéticas
• Estabelece um mapeamento entre cada símbolo de um alfabeto original
por outro de um único alfabeto cifrado (chave)
• Espaço de chaves: 26!
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição
• Mais de 400.000.000.000.000.000.000.000.000 de chaves
• A chave deve ser memorizada e guardada em segredo
• Mecanismo de cifragem/decifragem é conhecido
Alfabeto original
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
Alfabeto cifrado
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
Plaintext
andre
Ciphertext
QFRKT
Criptografia Clássica
13/54
o Exemplos:
 Guerras de Gália
• 1o uso com propósitos militares
• Substituição do alfabeto romano pelo grego
 Kama-sutra
• Texto do séc. IV a.C., que descreve um conjunto de 64 artes
• A arte escrita secreta
• Emparelhamento ao acaso das letras
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
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
Alfabeto original
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
Alfabeto cifrado
N 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
Criptografia Clássica
14/54
o Exemplos:
 Júlio César
• Substituição de um letra por outra três casas à frente (circular)
• Generalização: cifra de deslocamento (ex.: 13 casas)
Alfabeto original
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
Alfabeto cifrado
N 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
 Palavra-chave
• Chave é indicada por uma palavra-chave
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
• Retira-se as letras repetidas / Continua a partir do fim da frase
• Ex.: CARLOS ANDRE (CARLOSNDE)
Alfabeto original
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
Alfabeto cifrado
C A R L O S N D E F G H I J K M P Q T U V W X Y Z B
Criptografia Clássica
15/54
o Questões chaves para a evolução
 Possibilidade da interceptação de um criptogragma
• Obtenção da mensagem original sem o conhecimento da chave
 Aumento no uso de algoritmos criptográficos
• Evolução dos sistemas de comunicação
o Criptoanálise
 Métodos usados para determinar a chave ou o texto original sem o
conhecimento da chave
 Força bruta
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
• Verificar todas as chaves
• Cifra de deslocamento: apenas 25 tentativas
• Métodos para diminuir o espaço de chaves
Criptografia Clássica
16/54
o As cifras monoalfabéticas eram seguras até final do 1o milênio
 Mundo Árabe
• Civilização Islâmica (séc. VII)
• Codificação dos segredos de estado
• Al-Kindi
• Primeiro método de criptoanálise (séc. IX)
• A frequência de caracteres de um criptograma é igual a do texto em
claro
• Existe apenas mudança de símbolos
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
• Análise de frequência
• Comparar a frequencia de caracteres do criptograma com os padrões
ocorridos na linguagem orignal
• Fortemente embasada em conhecimentos linguísticos
Criptografia Clássica
17/54
o Análise de frequência
 Observar a própria estrutura
• Frase: Sujeito (artigo+substantivo+adjetivo) + verbo + predicado
• Palavras curtas (até três letras) e sílabas
• Intuição (tentativa e erro)
 Frequência das letras do português brasileiro (NUMABOA)
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
18/54
o Exemplo
“YVRK AEO MYSCK WKSC VSXNK WKSC MROSK NO QBKMK
O OVK K WOXSXK AEO FOW O AEO ZKCCK
COE NYMO LKVKXMY K MKWSXRY NY WKB
WYMK NY MYBZY NYEBKNY NY CYV NO SZKXOWK
Y COE LKVKXMKNY O WKSC AEO EW ZYOWK
O K MYSCK WKSC VSXNK AEO OE TK FS ZKCCKB”
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
19/54
o Exemplo
 Análise de frequência
Letra
Frequência
Letra
Frequência
Letra
Frequência
Letra
Frequência
A
2,76
H
0
O
11,60
V
3,86
B
2,76
I
0
P
0
W
6,62
C
7,18
J
0
Q
0,55
X
4,41
D
0
K
18,78
R
1,65
Y
9,94
E
5,52
L
1,10
S
7,18
Z
2,76
F
1,10
M
5,52
T
0,55
G
0
N
6,07
U
0
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
20/54
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
o Exemplo
 Letras mais comuns no português: A, E, O
• Criptograma: K, O, Y
 Palavras curtas comuns em português:
• QUE, SEU, SUA, ELE, ELA, UMA
• SE, DE, DA, DO, UM, EU, SO
“YVRK AEO MYSCK WKSC VSXNK WKSC MROSK NO QBKMK
O OVK K WOXSXK AEO FOW O AEO ZKCCK
COE NYMO LKVKXMY K MKWSXRY NY WKB
WYMK NY MYBZY NYEBKNY NY CYV NO SZKXOWK
Y COE LKVKXMKNY O WKSC AEO EW ZYOWK
O K MYSCK WKSC VSXNK AEO OE TK FS ZKCCKB”
• “O K”  “E A” ou “E O”
Criptografia Clássica
“OVK”  “E?A” “E?O”
“AEO”  “QUE”?
21/54
o Exemplo
“olRa que MoSCa WaSC lSXNa WaSC MReSa Ne QBaMa
e ela a WeXSXa que FeW e que ZaCCa
Ceu NoMe LalaXMo a MaWSXRo No WaB
WoMa No MoBZo NouBaNo No Col Ne SZaXeWa
o Ceu LalaXMaNo e WaSC que uW ZoeWa
e a MoSCa WaSC lSXNa que eu Ta FS ZaCCaB”
 “CC”  “SS” ou “RR”
CS
RH
N  D ou S
WM
Alfabeto original
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
Alfabeto cifrado
K
Criptografia Clássica
O
V
Y
A
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
E
22/54
o Exemplo
“olha que MoSsa maSs lSXda maSs MheSa de QBaMa
e ela a meXSXa que Fem e que Zassa
seu doMe LalaXMo a MamSXho do maB
moMa do MoBZo douBado do sol de SZaXema
o seu LalaXMado e maSs que um Zoema
e a MoSsa maSs lSXda que eu Ta FS ZassaB”




ma?s  maes, mais
ma?  mas, mar, mae
?em  tem, vem, cem
?assa e ?oema  passa e poema
do?e e mo?a  doce e moca (mola)
Alfabeto original
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
Alfabeto cifrado
K
Criptografia Clássica
N O
R
V W
Y
A
C
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
E
23/54
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
o Exemplo
“olha que coisa mais liXda mais cheia de Qraca
e ela a meXiXa que Fem e que passa
seu doce LalaXco a camiXho do mar
moca do corpo dourado do sol de ipaXema
o seu LalaXcado e mais que um poema
e a coisa mais liXda que eu Ta Fi passar”




camin?o  caminho (lin?a  linda)
?raca  traca, graca
?em  tem, vem, cem
?a  ja, pa
?i  vi, li
Alfabeto original
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
Alfabeto cifrado
K
Criptografia Clássica
M N O
R S
V W
Y Z A B C
E
24/54
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
o Exemplo
“olha que coisa mais linda mais cheia de graca
e ela a menina que vem e que passa
seu doce balanco a caminho do mar
moca do corpo dourado do sol de ipanema
o seu balancado e mais que um poema
e a coisa mais linda que eu ja vi passar”
Alfabeto original
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
Alfabeto cifrado
K L M N O
Criptografia Clássica
Q R S T
V W X Y Z A B C
E F
25/54
Frequência no Criptograma
20
18
16
14
12
10
8
6
4
2
0
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
Frequencia do Portugues
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
16
14
12
10
8
6
4
2
0
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
Criptografia Clássica
26/54
o Exemplo
 Cifra de deslocamento: 10 casas
Alfabeto original
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
Alfabeto cifrado
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
o É possível automatizar?
 Conhecimento matemático e estatístico
 Algoritmos com sugestões de parte do alfabeto cifrado
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Monoalfabéticas
• Heuristicas
• Algoritmos genéticos
Criptografia Clássica
27/54
o Fatos Interesantes
 Idade Média
• Monges Europeus
• Trechos do velho testamento codificados em uma cifra de substuição
hebraíca (atbash)
• Primeiro livro (séc. XIII) - Roger Bacon (inglês): “Epistle on the Secret Words of
Art and the Nullity of Magic”
 Renascimento
• Motivação para uso de cifras
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
• Necessidades políticas
• Maria, rainha da Escócia, quis roubar o trono da rainha Elizabeth
• Os cientistas (séc. XIV) queriam manter as descobertas em segredo
• Criptoanálise na Europa (séc. XVI)
Criptografia Clássica
28/54
o Evolução das cifras
 Dificultar a análise de frequência
 Monogrâmica: substituição simples
• Caracteres nulos - sem valor no alfabeto original
• Grafia errada
• Eliminação de espaços
 Homofônica
• Na cifragem, uma letra por ser substituída por um entre vários símbolos
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
• Distribuição uniforme de símbolos
• Na decifragem, cada símbolo só tem uma letra correspondente
• Grande Cifra de Luís XIV
• Usada, por exemplo, para proteger a identidade do Homem da Máscara de
Ferro
Criptografia Clássica
29/54
o Evolução das cifras
 Poligrâmica: substituição de um conjunto de símbolos (dígrafo, sílaba,
palavra) por um código
• Conjunto de palavras é maior do que o de letras
• Desvantagem
• Divulgar o livro de códigos
• Se o livro for interceptado, deve ser reescrito
• Nomencladores - solução híbrida
• Alfabeto cifrado e códigos
• Códigos podem ser deduzidos após a análise de frequência
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Monoalfabéticas
 Tomogrâmica
• Substituíção de um símbolo por um conjunto de símbolos
Criptografia Clássica
30/54
o Definição
 Alberti (séc. XV)
 Utilização de vários alfabetos cifrados
• Cada letra é cifrada por um dos alfabetos
• Uma letra no criptograma pode representar uma entre várias letras
• Uso dos alfabetos em ordem: permitir a decifragem (ex. com 3 alfabetos)
• 1a, 4a, 7a, 10a, … cifrados com o 1o alfabeto
• 2a, 5a, 8a, 11a, … cifrados com o 2o alfabeto
• 3a, 6a, 9a, 12a, … cifrados com o 3o alfabeto
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Polialfabéticas
• Chave composta por vários alfabetos
• Quantidade de alfabetos é o período da chave
Criptografia Clássica
31/54
o Cifra de Vigenère
 Publicou “Um tratado sobre a escrita secreta”
 Baseado na cifra de deslocamento
• 26 alfabetos cifrados
 Simplificação: a chave é uma palavra
 Cada letra indica a letra inicial do alfabeto cifrado a ser usado
 Ganhou força no séc. XVIII
• Cifras monoalfabéticas satisfaziam os usuários e eram mais simples
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Polialfabéticas
32/54
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifra de Vigenère
33/54
o Fatos interesantes
 Câmeras negras
• Cada potência possuia uma câmera negra
• A melhor era a de Viena
• Criptoanálise
• Forçou o uso das cifras polialfabéticas
• Criptógrafos levam vantagens sobre os criptoanalistas
 Antigamente: cartas
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Polialfabéticas
• Telégrafo (séc. XIX)
• Primórdios (1753): um cabo elétrico para cada letra
• Sistema de detecção de sinais elétricos
• Código Morse (Americanos)
Criptografia Clássica
34/54
o Criptoanálise polialfabética
 Baseada em conhecer o período da chave
• Separar o criptograma em várias partes
• Uma para cada alfabeto
• Resolver cada parte como sendo uma cifra monoalfabética
• Utopia: chave do tamanho do texto
 Friedrick Kasiski (1863)
• Publicação: “A escrita secreta e a arte de decifrá-la”
• Charles Babbage (1854)
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Cifras de Substituição Polialfabéticas
• Descoberto no século XX
• Desenvolveu o mesmo método de forma independente
• Suas descorberta acabou sendo ignorada
Criptografia Clássica
35/54
o Método Kasiski
 Busca por padrões repetidos
• A distância entre duas sequências de letras idênticas indica um múltiplo
provável do período da chave
• Por que?
• Em um texto grande, uma mesma sequência pode ser cifradas pelo mesmos
alfabetos
 Algoritmo
•
•
•
•
Identificar padrões repetidos de três ou mais letras
Anotar, para cada sequência, as posições iniciais de cada ocorrência
Calcular as diferenças entre as posições iniciais de sequências iguais
Calcular o MDC das diferenças encontradas
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
• Período da chave
Criptografia Clássica
36/54
o Método Kasiski
 Exemplo
Sequência
Posições
Diferenças
LEM
4, 166
162
EMG
5, 167
162
DSM
64, 124
60
LRG
90, 106
12
FPA
135, 147
12
PAS
136, 148
12
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
MDC = 6
Criptografia Clássica
37/54
o Índice de Coincidência (1920)
 William Friedman
• “The Index of Coincidence and Its Application in Cryptography”
 IC é a probabilidade de dois símbolos, tomados ao acaso,
corresponderem à mesma letra
Z
IC (m) 
 n (n  1)
i
i
A
n(n  1)
Z
IC (m)   pi2
A
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
• em que, n é o tamanho da mensagem e ni é a frequencia da letra i em m
Criptografia Clássica
38/54
o Índice de Coincidência
 Exemplo
• IC(m) = 0,046 (garota de ipanema criptografado)
• Texto pequeno
• ICL = 0,078 (português)
• ICR = 0,038 (aleatório)
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
39/54
o Índice de Coincidência
 IC varia entre ICL e ICR
• A medida que aumenta o período da chave a distribuição fica mais
uniforme
• Estimativa do tamanho da chave (t)
t
n * ( ICL  ICR )
(n  1) * IC (m)  n * ICR  ICL
t≈5
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
 Aumento no tamanho da chave
• Diferença entre ICs de chaves de tamanhos vizinhos diminui
 Pode ser usado junto com o método Kasiski
• A distância representa um múltiplo do tamanho da chave
Criptografia Clássica
40/54
o Descoberto o período da chave
 Separação em vários textos
• Um para cada cifra monoalfabética
• Exemplo: chave de tamanho 3
• 1o texto contém os elementos 1o, 4o, 7o, 10o, …
• 2o texto contém os elementos: 2o, 5o, 8o, 11o, …
• 3o texto contém os elementos: 3o, 6o, 9o, 12o, …
• Executar análise de frequência em cada texto
• Facilitada se for usada a cifra de Vigenère
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
41/54
o Outras técnicas
 Uso de técnicas de Recuperação de Informações
• Minha Dissertação de Mestrado
• Quanto maior é o período de uma chave, menor é a similaridade entre
documentos cifrados com essa chave
• Documentos cifrados com chaves dintitas
• Similaridade tende a zero
• Clusterização (agrupamento)
• Formar grupos com textos cifrados com uma mesma chave
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Criptoanálise de Cifras Polialfabéticas
• Classificação
• k-Nearest Neighbor (k-NN)
• É necessário um treinamento prévio
• Grupo: tamanho da chave, média de similaridade
Criptografia Clássica
42/54
o Evolução dos algoritmos (ciclo)
 Os criptógrafos desenvolviam cifras mais seguras
 Os criptoanalistas procuravam quebrá-las
• Diminuir o tempo para realizar a força bruta
• Custo para quebrar não deve ser maior que o valor da informação
 Garantia de Segurança
• O que é seguro hoje, pode não ser amanhã
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
43/54
o Cifra de Beale (séc. XIX)
 Um tesouro de 20 milhões de dolares
• Enterrado em Virgínia
 Três documentos cifrados revelavam seu paradeiro
• Localização / Conteúdo do Tesouro / Pessoas a receber o dinheiro
• Uma delas foi decifrada
• A chave estava na declaração de independência
• Uso de texto-chave único
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Inviável
 Final século foi publicado um folheto
• Todo (ou parte) do conhecimento que se tinha sobre o tesouro
Criptografia Clássica
44/54
o 1a Guerra Mundial
 Comunicação sem fio (rádio)
• Desenvolvida no final do séc. XIX, por Guglielmo Marconi (italiano)
• Facilitava a comunicação em ambientes onde era inviável o uso de fios
(por exemplo, o mar)
• A transmissão via aérea permitia a interceptação das mensagens
• Usada com receio
• Aplicação prévia da criptografia
• Os franceses destruiam suas linhas telegráficas enquanto recuavam do
avanço alemão
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Uma maior variedade de mensagens interceptadas
• Facilita o trabalho dos criptoanalistas
Criptografia Clássica
45/54
o 1a Guerra Mundial
 Valor da Informação
• Equipes de criptógrafos e criptoanalistas
 Cifra ADFGVX
• Escolha das letras devido suas diferenças na representação em código
Morse
• Uso de transposição e substituição
• Desenvolvida por alemães
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Quebrada por Painvin (francês)
 Outras cifras
• Combinação de cifras conhecidas
Criptografia Clássica
46/54
o 1a Guerra Mundial
 Cifras indecifráveis
• Chave do tamanho da mensagem
• Chave deve ser sentido
• Usada uma única vez
• Inviável
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
47/54
o 1a Guerra Mundial
 Mecanização do sigilo
• Primórdios: Alberti - Discos de Cifras (séc. XV)
• Final da 1a Guerra (1918)
• Scherbius (alemão) desenvolveu a Enigma
• Cifra polialfabética sem a repetição de padrões
• Chave
• Disposição de três misturadores em ordem (6 ajustes)
• A cada letra digitada um disco (26 ajustes) era girado
• Ajuste em um painel de tomadas (6 pares ≈ 100.000.000.000)
• Trocas de letras antes de cifrar
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Teclado (digitar uma mensagem)
• Lâmpadas para mostrar uma letra cifrada
• Decifragem possível devido ao uso de um refletor
Criptografia Clássica
48/54
o 1a Guerra Mundial
 Enigma
• Outras máquinas
• Suécia
• Holanda
• Fim da Guerra
• Baixas Vendas
• Caro
• Fragilidade das cifras
• Uso militar (1925)
• Governo (estatais)
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
49/54
o Antes da 2a Guerra Mundial
 Distribuição dos livros de códigos (chaves diárias)
• A chave de cada mensagem era cifrada com uma mesma chave
• Duas vezes (evitar erros)
 Parceria entre a França e a Polônia
• (Espionagem) Troca de informações sobre a Enigma
 Quebra da Enigma
• Polonês Rejewski (década de 30)
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Observação do padrão obtido pelo ajustes dos misturadores
• Catálogo
• Cada ajuste possuia um conjuntos de correntes particular
• Independente do painel de tomadas
• Obtido numa simples análise (substituição simples)
Criptografia Clássica
50/54
o 2a Guerra Mundial
 Aumento da segurança da Engima
• Mecanização: Bombas
• Seis maquinas Enigmas em paralelo
• Dois novos misturadores / 10 pares (painel de tomadas)
• Bombas com 60 máquinas
• Sem verba: divulgação para franceses e ingleses
• Equipes de criptoanalistas
• Cientistas, matemáticos, linguistas, enxadristas, especialistas em palavras
cruzadas e até em cultura clássica
• Busca por atalhos (devido ao uso inadequado)
• Chaves óbvias
• Evitar repetições
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
51/54
o 2a Guerra Mundial
 Aumento da segurança da Engima
• Alan Turing
• Máquina universal de Turing
• Indecibilidade
• Conviado para ser criptoanalista em Bletchley Park
• Sem repetição de chaves (uso de colas)
• Associar palavras a pedaços do texto
• Encontrar as correntes
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Aprimorou as Bombas
Criptografia Clássica
52/54
o 2a Guerra Mundial
 Espionagem
• Obtenção de livros-códigos
• Agir com cuidado
• Adversários não desconfiar que não estão seguros
 Outras cifras (italianas, japonesas) foram quebradas
• Criptoanalistas não receberam o reconhecimento público
 Uso de idiomas desconhecidos
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
• Índios Navajos (americanos)
• Guerra contra os japoneses no Pacífico
• Palavras inexistentes (soletradas)
• Decifrar escritas antigas
• Linear B (Creta) e os hieróglifos egípcios (3000 a.C.)
Criptografia Clássica
53/54
o 2a Guerra Mundial
 Lorenz
• Cifra alemã
• Não podia ser quebrada pelas Bombas
• Max Newman (1943) desenvolveu o Colossus (Inglaterra)
• Máquina flexível, precursora dos computadores modernos
• Créditos: ENIAC (1945)
• Não existe mais limitação mecânica
• Realizar tarefas complexas (muitos misturadores)
• Mais Veloz (testar várias chaves)
• Linguagem do computador é binária
Criptografia Clássica
SEGURANÇA EM SISTEMAS COMPUTACIONAIS
Critografia Clássica
54/54

Documentos relacionados