Title: T
1Tópicos Avançados de Redes de Computadores
2Criptografia
3História da Criptografia
A palavra criptografia vem do grego Kryptos, que
significa oculto, escondido e de grapho,
escrita. A melhor tradução, então, seria
escrita oculta. Desde que a humanidade lida
com a palavra escrita, a necessidade de se
escrever de forma que apenas determinadas pessoas
possam ler. Para isso, diversas técnicas foram
criadas, assim como técnica ira tentar driblar
estes mecanismos.
4História da Criptografia
O estudo da criptografia é chamado de
criptologia, enquanto os esforços para quebrá-la
são conhecidos como criptoanálise
5Alguns termos...
Criptografia kriptós escondido,
oculto grápho grafia ESCRITA OCULTA
Criptologia Estudo da Criptografia
Criptoanálise Engenharia Reversa da
criptografia. Tentativas de quebra de
criptografia.
6Alguns termos...
Esteganografia Capacidade de esconder
mensagens secretas em um meio, de maneira que as
mesmas passem despercebidas, como por exemplo,
uma mensagem embutida em um arquivo de imagem.
7Universo da Criptografia
A conversão de informações sigilosas em algo sem
sentido chamamos de encriptação. Equivalente a
encriptar, podemos usar os temos codificar,
criptografar e cifrar. Para converter as voltas
das informações em algo legível, realizamos o
processo de decriptação. Equivalente ao termo
decriptação, podemos usar os termos decodificar,
decriptografar e decifrar.
8Universo da Criptografia
Para cifrar ou decifrar, utilizamos um algoritmo.
Algoritmo é uma receita ou procedimento passo a
passo, uma lista de instruções a serem feitas em
uma determinada ordem. Normalmente um algoritmo
matemático utilizado na criptografia utiliza
fórmulas matemáticas desde as mais simples até
as complexas. Pode-se apenas manipular bits ou
usar fórmulas e mecanismos complexos para cifrar
a informação.
9Mais termos ...
Texto Claro ou Texto Simples dados que
queremos manter em sigilo Texto Cifrado dados
criptografados
10Algoritmo Regra geral
Seja T o texto original da mensagem Seja Ck( )
o algoritmo de critpografia, parametrizado pela
chave k, Ck(T) é então o texto criptografado Seja
Dk( ) o algoritmo para descriptografar, ele usa
a mesma chave k então T Dk(Ck(T))
11Casos de Criptografia
A criptografia é um dos recursos mais importantes
para proteção da informação, seja qual for o
método para transformar uma informação legível em
algo ilegível. A criptografia surgiu com a
necessidade de garantir a confidencialidade da
informação, seja ela acessada localmente ou em um
trânsito. Em 1900 a.c., os egípcios já
utilizavam uma forma de criptografia que
consistia num método simples de substituição dos
hieróglifos com objetivo de confundir o
interceptador de uma mensagem cifrada.
12Casos de Criptografia
300 a.c. - Artha-sastra, um livro atribuído para
Kautilya, foi escrito na Índia. Ele descrevia
alguns processos criptoanálise, processo para
quebra de código. 50 a.c. - Júlio César cria o
famoso método de substituição, conhecido como
Cifra de César. 1553 d.c. - Giovan Belaso
idealiza o conceito de uso de uma password, que
seria utilizada pra cifrar e decifrar um
texto.
13Casos de Criptografia
- O rádio é inventado. Esse fato foi um relevante
para criptografia, pois, durante os tempos de
guerra, as comunicações poderiam ser
interceptadas em massa. Nessa época, nascia a
profissão criptoanalistas, decifradores de
mensagens cifradas. 1917 - Britânicos
especialistas em criptografia, quebram o
chamado Telegrama de Zimmerman, um método de
comunicação utilizado pelos alemães durante a
primeira guerra. Essa conquista favoreceu os
Estados Unidos mudando a história da guerra.
14Casos de Criptografia
1918 - Os EUA empregam índios americanos da tribo
de Choctaw para retransmitirem informações
confidenciais em canais de comunicação inseguros.
Como essa língua nativa era extremamente complexa
e difícil de aprender, isso permitia um simples e
efetivo mecanismo de criptografia. 1923 -
Arthur Scherbius, inventor da máquina Enigma,
vende seu produto aos alemães que passam a
utilizar na Segunda Guerra pra cifrar as
comunicações militares. 1930 - Os Britânicos
desenvolvem uma maquina semelhante á Enigma,
chamada TYPEX.
15Casos de Criptografia
1937 - Os japoneses inventam uma maquina de
criptografia chamada Purple. Os EUA, através de
Willian Friedmam, quebram o código gerado por
essa máquina. 1939 - Os aliados conseguem
adquirir uma maquina Enigma depois de a
inteligência polonesa ter conseguido capturar uma
dessas maquinas alemã. 1940 - The Bombe, uma
maquina que decodificava mensagens geradas pela
Enigma, foi inventada.
16Casos de Criptografia
1939-42 - Uma vez que a máquina Enigma teve seu
código quebrado, a batalha no Atlântico foi
conquistada, fragilizando o domínio alemão,
preservando-se muitas vidas a partir daí. 1942
- Os EUA usam os Navajos, similares ao Choctaws.
Informações importantes eram transmitidas na
língua dos Navajos, dificultando o entendimento
pelo inimigo. 1970 - A IBM desenvolve a cifra
Lúcifer, que utiliza o algoritmo 3-DES,
amplamente aceito no mundo e relativamente
seguro.
17Casos de Criptografia
1976 - Surge o conceito de criptografia de
chave-pública. 1977 - Ronald Rivest, Adi Shamir
e Leonard Adleman inventam o algoritmo de
chave-pública RSA. 1990 - Matemáticos as Suíça
inventam o algoritmo IDEA (International Data
Encryption Algorithm) para substituir o DES. IDEA
usa 128 bits, 1991 - Pretty Good Privacy (PGP)
é atualizado por Phil Zimmerman, um americano.
Atualmente esse algoritmo é muito utilizado
principalmente na internet.
18A importância da Criptografia
Além da confiabilidade, a criptografia pode ser
utilizada também para garantir a integridade da
informação. Através de algoritmos específicos
podemos verificar se a informação não foi
alterada, garantindo, assim, a integridade da
mesma. Por fim, a criptografia pode ser
utilizada também para garantir o não-repúdio,
também chamado de irretratabilidade. Esse
recurso tem uma aplicação forte no âmbito legal,
utilizado para que as pessoas honrem a palavra
através de suas assinaturas digitais.
19Tipos de Criptografia
Substituição (cifra de césar) O sistema utiliza
a técnica de substituição simples. Na
substituição simples cada letra da mensagem é
substituída por letra ou símbolo. No caso de
César a substituição é por outra letra, seguindo
um deslocamento padrão (3) Exemplo A D B
E C F D G E H
M P E H N Q S V A D G J E H M P
Desta forma a Palavra Mensagem É
Grafada PHQVDJHP
20Tipos de Criptografia
As substituições simples são vulneráveis a uma
técnica de criptoanálise chamada Análise de
Freqüência. A analise de freqüência verifica
os símbolos ou letras que aparecem mais no texto.
De acordo com a língua de origem da mensagem,
pode-se tentar substituir estes símbolos por
letras de acordo com a freqüência em que eles
aparecem no Em casos como César, porém, em que a
substituição segue um padrão, o processo é ainda
mais simples.
21Tipos de Criptografia
Em 1586, Blaise de Vigenère escreveu um livro
sobre cifras no qual publica sua Cifra de
Vigenère . Esta cifra, baseada em César, traz
como inovação a utilização de uma palavra como
chave, de tamanho variável. A substituição das
letras do texto original acontece de acordo com a
letra correspondente da chave, como no exemplo a
seguir
22Tipos de Criptografia
23Tipos de Criptografia
Chave MUITO Texto Claro OUTRO Texto Cifrado
AOBKC Deslocamento M 12 U 20 I
8 T 19 O 14
24Tipos de Criptografia
25Tipos de Criptografia
Transposição As cifras alteram a posição das
letras da mensagem, embaralhando-as segundo um
padrão e fazendo com que apenas quem conhece este
padrão consiga ler a mensagem. Cifras desde tipo
são imunes à análise de freqüência, pois as
letras que compõem a mensagem e o texto cifrado
continuam as mesmas Exemplo (texto
cifrado)
OHORASECAESCNNNDALOOCIOTAPIOCSAORTN
26Tipos de Criptografia
Texto em claro Encontro às cinco horas no páteo
da escola
27Tipos de Criptografia
Transposição Na Grécia antiga, por exemplo,
foi criado o Bastão Licurgo. A técnica consistia
em enrolar uma tira de couro um em um bastão,
para, depois, se escrever a mensagem ao lado
deste. Depois desenrolando a tira, a mensagem
ficava ilegível. Para que fosse possível lê-la,
era necessário, enrola-la novamente no bastão. O
segredo, ou chave, neste caso, era a própria
técnica em si, e o bastão.
28Tipos de Criptografia
Bastão Licurgo
29Tipos de Criptografia
Os sistemas de transposição mais comum são os
geométricos lineares e colunares. Consistem na
colocação da mensagem em matrizes de tamanho
variável, linha a linha, e a retirada do texto
cifrado coluna a coluna (sistema colunar), ou
vice e versa (sistema linear). Texto cifrado
(chave 3 3 colunas) TED (1ª linha) ESI (2ª
linha) XCD (3ª linha) TOO (4ª linha) ON (5ª
linha) TEDESIXCDTOOON
30Criptografia Moderna
Os sistemas modernos de criptografia não devem
ser capazes de encriptar apenas texto, mas também
imagens, áudio, vídeo. É necessária então, a
capacidade de encriptar dados em formato binário.
O tamanho da informação também não é conhecido de
antemão. Os algoritmos modernos de criptografia
são divididos em duas famílias, aqueles que fazem
Criptografia Simétrica e aqueles que fazem
Criptografia Assimétrica. Sistemas de
criptografia simétrica utilizam a mesma chave
para encriptar e para decriptar os dados. Além
disso, os algoritmos de criptografia trabalham em
dois modos, em bloco e em fluxo.
31Criptografia Moderna
Algoritmo de Bloco Possuem tamanho fixo (64
bits) das informações que entram e saem. Para
trabalharem tamanhos maiores dividem a
informação. Algoritmo de Fluxo Trabalham bit a
bit (ou byte a byte), não havendo necessidade de
completar as informações até um determinado
tamanho. Algoritmos de fuxo, são mais complexos
operacionalmente, mas trazem vantagens em termos
de performace, sendo indicados para situação em
que há necessidade de criptografia on the fly,
como em streaming de vídeo e áudio.
32Algoritmos Simétricos
33Algoritmos Simétricos
DES Data Encryption Standard O DES foi
criado pela IBM, na década de 70, com nome origem
de Lúcifer. Seu fundamento foi criado de forma a
otimizar implementações em hardware, e foi
desenvolvido originalmente para trabalhar com
chaves de 128 bits de tamanho. A NSA, agencia
de segurança internacional americana, modificou o
algoritmo para torná-lo mais resistente a ataques
de uma técnica conhecida como Análise Diferencial
, desconhecida na época, e reduziu o tamanho da
chave para 56 bits .
34Algoritmos Simétricos
Essa modificação acabou tornando-se cara demais,
pois atualmente, o DES está sendo substituído
devido ao pequeno tamanho de sua chave. O DES é
um algoritmo de bloco (64 bits) e trabalha
realizando uma serie de substituições (baseadas
em matrizes conhecidas como S-boxes) e
transposições, em 16 rodadas de modificação da
informação.
35Algoritmos Simétricos
3DES Triple DES Com o passar do tempo, a
chave de 56 bits do DES passou a não ser
suficientemente grande para tornar ataques de
Força Bruta improdutivos. Computadores
relativamente baratos podem testar todas as
possibilidades de uma chave de 56 bits (2.56
72057594037927936 possibilidades), tornando-o
inseguro para uso em situações como comércio
eletrônico e proteção de informações
confidenciais. Uma forma de minimizar o
problema é a execução repetida dos DES para cada
bloco, com chaves diferentes.
36Algoritmos Simétricos
Desta forma, foi criado o padrão 3DES, que
consiste no uso do DES 3 vezes para cada bloco.
Com 3 chaves diferentes, gera-se uma chave
efetiva de 168 bits. Normalmente, utiliza-se o
3DES nas seguintes configurações EDE ( encripta,
decripta, encripta) EEE ( encripta, encripta,
encripta) Através da utilização da mesma chave
nos passos 1 e 2, pode-se trabalhar também com
chaves de 112 bits, A performace do 3DES,
contudo, fica prejudicada, uma vez que são
necessárias 3 execuções de DES para cada bloco,
tornando-o 3 vezes mais lento que o DES.
37Algoritmos Simétricos
AES Advanced Encryption Standard Devido à
fragilidade do DES, foi realizado um processo de
seleção de um novo algoritmo para ser utilizado
com padrão, o AES. O processo envolveu diversos
algoritmos, de diversas partes do mundo. Após uma
avaliação detalhada de cada um dos concorrentes,
foi selecionado como vencedor o algoritmo belga
Rijndael.
38Algoritmos Simétricos
O novo AES é capaz de trabalhar com chaves e
blocos de 128, 192 e 256 bits. O algoritmo foi
projetado de forma a ter alta performance em
qualquer uma das formas a operar, e é capaz de
tirar proveito de máquinas multiprocessadas.
Análises iniciais mostram que o AES é
resistente aos ataques de análise diferencial.
39Algoritmos Assimétricos
A criptografia assimétrica difere da criptografia
simétrica com relação às chaves utilizadas nos
processos de criptografia e descriptografia. Na
criptografia simétrica, a mesma chave é utilizada
nos dois processos. Na assimétrica, são chaves
diferentes. Esta característica traz diversas
vantagens de troca de chaves, o maior problema no
uso da criptografia simétrica. Para
possibilitar a criação de algoritmos com essas
características, são utilizadas diferentes
técnicas matemáticas. Um dos recursos mais
utilizados por esses algoritmos são os números
primos.
40Algoritmos Assimétricos
Diffie-Hellman O primeiro passo em direção a
criptografia assimétrica foi dado por dois
pesquisadores, Whitfield Diffie e Martin Hellman,
em 1974. Diffie e Hellman pensaram em uma
situação na qual duas partes quisessem se
corresponder de maneira segura com caixas
trancadas por cadeado, sem fazer troca antecipada
de chaves. O Sistema Diffie-Hellman é
implementado em diversos protocolos de
comunicação segura, como o sistema de troca de
Chaves IKE (Internet Key Exachange), utilizado em
VPNs IPSEC.
41Algoritmos Assimétricos
Texto Claro
Decriptar Chave Privada
Texto Cifrado
Encriptar Chave Pública
Principal Característica Uso de Duas Chaves
42Algoritmos de Resumo Digital
Não usam chave! Funções usadas em criptografia
garantem que não é possível a partir de um valor
de hash retornar à informação original. Os
algoritmos em si não são secretos, Mas são usados
em segurança! É uma função matemática que recebe
uma entrada de tamanho arbitrário produz um
número (pequeno) como saída. É possível que
várias mensagens gerem o mesmo hash, mas deve ser
difícil encontrar tal par
43Algoritmos de Resumo Digital
Funções de sentido único ( One-Way) São funções
matemáticas nas quais não é possível saber qual a
entrada a partir do resultado, ou seja Se y
F(x), não é possível conhecer x a partir de y
Uma boa analogia às funções de sentido único é
a mistura de tintas. Uma vez misturada tintas de
diferentes cores, não é possível voltar às cores
originais.
44Algoritmos de Resumo Digital
Os algoritmos de hash são mais eficientes, em
termos de velocidade, que os algoritmos de chave
pública Algoritmos mais usados em Hash MD5
Message Disgest 5 Saída de 128 bits Criado por
Ron Rivest SHA 1 ( Secure Hash
Algorithm) Saída de 160 bits Padrão FISPS do
Nist
45Algoritmos de Resumo Digital
Funções de hasting são úteis quando precisamos
gerar resumos da informação, que serão
utilizados posteriormente para identificar
eventuais modificações. Um arquivo de 1 mb, por
exemplo, gera um hash X. Se alterarmos apenas um
bit dês de arquivo, o hash será completamente
diferente de X , indicando que houve alteração.