Upload
internet
View
106
Download
2
Embed Size (px)
Citation preview
Advanced Encryption Standard
Professor : Otto Muniz
Aluno : Diogo Ventura Nomiya
Redes de Computadores
AES
Índice
Princípios de Criptografia Tipos de Criptografia DES e AES Algoritmo AES Cifra Reversa Conclusão
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Princípios de Criptografia Do grego: kryptós – escondido
gráphein – escrita
Código ou Cifra de César
25 combinações possíveis
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Princípios de Criptografia Decifrando a Cifra de César
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Princípios de Criptografia Cifra Monoalfabética
Exemplo
26! combinações possíveis (algumas ruins)
Técnicas mais elaboradas do que força bruta
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Tipos de Criptografia Sistema de Chaves Simétricas
A e B têm chaves iguais
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
chave A
m K(m) m
chave B
Tipos de Criptografia Sistema de Chaves Públicas
B tem uma chave privada e outra pública
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
chaveprivada
m K(m) m
chavepúblicaA B
DES e AES DES (Data Encryption Standard)
Proposto e 1974 pela IBM – Lucifer Escolhido como padrão em 1976 pelo NIST (National
Institute of Standards and Tecnology) Proposto um cracker em 1977 de 20 milhões U$ Quebrado pela Deschall em 1997 Construído um cracker de 250 mil U$
AES (Data Encryption Standard) Concurso AES em 1997 Rijndael adotado como padrão em 2001
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES Blocos de dados 128 bits
Chaves de 128, 192 ou 256 bits
Matriz de estados de 16 bytes
Nb = 4 colunas Nk = 4, 6 ou 8 chaves Nr = 10, 12 ou 14 rodadas
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES
CifraAddRoundKeyPara rodada = 1 até Nr-1
SubBytesShiftRowsMixColumnsAddRoundKey
Fim ParaSubBytesShiftRowsAddRoundKey
Fim Cifra
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES SubBytes
Mapeia cada byte S-box
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES SubBytes
S-box Para um dado byte:
Inverso multiplicativo Transformação
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES SubBytes
S-box Exemplo:
Byte 01 Inverso multiplicativo: 01
A = 01111100 = 7c
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES ShiftRows
Para esquerda
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES MixColumns
Exemplo Forma geral
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES AddRoundKey
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Algoritmo AES Expansão de Chave
Assim, para um dado wi tal que i>3, e Nk= 4 ou 6
- se i não for múltiplo de Nk, então wi = wi-1 + wi-Nk
- se i for múltiplo de Nk, então wi = SubWord(RotWord(wi-1)) + Rcon(R) + wi-Nk
Rcon(R) - [(02)R-1 00 00 00] (valores em hexadecimal), onde R é o número da rodada.
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Cifra Reversa
Cifra Inversa
InvAddRoundKey
Para rodada = Nr-1 até 1
InvShiftRows
InvSubBytes
InvAddRoundKey
InvMixColumns
Fim Para
InvShiftRows
InvSubBytes
InvAddRoundKey
Fim Cifra InversaUFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Cifra Reversa InvSubytes
S-box inversa
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Cifra Reversa InvShiftRows InvMixColumns
InvAddRoundKey
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Conclusão
Avanço tecnológico e queda nos preços de componentes eletrônicos crackers
Necessário um estudo contínuo
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard
Perguntas
1) Explique criptografia de chaves simétricas e de chaves públicas.
2) O fato de o algoritmo AES estar disponível ao público e ninguém ter afirmado que conseguiu quebrar o código significa que o algoritmo é 100% seguro?R: Não, as chances de se encontrar a chave do algoritmo nunca são nulas. Além do mais, o fato de ninguém ter dito que quebrou o código não significa que ninguém tenha realmente quebrado.
3) Explique as 4 transformações realizadas a cada rodada no algoritmo AES.
4) No AES, a chave principal é expandida em Nb(Nr+1) chaves menores. Por que esse número?R: Porque a transformação AddRoundKey adiciona uma chave para cada coluna, sendo que são Nb colunas. Como a transformação AddRoundKey é aplicada uma vez a cada rodada (Nr rodadas ao todo) e uma vez no início do algoritmo, o número de chaves necessárias é Nb(Nr+1).
5) Pronuncie Rijndael.
UFRJ – Redes de Computadores
AES – Advanced Encryption Standard