You are on page 1of 5

Advanced Encryption Standard (AES)

Universidad Nacional Agraria De La Selva


Facultad De Ingeniera En Informtica Y Sistemas
Tingo Mara, Per
alexis.villanueva@unas.edu.pe
jose.lovaton@unas.edu.pe
giancarlos. zegarra@unas.edu.pe
AbstractThe Advanced Encryption Standard (AES) specifies a Durante las pruebas abiertas de cinco aos, perodo en la que se
FIPS-approved cryptographic algorithm that can be used to cont con quince candidatos incluyendo CAST-256, CRYPTON,
protect electronic data. The AES algorithm is a symmetric block DEAL, DFC, E2, RANA, HPC, LOKI97, MAGENTA, MARS, RC6,
cipher that can encrypt (encipher) and decrypt (decipher) Rijndael, SAFER +, Serpent y Twofish, se eligieron cinco
information. Encryption converts data to an unintelligible form finalistas: RC6, Rijndael, Twofish. Serpiente, y MARTE. Despus
called ciphertext; decrypting the ciphertext converts the data de un riguroso
back into its original form, called plaintext. The AES algorithm proceso de seleccin, Rijndael precedi para desarrollar lo que se
can use cryptographic keys of 128, 192, and 256 bits to encrypt convertira en la base del Estndar de Encriptacin Avanzado: el
and decrypt data in blocks of 128 bits. AES.
El Estndar de cifrado avanzado (AES) es el Estndar de
ResumenEl Estndar de cifrado avanzado (AES) especifica un procesamiento de informacin federal para encriptacin
algoritmo criptogrfico aprobado por FIPS que se puede utilizar simtrica, y est definido por la Publicacin # 197 (2001) de
para proteger los datos electrnicos. El algoritmo AES es un FIPS.
cifrado de bloque simtrico que puede encriptar (cifrar) y Desde la perspectiva criptogrfica, se cree que AES es seguro y
desencriptar (descifrar) informacin. La encriptacin convierte eficiente, y, por lo tanto, es ampliamente aceptado como el
los datos a una forma ininteligible llamada texto cifrado; estndar tanto para aplicaciones gubernamentales como
descifrar el texto cifrado convierte los datos a su forma original, industriales. De hecho, casi cualquier protocolo nuevo que
llamada texto sin formato. El algoritmo AES es capaz de utilizar requiere cifrado simtrico admite AES, y muchos sistemas
claves criptogrficas de 128, 192 y 256 bits para cifrar y descifrar existentes que se disearon originalmente con otros algoritmos de
datos en bloques de 128 bits. cifrado simtricos se estn convirtiendo a AES.

I. INTRODUCIN
El gran estratega militar Sun Tzu dijo una vez: "Si conoces al II. MARCO TERICO
enemigo y te conoces a ti mismo, no debes temer los resultados de 1) Descripcin general de AES
cien batallas". Sus sabias palabras resaltan la importancia de la A partir de 1997, NIST trabaj con la industria y la comunidad
informacin militar. criptogrfica para desarrollar un Estndar de encriptacin
Ya en la antigedad, la interceptacin de la informacin enemiga avanzado (AES). El objetivo general era desarrollar un Estndar
solo era posible al intentar adquirir el cdigo o la informacin Federal de Procesamiento de Informacin (FIPS, por sus siglas en
fsica. ingls) que especificara un algoritmo de encriptacin capaz de
Muchos dicen que la informacin es ms importante que las proteger la informacin sensible del gobierno hasta bien entrado
armas. En la era contempornea, la mayora de la poblacin es el siglo XXI. Se esperaba que el algoritmo fuera utilizado por el
conocedora de la tecnologa y es capaz de utilizar Internet. gobierno de los Estados Unidos y, de manera voluntaria, por el
La era de la seguridad y codificacin de Internet es relativamente sector privado.
corta, pero la raza humana ha mostrado una mejora astronmica
con el tiempo. La criptografa fue de gran importancia, El 2 de enero de 1997, NIST anunci el inicio del esfuerzo de
especialmente en la Segunda Guerra Mundial. Solo Alemania tuvo desarrollo de AES y recibi numerosos comentarios. NIST luego e
ocho mquinas de cifrado diferentes durante la guerra, una de las hizo una solicitud formal de algoritmos el 12 de septiembre de
cuales fue el infame Enigma. 1997. La convocatoria estipul que el AES especificar un
Sin embargo, la criptografa tambin se ha reducido a un nivel algoritmo(s) de cifrado sin clasificar, pblicamente divulgado,
personal en la era moderna. Aunque Internet nos permite disponible sin regalas, en todo el mundo. Adems, los algoritmos
comunicarnos y recopilar informacin de todo el mundo, tambin deben implementar la criptografa de clave simtrica como un
tiene un gran defecto: los piratas informticos quienes saquean cifrado de bloque y (como mnimo) admitir tamaos de bloque de
informacin personal en internet. 128 bits y tamaos de clave de 128, 192 y 256 bits.
Cuando el problema atrajo la atencin de la oficina federal, el
gobierno investiga formas alternativas de reforzar sus medidas de El 20 de agosto de 1998, el NIST anunci un grupo de quince
seguridad en lnea. algoritmos candidatos AES en la Primera Conferencia de
Por lo que el Instituto Nacional de Estndares y Tecnologa Candidatos de AES (AES1). Estos algoritmos han sido enviados
(NIST) busc la respuesta en las personas. Celebraron una por miembros de la comunidad criptogrfica de todo el mundo. En
esa conferencia y en un aviso del Registro Federal publicado
competencia pblica para desarrollar un nuevo sistema de cifrado
simultneamente, el NIST solicit comentarios pblicos sobre los
que sera el sucesor del Estndar de cifrado de datos que se
consider demasiado frangible. candidatos ("Ronda 1"). En marzo de 1999 se celebr una
segunda Conferencia de Candidatos AES (AES2) para analizar los Especficamente, Rijndael parece ser un excelente intrprete en
resultados del anlisis realizado por la comunidad criptogrfica hardware y software en una amplia gama de entornos
global sobre los algoritmos candidatos. El perodo de comentario informticos, independientemente de su uso en los modos de
pblico sobre la revisin inicial de los algoritmos se cerr el 15 de retroalimentacin o no retroalimentacin. Su tiempo de
abril de 1999. Usando los anlisis y los comentarios de la Ronda 1 configuracin clave es excelente, y su agilidad clave es buena. Los
recibidos, el NIST seleccion cinco algoritmos de los quince. muy bajos requisitos de memoria de Rijndael lo hacen muy
adecuado para entornos de espacio restringido, en el que tambin
Los algoritmos de los candidatos finalistas de AES fueron MARS, demuestra un excelente rendimiento. Las operaciones de Rijndael
RC6, Rijndael, Serpent y Twofish, y el NIST elabor un Informe de se encuentran entre las ms fciles de defender contra los ataques
la Ronda 1 que describe la seleccin de los finalistas. de poder y sincronizacin.
Adems, parece que se puede proporcionar alguna defensa contra
Estos algoritmos finalistas recibieron un anlisis adicional
tales ataques sin afectar significativamente el rendimiento de
durante un segundo perodo de revisin ms profundo ("Ronda 2")
Rijndael. Rijndael est diseado con cierta flexibilidad en
antes de la seleccin del algoritmo final (s) para el AES FIPS.
trminos de tamaos de bloque y clave, y el algoritmo puede
Hasta el 15 de mayo de 2000, NIST solicit comentarios pblicos
acomodar alteraciones en el nmero de rondas, aunque estas
sobre los algoritmos restantes. El NIST busc activamente
caractersticas requeriran ms estudio y no se estn considerando
comentarios y anlisis sobre cualquier aspecto de los algoritmos
en este momento. Finalmente, la estructura de ronda interna de
candidatos, incluidos, entre otros, los siguientes temas:
Rijndael parece tener un buen potencial para beneficiarse del
criptoanlisis, propiedad intelectual, anlisis transversales de
paralelismo a nivel de instruccin.
todos los finalistas de AES, recomendaciones generales y
2) Procedimiento
cuestiones de implementacin. NIST recibi numerosos
Los dos investigadores que desarrollaron y enviaron Rijndael para
comentarios de la Ronda 2. El NIST tambin proporcion un foro
el AES son criptgrafos de Blgica: el Dr. Joan Daemen (Yo'-ahn
informal de discusin en lnea para las partes interesadas a fin de
Dah'-mun) de Proton World International y el Dr. Vincent Rijmen
debatir sobre los finalistas de AES y los temas relevantes de AES.
(Rye'-mun), un investigador postdoctoral en el Departamento de
Cerca del final de la Ronda 2, el NIST patrocin la Tercera Ingeniera Elctrica (ESAT) de Katholieke Universiteit Leuven.
Conferencia de Candidatos de AES (AES3), un foro pblico AES toma como elemento bsico al byte (8 bits), ve a los bytes
abierto para la discusin de los anlisis de los finalistas de AES. como elementos del campo finito de Galois o GF (2^8); toda
AES3 se llev a cabo del 13 al 14 de abril de 2000 en Nueva York, operacin del algoritmo est basada en rotaciones de bytes y
NY, EE. UU. Los solicitantes de los finalistas de AES fueron operaciones de suma.
invitados a asistir y participar en discusiones con respecto a los 2.1. Bloques AES
comentarios sobre sus algoritmos. Todos los documentos AES es un algoritmo de cifrado por bloques, inicialmente fue
propuestos para AES3 se consideraron como comentarios pblicos diseado para tener longitud de bloque variable pero el estndar
oficiales de la Ronda 2. define un tamao de bloque de 128 bits, por lo tanto, los datos a
ser encriptados se dividen en segmentos de 16 bytes (128 bits).
Despus del cierre del perodo de anlisis pblico de la Ronda 2 el
15 de mayo de 2000, NIST estudi toda la informacin disponible
para realizar una seleccin para el AES. El 2 de octubre de 2000,
NIST anunci que haba seleccionado a Rijndael para proponer
para la AES. Un informe, un comunicado de prensa y una hoja de
datos de AES estn disponibles con esa informacin.

Despus del anuncio, el NIST comenz a preparar un borrador del


Estndar Federal de Procesamiento de Informacin (FIPS) para
el AES, que se public para su revisin pblica y comentarios en
febrero de 2001. Tras el perodo de 90 das, el NIST revisar el
borrador del estndar, como apropiado, en respuesta a Fig. 1. Bloques AES o matriz de 4x4 bytes al que se lo llama estado.
comentarios pblicos. A continuacin, se sigui un proceso de 2.2. Claves
revisin, aprobacin y promulgacin. Por ser simtrico, se utiliza la misma clave para encriptar como
para desencriptar, la longitud de la clave puede ser de 128, 192 o
El Advanced Encryption Standard (AES) se public como FIPS 256 bits segn especifica el estndar, esto permite tres
197 el 26 de noviembre de 2001. Las pruebas de validacin para implementaciones conocidas como AES-128, AES-192 y AES-256,
la conformidad de las implementaciones de AES con FIPS 197 el procedimiento est basado en AES-128. Partiendo de una clave
comenzaron luego bajo el Programa de Validacin de Algoritmos inicial de 16 bytes (128 bits), que tambin se la puede ver como un
Criptogrficos. bloque o matriz de 4x4 bytes, se generan 10 claves, estas claves
resultantes junto con la clave inicial son denominadas subclases.
Por qu el NIST seleccion a Rijndael para proponer para el
El proceso de generacin de subclaves parte de la clave inicial
AES?
vista como una matriz de 4x4 bytes:
Cuando se consideran juntas, la combinacin de seguridad,
rendimiento, eficiencia, facilidad de implementacin y flexibilidad
de Rijndael lo convierten en una seleccin apropiada para el AES.
Fig. 2.Clave de 128 bits

Para mostrar claramente cmo se calculan las subclaves, el


Fig. 5. Operacin SubBytes
conjunto de subclaves puede verse como una matriz de 4 filas x 44
columnas, o sea una subclave a continuacin de otra:
Luego al resultado se le aplica un XOR byte a byte con la columna
4 posiciones atrs (en este caso la primer columna de la clave
inicial) y un XOR byte a byte con una columna de una tabla
llamada RCON que mantiene en la primer fila constantes 2i en el
campo GF y en las restantes filas 0, por ser la primer subclave la
que estamos calculando se toma para el clculo la primer columna
de la tabla RCON, para las siguientes subclaves se toma la
prxima columna no utilizada de esta tabla:

Fig. 3. Subclaves.
Para calcular la primera columna de la siguiente subclave se toma
la ltima columna de la subclave anterior (en este caso la clave
inicial) y se aplica una operacin llamada Rotword que consiste
en realizar una rotacin del primer byte hacia el ltimo lugar en
la columna:

Fig. 6. Operacin XOR y tabla RCON.


El resultado de esta ltima operacin ser la primera columna de
la subclave calculada (en este caso la segunda subclave siguiente
a la inicial):

Fig. 4. Operacin Rotword


Luego, a la columna resultante, se aplica una operacin llamada
SubBytes que consiste en reemplazar cada byte de la columna ya
rotada por un byte almacenado en una tabla llamada S-Box, esta
tabla contiene pre calculados el resultado de aplicarle a cada byte
la inversin en el campo GF y una transformacin afn, la Fig. 7. Primera columna de la siguiente subclave.
dimensin de la tabla es de 16x16 bytes donde los ndices tanto de Para calcular las tres columnas siguientes se hace un XOR entre
las columnas como de las filas van de 0 a F, para obtener la la columna anterior y la columna de cuatro posiciones atrs:
transformacin S-Box de un byte se toman los primeros 4 bits
como el ndice de la fila de la tabla y los segundos 4 como ndice
de la columna de la tabla:

Fig. 8. Clculo de las 3 columnas secuenciales de la siguiente subclave.


Una vez aplicadas estas operaciones se tiene una nueva subclave: SubBytes: Cada byte del estado se reemplaza por otro
valor de acuerdo con la tabla de sustitucin de bytes S-
Box ya vista en el clculo de las subclaves.
ShiftRows: En cada fila del estado, a excepcin de la
primera, se rotan circularmente hacia la izquierda los
bytes, en la segunda fila se rotan una posicin, en la
tercera dos posiciones y en la cuarta tres posiciones.

Fig. 9. Resultado final de la nueva subclave.


Y se procede de la misma forma para calcular las siguientes
subclaves. Al finalizar se tendrn 11 subclaves, cada una de estas
subclaves se aplica en una de las rondas de operaciones que se
explican en detalle a continuacin.
2.3. Cifrado AES: Rondas y operaciones
El proceso de cifrado del algoritmo consiste en aplicar a cada
estado un conjunto de operaciones agrupadas en lo que se
denominan rondas, el algoritmo realiza 11 rondas, donde en cada
ronda se aplica una subclave diferente. Las 11 rondas se pueden Fig. 12. Operacin ShiftRows.
clasificar en 3 tipos: MixColumns: A cada columna del estado se le aplica
1 ronda inicial (se aplica la subclave inicial). una transformacin lineal, esto es multiplicarlo por una
9 rondas estndar (se aplican las 9 subclaves siguientes, matriz predeterminada en el campo GF.
una en cada ronda).
1 ronda final (se aplica la ltima subclave).
Las operaciones que realiza el algoritmo dentro de las rondas se
reducen a 4 operaciones bsicas:
SubBytes.
ShiftRows.
MixColumns.
AddRoundKey.
A continuacin, se muestra un diagrama de cmo se aplican las
operaciones y claves en cada una de las rondas:

Fig. 13. Operacin MixColums.


AddRoundKey: Se aplica la misma operacin que en la
ronda inicial, pero utilizando otra subclave.
Por ltimo, la ronda final consiste en las operaciones de:
SubBytes: igual al de la ronda estndar.
ShiftRows: igual al de la ronda estndar.
AddRoundKey: igual al de la ronda inicial y estndar,
pero aplicando la ltima subclave.
Y esto sera todo el procedimiento que se usa para la encriptacin
AES.
3) Ventajas y desventajas
Fig. 10. Proceso de las operaciones por rondas.
La ronda inicial aplica solamente la operacin AddRoundKey que El cifrado mediante clave simtrica a la cual pertenece aes
no es ms que un XOR byte a byte entre el bloque a cifrar y la significa que dos o ms usuarios, tienen una nica clave secreta,
clave inicial. esta clave ser la que cifrar y descifrar la informacin
transmitida a travs del canal inseguro. Es decir, la clave secreta
la deben tener los dos usuarios, y con dicha clave, el usuario A
cifrar la informacin, la mandar a travs del canal inseguro, y a
continuacin el usuario B descifrar esa informacin con la
misma clave que ha usado el usuario A.
Los sistemas simtricos tienen las siguientes ventajas:
Gran velocidad de cifrado y descifrado.
No aumenta el tamao del mensaje
Fig. 11. Proceso para la ronda inicial.
Tecnologa muy conocida y difundida.
Luego se realizan 9 rondas estndar donde cada ronda consiste en
[1] El algoritmo aes (Advanced Encryption
las siguientes operaciones:
Standard ) es muy seguro, en el ao 2011 los
investigadores de Microsoft Research afirmaron
que se necesitara un billn de ordenadores que
pudieran cada uno probar mil millones de claves III. CONCLUSIONES
por segundo, tardaran ms de 2.000 millones de Despus de la recopilacin y estudio de la informacin
aos en dar con una del sistema AES-128, y hay determinamos que el algoritmo AES es uno de los ms usados
que tener en cuenta que las mquinas actuales slo mundialmente debido a su rendimiento, seguridad y adems de ser
pueden probar 10 millones de claves por segundo un estndar aprobado internacionalmente.
Pero presentan las siguientes desventajas: Con la computacin actual, romper la clave AES de 128 bits por
La seguridad depende de un secreto compartido entre fuerza bruta es inviable, ya que demorara billones de aos.
el emisor y el receptor. El cifrado asimtrico es menos seguro que el simtrico con la
La administracin de las claves no es "escalable". misma longitud de clave, pero es relativamente lento.
La distribucin de claves debe hacerse a travs de AES lleg para quedarse y comprender no slo cmo funciona,
algn medio seguro. sino cmo puede hacer que funcione para usted lo ayudar a
maximizar su seguridad digital y mitigar su vulnerabilidad a los
4) Aplicaciones en algunas empresas o entidades ataques en lnea.
Advanced Encryption Standard (AES) que es de acceso pblico, es
uno de los algoritmos de cifrado ms utilizados y seguros REFERENCIAS
actualmente disponibles. Aqu algunos ejemplos: [1.] https://www.nist.gov/news-events/news/2000/10/commerce-
AES es el cifrado que la NSA(Agencia de Seguridad Nacional de department-announces-winner-global-information-security
los Estados Unidos) utiliza para asegurar documentos con la [2.] http://complexityeducation.org/wp-
clasificacin "top secret". content/uploads/2016/12/RCSE-January-2017-
Tambin se sabe que WPA2 usa AES, pero tambin puede usar Publication.pdf#page=18
[3.] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4863838/
TKIP por retrocompatibilidad (as WPA2 podra aceptar
[4.] http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf
conexiones WPA). [5.] https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-
Otro ejemplo es el caso de winRar desarrollado por RarLab, el Standards-and-Guidelines/documents/aes-
cual tambin usa el cifrado AES, con una longitud de clave de 128 development/Rijndael-ammended.pdf
bits y una funcin de hash especialmente lenta para ralentizar al [6.] https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-
mximo los intentos de descubrir la contrasea mediante ataques Standards-and-Guidelines/documents/aes-
de fuerza bruta, que son actualmente la nica forma de descubrir development/AES3Proceedings.pdf
una contrasea para archivos con cifrado AES. Esto lo hace [7.] https://web.archive.org/web/20020211162045/http://csrc.nist.g
ov:80/encryption/aes/round2/aesfact.html
especialmente seguro, incluso mucho ms que otros compresores
[8.] https://web.archive.org/web/20020414052747/http://csrc.nist.g
que usan claves de 256 bits, por ejemplo, un ataque a un fichero ov:80/encryption/aes/rijndael/
ZIP cifrado con AES-256 es 10 veces ms rpido en las mismas [9.] https://www.uv.es/sto/cursos/seguridad.java/html/sjava-12.html
condiciones que el mismo ataque a un fichero RAR cifrado con [10.] http://postgrado.info.unlp.edu.ar/Carreras/Especializaciones/R
AES-128. edes_y_Seguridad/Trabajos_Finales/Pousa_Adrian.pdf
[11.] http://148.204.210.201/tesis/1404316762511NPGMTesisAn.pdf
5) Demostracin [12.] N. Galvez, anlisis y mejora del rendimiento del algoritmo aes
para su utilizacin en telfonos mviles, tesis de maestra,
Utilizando un programa hecho en flash(Rijndael Inspector) se
Instituto Politcnico Nacional, Mexico D.F, Mexico,
pueden ver el procedimiento realizado.
febrero,2014
Para descargar el programa puede seguir el siguiente enlace: [13.] https://www.winrar.es/soporte/articulo/49
http://www.formaestudio.com/rijndaelinspector/ [14.] https://thebestvpn.com/aes-encryption/

Fig. 13.Demostracin de la encriptacin AES.