Beruflich Dokumente
Kultur Dokumente
Criptografia
Aula 3/3
Inicial
Final
Algoritmos simtricos
Escalonamento de chaves
1. 56 bits de chave selecionados
2. Divide em 2 blocos de 28 bits
3. Duas metades so rotacionadas a
esquerda (1 ou 2 bits)
4. Selecionada subchave de 48 bits
(PC2) 24 de cada metade
Decriptografia
Mesmo processo da criptografia
Subchaves em ordem reversa
Confuso e difuso
Substituio (S-boxes), permutao
(P-boxes) e expanso
Algoritmos simtricos
Segurana e criptoanlise
Fora bruta (ataque mais
prtico)
Criptoanlise diferencial
Necessita 247 textos puros
escolhidos para quebrar os 16
rounds.
Criptoanlise linear
Necessita 243 textos puros
conhecidos
Ainda no h uma forma
fcil de quebrar o DES
Algoritmos simtricos
Questes (PF 2004)
112 O algoritmo DES (data encryption standard) efetua
exatamente as mesmas operaes durante o processo de
cifrao e o de decifrao. A nica diferena percebida
entre os dois processos est na ordem de aplicao das
chaves parciais (chaves de round). Correto
104 O algoritmo criptogrfico DES uma cifra de
substituio que mapeia um bloco de texto claro de 64
bits em um outro bloco de criptograma de 64 bits.
Correto
Algoritmos simtricos
Questes (PF 2004)
105 O DES e o seu sucessor como padro de criptografia do
governo norte-americano, o AES, so cifradores de bloco que
obedecem o esquema geral de cifradores de Feistel. Nesses
cifradores, os blocos cifrados so divididos em metades (lado
esquerdo e lado direito) de mesmo tamanho, que so processadas
independentemente, a cada rodada de cifrao. Esse processo faz
que apenas metade dos bits do bloco cifrado sofra influncia da
chave, em cada rodada, introduzindo confuso no processo
criptogrfico.
Errado
Algoritmos simtricos
3DES (Triplo DES)
Variao do DES para aumentar a
sua sobrevida
Utiliza 3 chaves DES (192 bits /
168 bits)
Cifra com a primeira chave
Decifra com a segunda chave
Cifra novamente com a terceira
chave
Se K1=K3 so usadas apenas duas
chaves
C=DES(k3;DES(k2;DES(k1;M)))
Mais lento, porm maior segurana
Algoritmos simtricos
RC4 Rivest Cypher 4
Cifra de fluxo mais famosa
Desenvolvido por Ron Rivest em 1987
para a RSA
Usado em SSL e WEP
Foi proprietrio por 7 anos
Em 1994 seu cdigo fonte foi postado
em uma lista de discusso
Tornou se pblico, apesar da
descordncia da RSA
No considerado um dos melhores
Dependendo da implementao pode
tornar o sistema inseguro (WEP)
Algoritmos simtricos
RC4 Rivest Cypher 4
Funciona em modo OFB
O keystream independente do texto
Chave do tamanho da mensagem gerada a partir da
chave original
Chave original de tamanhos variveis (tipicamente de
40-128 bits)
Possui 255 S-boxes
Entradas permutam nmeros de 0 a 255
Permutao funo da chave de tamanho
varivel
S-boxes so alteradas com o uso (permutao)
Algoritmo bastante simples
Fcil de ser implementado
Considerado barato, rpido e bom
Algoritmos simtricos
RC4 Rivest Cypher 4
Funcionamento resumido
Primeiramente o RC4 cria bytes pseudo-
aleatrios a partir de uma semente de
tamanho varivel. Tais bytes formam a chave
criptogrfica, a qual ser utilizada para cifrar a
mensagem atravs de operaes de OU-
exclusivo (XOR) em cada bit. O destinatrio
deve, ao receber a mensagem cifrada,
executar da mesma forma o algoritmo, para
recuperar a mensagem.
Data Encryption Standard
RC4 Fases
KSA Key Scheduling Algoritm
PRGA Pseudo Random Generation
Algoritm
E(M)=Z XOR M
Algoritmos simtricos
RC4 Rivest Cypher 4
Algoritmos simtricos
RC4 Rivest Cypher 4
Exemplo de uso (WEP)
Algoritmos simtricos
Questo (PF 2004)
107 O algoritmo criptogrfico RC4 tem como
princpio de funcionamento o segredo criptogrfico
perfeito, em que a chave criptogrfica deve ter o
mesmo tamanho que a mensagem. Desse modo, no
RC4, a chave de criptografia a semente de uma
seqncia pseudo-aleatria que usada para chavear
os bytes cifrados em uma operao linear. A
mensagem cifrada pode ser to longa quanto o
perodo da seqncia gerada. Certo
Algoritmos simtricos
AES Advanced Encryption System
Eleito pelo NIST como padro a partir do algoritmo Rijndael
Cifra de bloco
Sucessor do DES
Definido como padro FIPS em 26 de Novembro de 2001
Atualmente o algoritmo mais popular para cifragem simtrica
Utiliza uma rede de Substituio-Permutao (rede SP)
No usa rede de Feistel
Rpido tanto em hardware quanto em software
Requer pouca memria
Suporta chaves de 128, 192 ou 256 bits
Opera em blocos de 128 bits ou maiores
Implementado em hardware em processadores INTEL
Algoritmos simtricos
AES Advanced Encryption System
Funcionamento bsico
Opera sobre um arranjo de bytes 4x4 (matriz)
Dividido em rounds cada um com etapas de processamento
Etapa 1 Expanso da chave
Chaves das rodadas so derivadas da chave inicial
Etapa 2 Round inicial
Cada byte do estado combinado com a chave do round usando XOR
Etapa 3 Rounds
Subbytes Substituio no linear. Cada byte substituido usando uma
tabela
Shiftrows Transposio onde cada linha rotacionada um certo
nmero de vezes
Mixcolumns Operao de mistura nas colunas do estado
Addroundkey Chave combinada com o estado
Algoritmos simtricos
AES Advanced Encryption System
Errado
Algoritmos assimtricos
RSA
Primeiro algoritmo em larga escala de criptografia assimtrica
Funciona para cifragem e assinaturas digitais
Algoritmo mais popular
Nomeado a partir de seus inventores: Ron Rivest, Adi Shamir
e Leonard Adleman
Sobreviveu a anos de criptoanlise extensa
Segurana do RSA
Dificuldade de fatorao de numeros grandes
Chaves so funo de um par de grandes nmeros primos
(mais de 100 dgitos)
Recuperar o texto a partir da chave pblica e o texto cifrado
corresponde a fatorar o produto dos dois primos
Algoritmos assimtricos
Fatorao de inteiros
Diviso de um nmero em divisores menores, que
multiplicados formam o inteiro original
No existe algoritmo conhecido para nmeros muito grandes
Em 2009 um esforo fatorou um nmero de 232 dgitos
(RSA-768) utilizando centenas de mquinas em 2 anos
Algoritmos assimtricos
RSA
Gerao de chaves
1. Escolher dois nmeros primos grandes p e q
2. Calcular n=p x q (n = mdulo)
3. Calcular (n)=(p-1) x (q-1)
4. Escolher um inteiro e, onde 1 < e < (n) , e e (n) so
co-primos
1. Coprimos = no possuir nenhum fator positivo em comum,
exceto 1
2. e = expoente
5. d=e-1 x mod ((p-1) x (q-1))
6. e e n so a chave pblica (expoente e mdulo)
7. d a chave privada
8. p e q so descartados de maneira segura
Algoritmos assimtricos
Questo (PF Nacional 2004)
103 Cada uma das chaves pblica e privada de um
criptossistema RSA so formadas por dois nmeros
inteiros denominados expoente e mdulo, ambos
devendo ser nmeros primos.
Errado
Algoritmos assimtricos
Questo (PF Regional 2004)
114 O algoritmo de criptografia assimtrica RSA
(Rivest, Shamir e Adleman) tem sua segurana
fundamentada na dificuldade de se fatorar nmeros
inteiros muito grandes. Alm de ser utilizado para
criptografar mensagens a serem enviadas por canais
inseguros de comunicao, o RSA tambm pode ser
aplicado na criptografia de chaves simtricas que so
utilizadas na criptografia simtrica de mensagens.
Certo
Algoritmos assimtricos
RSA
Cifragem e decifragem
1. Dividir a mensagem em blocos numricos menores que N
2. A mensagem cifrada C ser de tamanho similar que o bloco de N
3. Ci=mie mod n
4. Mi=cid mod n
Implementaes em hardware
1000 vezes mais lento que o DES
Algoritmos assimtricos
Segurana do RSA
Depende do problema de fatorao de grandes inteiros
Depende de adivinhar p e q ou (p-1) x (q-1)
Fatorao de nmeros de 129 dgitos limite da tecnologia atual
N necessita ser maior que 129 dgitos
Tamanho de chave recomendado: > 1024 bits
Criptoanlise do RSA
Conhecimento de um par de expoentes para um mesmo
mdulo permite a um atacante fatorar o mdulo
Conhecimento de um par de expoentes para um mesmo
mdulo permite calcular outros pares sem fatorar o mdulo
O mesmo mdulo no deve ser usado em um protocolo
usando RSA em rede
Mensagem devem ser adicionadas de elementos randmicos
O expoente de decriptao deve ser grande
Algoritmos assimtricos
Questo (PF 2002)
4 O algoritmo RSA um conhecido e popular algoritmo
assimtrico. A segurana do algoritmo RSA dada pelo
tamanho das chaves utilizadas, da ordem de 1 kilobits, o que
torna impraticvel a determinao da chave pela exausto das
possibilidades. Errado
5 Ao comparar sistemas criptogrficos simtricos e
assimtricos, conclui-se que aqueles facilitam a gerao e a
troca das chaves, enquanto estes facilitam a distribuio e o
armazenamento das mesmas. Certo
Funes Hash
MD5 Exemplos
MD5("The quick brown fox jumps over the lazy dog) =
9e107d9d372bb6826bd81d3542a419d6
MD5("The quick brown fox jumps over the lazy dog.) =
e4d909c290d0fb1ca068ffaddf22cbd
MD5(") = d41d8cd98f00b204e9800998ecf8427e
Segurana do MD5
Um round adicional foi criado (em relao ao MD4)
Atualmente severamente comprometida
Ataques de coliso
Documentos e certificados com colises
Ataques preimage
Achar uma mensagem que tenha um hash especfico
Funes Hash
Questo (PF 2002)
Para um determinado sistema criptogrfico que utiliza chaves de
128 bits, optou-se por selecionar como gerador de chaves a sada
do algoritmo MD5, tendo por entrada os seguintes parmetros: a
data/hora do sistema quando da gerao da chave, dada na forma
DDMMAAHHMMSS, com o significado usual, concatenado com
uma seqncia de 16 bytes consecutivos obtida de um arquivo fixo,
contendo 64 kilobytes de dados que foram gerados de forma
totalmente aleatria, e cujo ponto inicial de leitura escolhido a
partir de caracteres digitados por um operador da forma mais
imprevisvel possvel. Nessa situao, como o algoritmo MD5 gera
um hash de 128 bits e no se pode, em princpio, determinar a
entrada dada a sada, pode-se considerar esse como um bom
mtodo para a gerao dos 128 bits necessrios para uma chave
com uma aparncia aleatria.
Errado
Funes Hash
SHA Secure Hash Algoritm
Algoritmo criado pelo NIST para uso com o DSS (Digital
Signature Standard)
Padro SHS Secure Hash Standard
Produz uma sada de 160 bits
Posteriormente tornou-se uma famlia de algoritmos
SHA-0 (algoritmo original)
SHA-1 (reviso do algoritmo original)
SHA-2 (famlia de duas funes: SHA-256 e SHA-512)
SHA-3 (para uso futuro. Em processo de reviso. Expectativa para 2012)
SHA-2 possui duas outras verses truncadas: SHA-224 e SHA-384
Funes Hash
SHA-1 Secure
Hash Algoritm 1
Funo mais usada da
famlia
Usado em TLS, SSL,
PGP, SSH, S/MIME,
IPSec, eMule
Sucessor do MD5
(funcionamento
semelhante)
Funes Hash
Segurana do SHA-1
Est sendo aposentado para uso governamental
Suscetvel a colises
Exemplos
SHA1("The quick brown fox jumps over the lazy
dog) = 2fd4e1c6 7a2d28fc ed849ee1 bb76e739
1b93eb12
SHA1("The quick brown fox jumps over the lazy
cog) = de9f2c7f d25e1b3a fad3e85a 0bd17d9b
100db4b3
Funes Hash
Definio
Processo de esconder mensagens em outras
mensagens
Exemplos histricos
Tinta invisvel
Marcas em caracteres (lpis taboada)
Exemplo atual
Esconder mensagens em imagens
Usar o bit MENOS significativo (LSB)
Capaz de armazenar 64Kb em uma mensagem
1024x1024
Esteganografia
Outros exemplos
Arquivos de som
Dados escondidos dentro de outros dados
Canais camuflados (covert channels)
Impressoras laser coloridas
Etc.
Esteganografia
ECC
Abordagem para cifras de
chave pblica
Utiliza a estrutura algbrica
de curvas elpticas sobre
campos finitos
Seu uso foi sugerido em
1985
Possui segurana
comparvel ao RSA com
um tamanho de chave
menor
Elliptic Curve Cryptography
ECC
Utiliza o problema do
logaritmo discreto como
fator de segurana
y2 = x3 + ax + b
Elliptic Curve Cryptography
ECC
Dados pontos P e Q,
encontrar um inteiro k tal
que Q=k X P
Problema do logaritmo
discreto
Q e P nmeros grandes
No caso de chave de 192
bits, 3 x 1057 adies em
mdia
O problema da fatorao
de inteiros pode ser
substituido por ECC em
algoritmos chave menor
Referncias
Livros
Referncias
Livros Percia
Referncias
ICCyber 2011
http://www.iccyber.org/2011/