Tópicos Especiais em Segurança da Informação
Objetivo da Aula
Ao final dessa aula, o aluno será capaz de:
Discorrer sobre o histórico do cifrador AES;
Descrever a arquitetura do cifrador AES;
Utilizar os processos de cifração e decifração do AES.
2Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Histórico do AES
Através da chamada pública, em 1997, o NIST (National Institute ofStandards and Technology) abriu uma competição para um novo cifrador, com as seguintes características:
• Tamanho de bloco 128 bits na entrada e na saída;
• Tamanho da chave de 128 ou 192 ou 256 bits;
• Segurança e velocidade igual ou superior ao DES Triplo;
• Implementação em software, hardware e smart card de forma eficiente;
• Código fonte do algoritmo disponível sem custo algum.
3Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Candidatos Escolhidos
• MARS, desenvolvido por Nevenko Zunic (IBM);
• RC6, desenvolvido por Burt Kaliski (RSA Laboratories);
• RIJNDAEL, desenvolvido por Joan Daemen e Vincent Rijmen.
• SERPENT, desenvolvido por Ross Anderson, Eli Biham e Lars Knudsen;
• TWOFISH, desenvolvido por Bruce Schneier, J. Kelsey, D. Whiting, D. Wagner, Chris Hall e Neils Ferguson.
4Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Candidatos Escolhidos
5Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Cifrador Rijndael
• Foi escolhido em dezembro de 2000
• Oficialmente, substituiu 3-DES a partir de julho de 2001
• Características:
• resistência contra ataques conhecidos;
• velocidade e um código compactos em uma variedade de plataformas;
• simplicidade.
6Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Cifrador Rijndael
• Realiza operações sobre um byte. O número de rodadas varia conforme o tamanho da chave escolhida, podendo ser 128, 192 ou 256 bits e o número de rodada varia de acordo com o tamanho da chave:
• 9 rodadas, para chave de 128 bits;
• 11 rodadas, para chave de 192 bits;
• 13 rodadas, para chave de 256 bits.
7Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Uma rodada de AES
Em cada rodada, ocorrem 4 transformações:• SubBytes;• ShiftRows;• MixColumn;• AddRoundKey.
• Para melhor entendimento das próximas partes desta aula, execute o simulador AES, disponível na Biblioteca da disciplina. Esse simulador detalha, através da animação gráfica, as diversas partes do cifrador.
8Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: SubByte
•É uma substituição de bytes com uma tabela de valores
•A tabela contém a permutação de todos os valores de 256 bits.
• Figura ilustra troca do valor 19 pelo seu valor correspondente da 1a linha e 9a coluna.
9Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação:SubByte
Aula 2 – Criptografia AESMehran Misaghi – [email protected]
10
1a linha
9a coluna
Tópicos Especiais em Segurança da Informação
Transformação: ShiftRows
• Rotação circular de um byte em cada linha
• Primeira não é trocada
• Segunda linha faz uma rotação circular de um byte para esquerda
• Terceira linha faz duas rotações circulares de um byte para esquerda
• Quarta linha faz três rotações circulares de um byte para esquerda
11Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: ShiftRows
12Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Rotação sobre 1 byte
Rotação sobre 2 bytes
Rotação sobre 3 bytes
Tópicos Especiais em Segurança da Informação
Transformação: MixColumns
•Cada coluna é processada separadamente
•Cada byte é substituído por um valor correspondente aos 4 bytes na coluna
13Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: MixColumns
14Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: AddRoundKey
• Matriz de dados é chamada de state
• Chave da matriz é chamada de RoundKey
• Na etapa de AddRoundKey, o state é substituído pelo state XOR RoundKey
• Como exemplo na figura seguinte, a 1a coluna após a realização da operação XOR com a 1a coluna do Roundkey é trocada pelo resultado obtido
15Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: AddRoundKey
16Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: KeySchedule
•A chave K é expandida através da função Key Expansion()
•As RoundKeys serão tiradas da chave expandida do número de colunas de state.
•Dessa forma, a 1a RoundKey utiliza a 1a coluna do state, e assim sucessivamente.
17Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Transformação: KeySchedule
18Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Processo de Rodadas do AES
Esta figura ilustra o
processo de 9
rodadas de um
cifrador AES com
uma chave de 128 bits
19Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Estude Material de apoio
20
• Aula2-texto.pdf para melhor entendimento dos conceitos apresentados• Utilize o simulador de AES • Cap5-AES.pdf do livro de Stallings (2015) para melhor detalhamento do AES
Aula 2 – Criptografia AESMehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Faça a Lista de Exercícios 2
21Aula 2 – Criptografia AES
Mehran Misaghi – [email protected]
Tópicos Especiais em Segurança da Informação
Referências
• DAEMON, Joan; RIJMEN, Vincent. The Design of Rijndael. Springer-Verlag, 2002.
• MISAGHI, Mehran. Criptanálise Diferencial do Cifrador Rijndael. relatório, USP, São Paulo, 2003. Disponível em http://www.ime.usp.br/~cpgmac/Disciplinas_Passadas/2003ii/mac5701/Relatorios/Mehran_mono.pdf
• TERADA, Routo. Segurança em Redes de Computador. São Paulo, 2000.
• STALLINGS, William. Cryptography and Network Security: Principles and Practice, 4th ed., Prentice Hall, 2006.
• STALLINGS, William. Criptografia e Segurança de Redes: Princípios e Práticas, 6a ed. Pearson do Brasil, 2015.
Aula 2 – Criptografia AESMehran Misaghi – [email protected]
22