Logo Studenta

TellezGonzalezJorgeLuis_ResumenAES

¡Estudia con miles de materiales!

Vista previa del material en texto

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Criptografía
Grupo: 02 - Semestre: 2023-2
Tarea:
Funcionamiento del Algoritmo AES
Fecha de entrega: 09/03/2023
Profesora:
Dra. Rocío Alejandra Aldeco Pérez
Alumno:
Téllez González Jorge Luis
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Índice
I. Introducción……………………………………………………………………………………………….1
II. Desarrollo……………………………………………………………………………………………………1
A. Estructura básica de AES……………………………………………………………….…..4
B. SubBytes…………………………………………………………………………………………..4
C. ShiftRows…………………………………………………………………………………………5
D. MixColumns…………………………………………………………………………………….5
E. AddRoundKey………………………………………………………………………………….6
F. AES Key Expansion……………………………………………………………………………7
G. Descifrado…………………………………………………………………………………………7
H. Áreas de implementación……………………………………………………………………8
III. Conclusiones
2
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Introducción
En este resumen se abordará un artículo que explora el algoritmo AES y su funcionamiento.
AES (Advanced Encryption Standard) es un algoritmo de cifrado simétrico por bloques
ampliamente utilizado en todo el mundo para proteger la privacidad y la seguridad de la
información en línea y fuera de línea. El artículo discutirá cómo funciona el algoritmo AES,
su diseño, sus características clave, su comparación frente a otros algoritmos así como su
relevancia y aplicaciones prácticas en la actualidad.
Desarrollo
La criptografía se basa en dos procesos vitales, el cifrado y el descifrado, que convierten los
datos originales en un formato ilegible y luego lo convierten de nuevo en texto plano. La
criptografía moderna, entonces garantiza los principios básicos de confidencialidad,
integridad, no repudio y autenticación.
En la actualidad AES es uno de los algoritmos de cifrado simétrico más comunes en
la actualidad que ha sustituido a algoritmos como DES por su e�ciencia y mejora drástica
de seguridad. Este algoritmo se publicó en el año 2000 por el NIST para reemplazar a DES
tras una invitación de este organismo para desarrollar un reemplazo de DES. Finalmente, el
algoritmo Rijndael fue seleccionado y tomó el nombre de AES. A partir de allí, trabajos
como el de Lu et. al. han abordado propuestas arquitectónicas para reducir el impacto
computacional de AES en hardware de teléfonos móviles y otros dispositivos de bajo
consumo. En comparación con otros algoritmos, Blow�sh tiene mejor rendimiento en
ciertas situaciones frente a AES, sin embargo, AES se muestra superior frente a algoritmos
viejos como RSA, 3DES o RC6.
El NIST utilizó 3 criterios fundamentales para evaluar los algoritmos de
competidores: seguridad, coste y características del algoritmo y la implementación. La
seguridad se re�ere a la capacidad de proteger los datos de los atacantes, el coste se re�ere a la
e�ciencia computacional y la diversidad de aplicaciones, y las características del algoritmo y
la implementación se re�eren a la �exibilidad, simplicidad y adecuación del algoritmo para
diferentes plataformas.
3
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Estructura básica de AES
El AES es un cifrado iterativo que se basa en una red de sustitución y permutación (SPN
(en lugar de la clásica red Feistel), que consiste en una serie de operaciones matemáticas que
transforman los bloques de datos. AES opera con bloques de 128 bits y utiliza diferentes
números de rondas según el tamaño de la clave (128 usa 10, 192 usa 12 y 256 bits usa 14).
Cada ronda consta de cuatro subprocesos para cifrar los datos: SubBytes, ShiftRows,
MixColumns y AddRoundKey. Estos subprocesos realizan sustituciones y
permutaciones sobre los bits del bloque para aumentar la seguridad empleando una matriz
de 4x4 (en 128 bits) correspondiente al tamaño de bloque a usar durante el proceso de
cifrado.
SubBytes
El proceso SubBytes es el primer paso que se hace en cada ronda para cambiar los datos.
Consiste en cambiar cada número o letra que hay en el bloque por otro diferente usando
una tabla llamada S-box. Esta tabla tiene �las y columnas con números y letras del 0 al F.
Para cambiar un número o letra por otro, se busca la �la y la columna que coinciden con ese
número o letra y se toma el valor que está en esa casilla. Por ejemplo, si tenemos el número
53, buscamos la �la 5 y la columna 3 y tomamos el valor que está ahí, que es ED. Así
hacemos con todos los números y letras del bloque para sustituirlos por su equivalente en la
S-Box.
Figura 1. Rijndael S-Box.
4
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
ShiftRows
ShiftRow es el segundo paso que se hace en cada ronda para mover los datos. Consiste en
cambiar de lugar los números y letras que hay en el bloque según la �la en la que están. El
bloque tiene cuatro �las y cuatro columnas. En la primera �la no se cambia nada. En la
segunda �la se mueve todo un lugar a la izquierda. En la tercera �la se mueve todo dos
lugares a la izquierda. En la cuarta �la se mueve todo tres lugares a la izquierda. Si algo sale
del bloque por la izquierda, vuelve a entrar por la derecha. Así hacemos con todas las �las
del bloque para desordenarlos más.
Figura 2. Ejemplo de aplicación de ShiftRows a un bloque o matriz de estado.
MixColumns
MixColumn es el tercer paso que se hace en cada ronda para combinar los datos. Consiste
en aplicar una multiplicación entre los números y letras que hay en el bloque de estado por
otros valores presentes en la llamada matriz de transformación. Para combinar un número o
letra con otro, se multiplica el primero por el segundo y se usa una operación XOR para
obtener un resultado.
En un aspecto más formal, cada columna se trata como un polinomio de la forma
perteneciente al campo GF( ); con sus coe�cientes en el𝑏(𝑥) = 𝑏
3
𝑥3 + 𝑏
2
𝑥2𝑏
1
𝑥 + 𝑏
0
28
subcampo primo GF(2). Cada columna se multiplica por un polinomio �jo
módulo cuyo inverso es𝑎(𝑥) = 3𝑥2 + 𝑥2 + 𝑥 + 2 𝑥4 + 1
.𝑎−1(𝑥) = 11𝑥3 + 13𝑥2 + 9𝑥 + 14
5
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Figura 3. Procedimiento MixColumns.
AddRoundKey
AddRoundKey es la fase más importante del algoritmo AES que ayuda a garantizar la
seguridad de los datos cifrados. Tanto la clave como los datos de entrada se organizan en una
matriz de 4x4 bytes, en donde AddRoundKey crea una relación entre la clave y el texto
cifrado. En un inicio, se depende principalmente de la clave indicada por el usuario para la
generación de subclaves. A continuación, se combina la clave principal con la subclave para
obtener el estado cifrado mediante XOR binario.
Figura 4, Transformación AddRoundKey.
6
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
AES Key Expansion
Un aspecto esencial de AES es que en cada ronda se utiliza una nueva subclave. Esta rutina
creaclaves consistentes en arrays de 4 bytes. El proceso de expansión de clave comienza con
la clave de cifrado original, que se divide en bloques de 4 bytes y se almacena en una matriz
de palabras de clave. A continuación, se aplican una serie de operaciones a esta matriz para
generar una serie de subclaves, que se almacenan en una matriz de palabras de clave
expandida, de forma que cada subclave se genera a partir de la subclave anterior.
Figura 5. AES Key Expansion.
Descifrado
El descifrado es el procedimiento para recuperar los datos originales que fueron
previamente cifrados en AES. Para hacer esto, se necesita la clave utilizada para cifrar
inicialmente los datos. En el caso del AES, el proceso de descifrado es similar al de cifrado,
pero en orden inverso.
7
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Áreas de implementación
Las bondades de AES han permitido que desplace a otros algoritmos en áreas tan críticas
como el Internet. En especí�co, AES es el algoritmo de cifrado predominante en el
protocolo (SSL/TLS) que se utiliza para proporcionar un canal de comunicaciones seguro
entre cliente y servidor web. Así mismo, AES es el estándar en muchas aplicaciones
modernas que integran cifrado en sus comunicaciones, como lo es WhatsApp o Facebook.
Conclusiones
AES ha demostrado desde su implementación ser uno de los algoritmos de cifrado más
con�ables que existen en la actualidad. Desde la rotura de algoritmos como DES o RC4, la
con�abilidad en los métodos de cifrado se había visto severamente reducida, sin embargo,
en la actualidad se puede considerar que los métodos de cifrado a la disposición del público
pueden garantizar los 4 principios fundamentales de la criptografía. Más allá de lo anterior,
gracias a AES es posible tener un uso generalizado del cifrado en aplicaciones tan cotidianas
de mensajería o comunicaciones en video.
Un ejemplo del uso de AES puede verse así mismo en aquellos entornos
colaborativos de trabajo remoto que requieren el uso de equipos a distancia. Parsec, una
aplicación para el acceso remoto a otra computadora, es un ejemplo de la gran utilidad de
AES ya que, gracias a su robustez, permite acceder completamente a una computadora vía
remota con un nivel de seguridad altamente con�able incluso en redes compartidas como lo
puede ser la RIU de la UNAM. Otro ejemplo de aplicación se encuentra en las apps
bancarias, en donde la seguridad toma un papel predominante y el cifrado seguro resulta
uno de los elementos más críticos dentro de la lógica del negocio y la arquitectura de sus
sistemas.
Aunque la tecnología avanza de manera vertiginosa con el advenimiento de la
computación cuántica y se ha advertido sobre la posibilidad de que los métodos actuales de
cifrado resulten obsoletos, AES y, en especí�co, su variante de 256 bits, se considera
resistente a cualquier ataque teórico de origen cuántico y no se espera que sea vulnerable a
esa clase de sistemas en un futuro cercano. Por ello, AES es uno de los mejores algoritmos de
cifrado junto a ChaCha20 y cumple de forma efectiva su propósito en todos los ecosistemas
en que se ha implementado, y se espere que continúe haciéndolo.
8
Facultad de Ingeniería Criptografía______________________________________________________________________________________________________________
Referencias
Abdullah, Ako. (2017). Advanced Encryption Standard (AES) Algorithm to Encrypt and
Decrypt Data. ResearchGate.
Wikipedia. (s.f.). Advanced Encryption Standard. Consultado el 9 de marzo de 2023 desde:
https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
9
https://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Continuar navegando

Materiales relacionados

89 pag.
10 pag.
TellezGonzalezJorgeLuis_ChaCha20

UNAM

User badge image

Jorge Luis Tellez