Criptografia Simétrica

Propaganda
Tópicos Avançados em Redes
Prof. Alessandro Brawerman
Introdução



Encriptação é o processo que converte
dados sensíveis para uma forma codificada
Quando recuperada por usuários autorizados,
esta forma codificada é então convertida
(decodificada) em texto com significado
novamente
A encriptação esconde ou disfarça a
informação de recipientes mal-intencionados,
mas permite que usuários autorizados a
recuperem
2
Introdução




O estudo da comunicação secreta é
chamado criptologia
A prática ou arte de codificar mensagens é
chamada de criptografia
Dados não criptografados são chamados de
texto puro (plaintext)
A saída criptografada é chamada de texto
cifra ou só cifra (ciphertext ou cipher)
3
Introdução



Criptografia já é usada desde os tempos de
Nero, na Roma antiga
Foi muito usada na II Guerra
Aumento de interesse na década de 70
4
Introdução
Texto puro (arquivo ou mensagem)
Encriptação
cifra (armazenada ou transmitida de maneira segura)
Decriptação
Texto puro (arquivo ou mensagem)
5
Introdução

Criptógrafos


Criptoanalistas


Inventam algoritmos de criptografia. Códigos
secretos
Encontrar maneiras de quebrar os códigos
Decifrar uma mensagem

Encontrar uma maneira de chegar no texto
puro, sem a chave ou algoritmo secreto
6
Introdução

Quebrar um código



Encontrar uma maneira sistemática de decifrar as
cifras criadas com o código secreto, usando
recursos normais
Algoritmos de criptografia são provavelmente
confiáveis se eles não são quebrados após
vários criptoanalistas testarem
Implica que tais algoritmos poderiam ser
publicados
7
Introdução


Manter um algoritmo secreto faz com que a
possibilidade de quebrar o código seja muito
mais difícil
Mas, como o executável do algoritmo deve
estar em cada localização que o use, fica
muito difícil de distribuí-lo
8
Criptografia




Criptógrafos adoram XOR
0 XOR 0 ou 1 XOR 1 = 0
0 XOR 1 ou 1 XOR 0 = 1
Exemplo:




Texto puro – 1010
Chave – 0011
Cifra – 1001
A combinação de duas sempre resulta na outra
9
Caesar Cipher

Letras e símbolos formam uma roleta

A chave é um número inteiro de posições
a serem puladas

Pode ser positiva ou negativa
10
Caesar Cipher

Exemplo:
In: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_
Out:DEFGHIJKLMNOPQRSTUVWXYZ1234567890_ABC
Nao irei a festa hoje
Qdrcluhlcdcjhvwdckrmh
1 a cada 4 caracteres em média é espaço
11
Tipos de Criptografia

Simétrica




1 chave secreta
Texto | chave | cifra
Cifra | chave | text
Assimétrica




1 par de chaves
Chave privada e pública
Texto | chave pública | cifra
Cifra | chave privada | texto
12
Computacionalmente Seguro

Um esquema de criptografia é
computacionalmente seguro se a cifra
gerada alcança um de 2 objetivos:


O custo de quebrar a cifra excede o valor da
informação criptografada
O tempo para quebrar a cifra excede o tempo
útil de vida da informação
13
Computacionalmente Seguro


Assumindo que não há fraquezas
matemáticas no algoritmo, então o único
ataque possível é o de força bruta
Este ataque envolve testar cada uma das
possíveis chaves até se chegar a uma
informação legível
14
Curiosidade
Computacionalmente Seguro



Na média, metade de todas as chaves
possíveis devem ser tentadas para chegar
na chave verdadeira
Assuma que leva-se 1s para executar
uma decodificação, razoável para as
máquinas de hoje
Com processamento paralelo pode-se
atingir ordens ainda maiores
15
Curiosidade
Computacionalmente Seguro
Tamanho da
Chave (bits)
Número de
Chaves
Tempo usando
1 por s
Tempo
usando 106
por s
32
232 = 4.3 x 109
231 s = 35.8 min
2.15 ms
56 (DES)
256 = 7.2 x 1016
255 s = 1142
anos
10 horas
128
2128 = 3.4 x 1038
2127 s =
5.4 x 1024 anos
5.4 x 1018
anos
168
2168 = 3.7 x 1050
2167 s =
5.9 x 1036 anos
5.9 x 1030
anos
16
Criptografia Simétrica



Comunicação segura entre 2 participantes é
efetuada pela troca de uma chave secreta
(privada)
A chave é usada tanto para codificar quanto
para decodificar mensagens
Idealmente, a chave não deveria ser trocada
eletronicamente, mas sim pessoalmente
17
Criptografia Simétrica

Vantagem: velocidade com que as
mensagens são encriptadas e decriptadas

Desvantagem:


Número de chaves requeridas quando mais
pessoas estão envolvidas
Troca inicial das chaves secretas
18
Curiosideda
Criptografia Simétrica

Para 10 pessoas envolvidas são necessárias
45 chaves

Geralmente, n pessoas requerem:
(n)(n-1)/2 chaves secretas
19
Criptografia Simétrica
20
Algoritmos de Criptografia Simétrica


Um bloco de cifra processa o texto puro dado
como entrada em um bloco de tamanho fixo,
produzindo um bloco de cifra de mesmo
tamanho
Mais comuns:



DES - Data Encryption Standard
TDES - Triple DES
AES - Advanced Encryption Standard
21
Curiosidade
DES




Texto puro é de 64 bits de tamanho
Textos puros maiores são transformados em
blocos de 64 bits
Chave é de 56 bits
Processamento é de 3 fases para o texto



Texto puro é permutado, rearranchando os bits
16 rodadas da mesma função, metades trocadas
Inverso da permutação original
22
Curiosidade
DES

Para a chave




A chave passa por uma permutação inicial
A cada rodada a chave é dividida em duas
metades de 28 bits cada, denominadas C0 e D0
C e D passam por uma combinação de um shift
left circular de 1 ou 2 bits, junção e uma
permutação
O processo de decodificação é feito na
ordem reversa
23
Curiosidade
DES
Curiosidade - DES
25
Triple DES




Usa 3 chaves e 3 execuções do DES
Segue Encriptação-Decriptação-Encriptação
(EDE) para criptografia
Segue Decriptação-Encriptação-Decriptação
(DED) para decriptação
Encriptação


C = EK3 [DK2 [EK1 [M]]]
Decriptação

M = DK1 [EK2 [DK3 [C]]]
26
TDES - Chaves de 168 bits
Encryption
m1
There are
168 unique
bits in key
Decryption
c1
E
Key1
D
Key3
D
Key2
E
Key2
E
Key3
D
Key1
c1
m1
27
TDES - Chaves de 112 bits
Encryption
m1
There are
112 unique
bits in key
Decryption
c1
E
Key1
D
Key1
D
Key2
E
Key2
E
Key1
D
Key1
c1
m1
28
IDEA - International Data Encryption
Algorithm




Chaves de 128 bits
Difere do DES na função das rodadas e no
algoritmo de geração de sub-chaves
F é uma combinação de XOR, adição e
multiplicação binária
Algoritmo de geração de chaves é feita
através de shifts circulares
29
Blowfish




Fácil de implementar e alta velocidade
Compacto, roda em menos de 5K de
memória
16 rodadas
Chaves até 448 bits, normalmente 128 bits
30
RC5







Bom desempenho para hardware e software
Rápido
Número de rodadas variáveis
Tamanho de chaves variádos
Baixa memória
Alta segurança
Rotações dependentes de dados
31
AES



O TDES é baseado no DES, portanto foi
muito testado durante os anos
Nenhum erro foi encontrado e nenhum
ataque, a não ser o de força bruta no DES foi
feito
Então por que o TDES não se tornou o
padrão?
32
AES





Porque o DES foi feito em hardwares, a
implementação do TDES via software é
muita lenta
Performance é um problema
Tem uma segurança ainda maior que o
TDES e melhora a performance para
software
Tamanho do bloco é de 128 bits
Suporta chaves de 128, 192 e 256 bits
33
Download