22
Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Embed Size (px)

Citation preview

Page 1: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Advanced Encryption Standard

Professor : Otto Muniz

Aluno : Diogo Ventura Nomiya

Redes de Computadores

AES

Page 2: 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

Page 3: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 4: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Princípios de Criptografia Decifrando a Cifra de César

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 5: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 6: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 7: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 8: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 9: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 10: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES

CifraAddRoundKeyPara rodada = 1 até Nr-1

SubBytesShiftRowsMixColumnsAddRoundKey

Fim ParaSubBytesShiftRowsAddRoundKey

Fim Cifra 

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 11: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES SubBytes

Mapeia cada byte S-box

 

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 12: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES SubBytes

S-box Para um dado byte:

Inverso multiplicativo Transformação

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 13: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES SubBytes

S-box Exemplo:

Byte 01 Inverso multiplicativo: 01

A = 01111100 = 7c

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 14: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES ShiftRows

Para esquerda

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 15: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES MixColumns

Exemplo Forma geral

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 16: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Algoritmo AES AddRoundKey

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 17: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 18: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 19: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Cifra Reversa InvSubytes

S-box inversa

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 20: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

Cifra Reversa InvShiftRows InvMixColumns

InvAddRoundKey

UFRJ – Redes de Computadores

AES – Advanced Encryption Standard

Page 21: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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

Page 22: Advanced Encryption Standard Professor : Otto Muniz Aluno : Diogo Ventura Nomiya Redes de Computadores AES

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