·        
Originalmente operava com blocos de 128, 160, 192, 224
ou 256, mas foi determinado pelo governo que o algoritmo iria
operar apenas em 128.
·        
A chave também poderia ser de 128, 160, 192, 224 ou
256, mas foi estabelecido que a chave poderia ter
como valores: 128, 192 e 256.
Depois desse breve histórico, vejamos como ele opera:
·        
Principio:
o Existe uma matriz com os bits de entrada.
o Faz-se substituição por S-box. (Confusão)
o ShiftRows: Gera-se deslocamento nas linhas da matriz. Permutação
o MixColumns: Combinação das colunas. Permutação
o AddRoundKey: Função XOR. Função
o São feitos:
· 10 passos à Chave 128 bits.
· 12 passos à Chave 192 bits.
· 14 passos à Chave 256 bits
o Existe uma matriz com os bits de entrada.
o Faz-se substituição por S-box. (Confusão)
o ShiftRows: Gera-se deslocamento nas linhas da matriz. Permutação
o MixColumns: Combinação das colunas. Permutação
o AddRoundKey: Função XOR. Função
o São feitos:
· 10 passos à Chave 128 bits.
· 12 passos à Chave 192 bits.
· 14 passos à Chave 256 bits
·        
Como funciona o AES:
·  O AES é um algoritmo que trabalha byte a byte, porém é
considerado uma cifra de bloco preferencialmente. Vejamos como ele opera:
o   
1º - Conversão dos dados em uma matriz.
§ 
Pois bem, para começar o AES recebe os dados da de
algum algoritmo de cifração e então os organiza em uma matriz de 4x4, de forma
que serão acondicionados 16 bytes dentro dessa matriz. Não havendo quantidade
suficiente, haverá o padding (termo utilizado quando precisamos completar o bloco, por exemplo se não tivermos 16 Bytes, mas sim 12 teremos de completar com Zeros até chegarmos em 16 Bytes.).
o   
2º - Primeira rodada
§ 
Feita a conversão dos dados na matriz de operação
(confusão), então AES irá realizar a primeira rodada de cifração. Uma simples
operação XOR com a Chave da primeira rodada.
o   
3º - A Expansão.
§ 
De acordo com o tamanho da chave, lembrem-se o AES
deriva-se do RINJDAEL, que possui chaves de 128, 160, 192, 224 e 256 bits, que
por padrão do Governo americano será de 128, 192 e 256 bits, temos a
quantidades de rodadas de cifração. Dessa forma, 128 bits nos trarão 9 rodadas.
Para isso precisamos expandir a chave inicial. Sendo assim vejamos:
·        
1ª fase – Colunas
o   
Para a expansão, então, iremos utilizar a última
coluna da última chave utilizada. Por exemplo: se fizermos a segunda chave
utilizaremos a última coluna da primeira chave.
o   
Iremos trazer o último byte dessa coluna para a
primeira posição.
o   
Feita essa troca, iremos inserir essa coluna em um
s-box. Teremos nossa primeira substituição.
·        
2ª fase – XOR
o   
Feita a s-box, temos agora que realizar uma XOR com
uma constante.
o   
Agora de posse dessa nova coluna, temos que realizar
mais um XOR agora com a primeira coluna da chave anterior. No nosso exemplo, a
primeira coluna.
o   
Temos pronta a primeira coluna da próxima chave.
·        
3ª fase – Outras colunas
o   
De posse da primeira coluna da próxima chave, agora
temos de descobrir as outras colunas.
o   
Faremos da seguinte forma: coluna anterior XOR coluna
correspondente na chave anterior. Por exemplo: para definirmos a 3ª coluna, ela
será a 2ª coluna XOR 3ª coluna da chave anterior.
o   
4ª – Rodadas
§ 
Após definirmos as chaves, iremos a seguir realizar as
rodadas necessárias para o tamanho da chave.
o   
5ª – Confusão e difusão.
§ 
Após as rodadas iremos agora, de posse do novo texto
quase cifrado, aplicar mais uma vez a s-box. Essa ação é necessária para
aplicarmos a confusão na nossa cifração.
§ 
Feitas as s-box, iremos agora movimentar nossa linhas
para aplicar a difusão. Faremos assim, a primeira linha desloca-se um byte para
a esquerda e o que sobrar irá par ao final da linha. A segunda irá deslocar-se
2 posições a esquerda e os dois que sobrarem para o final da linha. Faremos
assim até a quarta linha, sempre aumentando o numero de bytes que voltam para o
final da linha.
§ 
Para terminar nossa difusão, iremos misturar as
colunas.
o   
6ª – Mais uma chave
§ 
Ao final de cada rodada, iremos aplicar a chave da
próxima rodada no nosso texto atual.
o   
7ª – só pra terminar
§ 
Terminando iremos misturar as colunas mais uma vez
para aumentar a segurança. Lembrando que isso não será feito na ultima rodada.
Era isso pessoal, espero que gostem, se puderem comentem. Numa próxima postagem, não sei muito bem quando...tentarei explicar o DES, como ele opera. Já informo que pela minha ideia ele é um pouqinho mais complexo que o AES...
Obrigado.
 
 
fazendo trabalho do técnico bem de boa, escutando um Ghost B.C.
ResponderExcluirAjudou muito
Mas como funciona ?
ResponderExcluirSÉRIO PRECISO PRA HOJE
ResponderExcluirMuito bom! Parabéns.
ResponderExcluir