Advanced Encryption Standard
Na Galipedia, a wikipedia en galego.
Advanced Encryption Standard (AES), tamén coñecido como Rijndael, é un esquema de cifrado por bloque adoptado como un estándar de encriptación polo goberno estadounidense, e esperase que sexa usado en todo o mundo, como tamén analizado exhaustivamente, como foi o caso do seu predecesor, o DES. Foi adoptado polo Instituto Nacional de Estandares e Tecnoloxía (NIST) como un FIPS (PUB 197) en novembro do 2001 despois de 5 anos do proceso de estandarización.
O cifrado foi desarrollado por dous criptologos Belgas, Joan Daemen e Vincent Rijmen, e enviado ó proceso de selección AES baixo o nombre "Rijndael".
[editar] Descripción do cifrado
Estrictamente falando, AES non é precisamente Rijndael (aínda que na práctica chamaselle de maneira indistinta) xa que Rijndael permite un maior rango de tamaño de bloque e clave; AES ten un tamaño de bloque fixo de 128 bits e tamaños de chave de 128, 192 ó 256 bits, mentres que Rijndael pode ser especificado por unha clave que sexa múltiplo de 32 bits, cun mínimo de 128 bits e un máximo de 256 bits.
A maioría dos cálculos do algoritmo AES fanse nun campo finito determinado.
AES opera nun arreglo de 4×4 bytes, chamado state (algunhas versións de Rijndael cun tamaño de bloque maior teñen columnas adicionais no state). Para o cifrado, cada ronda da aplicación do algoritmo AES (excepto a última) consiste en catro pasos:
- SubBytes — neste paso realizase unha sustitución non lineal onde cada byte é reemplazado por outro seguindo unha táboa lookup table.
- ShiftRows — neste paso realizase unha transposición onde cada fila do state é rotado de maneira cíclica un número determinado de veces.
- MixColumns — operación de mezclado que opera nas columnas do «state», combinando os catro bytes en cada columna usando unha transformación lineal.
- AddRoundKey — cada byte do «state» é combinado ca clave «round»; cada clave «round» deriva da clave de cifrado usando unha key schedule.
A ronda final omite a fase MixColumns.