AES
Advanced Encryption Standard
Redes de Computadores
Professor : Otto Muniz
Aluno : Diogo Ventura Nomiya
AES – Advanced Encryption Standard
Í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
chave A
m
UFRJ – Redes de Computadores
chave B
K(m)
m
AES – Advanced Encryption Standard
Tipos de Criptografia

Sistema de Chaves Públicas

B tem uma chave privada e outra pública
A
chave
pública
m
UFRJ – Redes de Computadores
B
chave
privada
K(m)
m
AES – Advanced Encryption Standard
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
Cifra
AddRoundKey
Para rodada = 1 até Nr-1
SubBytes
ShiftRows
MixColumns
AddRoundKey
Fim Para
SubBytes
ShiftRows
AddRoundKey
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 Inversa
UFRJ – 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
Download

Advanced Encryption Standard