CIÊNCIA DA COMPUTAÇÃO
Vantagens
As vantagens serão apresentadas relativas à: Implementação
1. Pode rodar bem rapidamente em relação a outros algoritmos.
2. Pode ser implementado em um SmartCard usando pouco código e memória.
3. Algumas funções podem ser feitas em paralelo, assim tornando o processo mais rápido. Isto é, pode se fazer a substituição dos bytes usando a S-box, vários de uma vez, e não seqüencialmente, e ainda, a expansão da chave pode ser feita enquanto se executa as funções que não dependem dela como a ByteSub() ou ShiftRow().
4. Como a encriptação não emprega operações aritméticas, não exige muito poder de processamento. Simplicidade do projeto
1. Não usa elementos já previamente processados, por ex. a 9a rodada não necessita de nenhum elemento das rodadas anteriores a não ser única e exclusivamente do State da 8a .
2. O algoritmo não baseia sua segurança ou parte dela em interações obscuras e não bem compreendidas entre operações aritméticas, não permitindo assim, espaço para esconder um trap-door
Possíveis modificações:
1. O projeto permite a especificação de variantes com o comprimento do bloco e da chave, ambos variando de 32 em 32 bits no intervalo de 128 até 256 bits.
2. Embora o número das rodadas de seja fixo na especificação, pode ser modificado como um parâmetro caso haja problemas de segurança.
Desvantagens
As limitações ficam por conta da inversa
1. A inversa é menos recomendável de ser implementada num SmartCard, pois precisa de mais código e mais processamento. Mesmo assim, se comparado, a outros algoritmos ela bem rápida.
2. Em software, a encriptação e sua inversa empregam códigos diferentes e/ou tabelas.
3. Em hardware a inversa pode usar apenas uma parte do circuito usado no processo de encriptação.
Comparação entre AES e outros algoritmos já conhecidos
Algoritmo
Tamanho da Chave
No de Rodadas
Operações Matemáticas
AES
128, 192 ou 256 bits
10,