Professional Documents
Culture Documents
Presenta:
Ernesto Godínez Rodríguez
Directores de tesis:
Dr. Víctor Manuel Silva García
Dr. Rolando Flores Carapia
Septiembre de 2015
Cifrado de imágenes utilizando Advanced Encryption
Instituto Politécnico Nacional
Standard (AES) con permutación variable
Resúmen
En este trabajo se presentan los fundamentos, diseño, construcción y prueba del sistema
de cifrado de imágenes con la metodología AES (Advanced Encryption Standard) y la
función de permutación Variable SEIAES PV.
El estándar AES forma parte de los algoritmos más destacados en el mundo para cifrar la
información, de ahí que se muestra el desarrollo e implementación del software que fue
realizado totalmente apegado a la norma oficial establecida por la Secretaría de
Comercio de los E.E.U.U. y dado a conocer en la Publicación Federal de Estándares de
Procesamiento de Información (FIPS 197, por sus siglas en inglés), del Instituto Nacional
de Estándares y Tecnología (National Institute Standards and Technology –NIST-), para el
cifrado de imágenes Bit Map (BMP), este formato fue seleccionado por no presentar
pérdidas de datos al momento del cifrado, debido a que ciertas dependencias no permiten
que halla variación, ni en un bit, en las imágenes recuperadas, aunque el desarrollo puede
ser implementado para cualquier formato de datos, no solo de imágenes.
Abstract
This paper presents the fundamentals, design, construction and testing of the
image cypher System with the methodology AES (Advanced Encryption Standard)
and the Variable Permutation function SEIAES PV.
The AES standard is part of the most important algorithms in the world for
information encryption. This study shows the development and implementation of
software that was made entirely attached to the official standard established by the
Ministry of Commerce USA and appeared in the publication Federal Information
Processing Standards, FIPS-197 (for its acronym), the National Institute of
Standards and Technology (NIST) for encryption Bit Map images (BMP), which
were selected to be a type of image without loss, due to some agencies not
permiting change in recovered images. The development can be implemented for
any data format, not only images.
In order to strengthen the AES standard, the variable permutation function was
added, which has its theoretical basis in Theorem JV, successfully implemented in
their predecessors, DES and triple DES (Data Encryption Standard), by
researchers at the Instituto Politécnico Nacional (National Polytechnic Institute),
what makes this development an innovation itself by international standards.
Agradecimientos
El miércoles 1º. de enero de 1936 se hace pública, en todos los medios de
comunicación, la existencia del Instituto Politécnico Nacional, desde entonces el
Instituto ha brindado educación de la más alta calidad, con la cual he sido
beneficiado primero en la licenciatura, luego con la especialización y actualmente
en la Maestría, a través del Centro de Innovación y Desarrollo Tecnológico en
Cómputo CIDETEC, por esto expreso mi más alto agradecimiento.
A mis Tutores Víctor Manuel Silva García y Rolando Flores Carapia, por
compartirme su gran afecto transformado en conocimiento, por su paciencia y
dedicación, sin ello no hubiera sido posible el presente trabajo.
Agradezco mi familia por haber puesto las bases fundamentales que sin ellas
hubiera sido imposible llegar: a mi madre por conmover mi inteligencia, mis
hermanos especialmente a Cuco por su ejemplo perdurable, Antonio, Mary,
Carmen, Jesús, Nico, Nati, Paco y Lupe, por el apoyo en su momento que siempre
tuve.
A Lupita mi compañera de cien años, por su amor que también produce libros y
fundamento del presente, a mis hijos Marcela y Emiliano por el tiempo que les
pertenecía. Fuentes de mi motivación.
En general agradezco a todas las personas que de alguna u otra forma han tenido
que ver en la realización de este trabajo y que no necesito nombrar porque saben
que les guardo un afectuoso agradecimiento por su ánimo, optimismo y sobre todo
por su amistad.
Contenido
Resumen vii
Abstract viii
Agradecimientos ix
Contenido xi
Índice de figuras xiv
Índice de tablas xvi
Glosario xvii
Planteamiento del problema. xix
Justificación xxii
Objetivos. xxiii
Metas xxiii
Metodología. xxiii
Capítulo I: Introducción. 1
I.1.- Criptografía. 1
I.1.1.- Antecedentes. 1
I.1.2.- Época contemporánea. 3
I.1.3.- Organización actual. 5
I.1.4.- Principios de un sistema de Cifrado y Descifrado. 6
I.1.5.- Sistema simétrico (DES). 8
I.1.6.- Sistema simétrico Advanced Encryption Standard (AES). 9
I.1.7.- Comparación entre AES, 3DES y DES. 9
I.2.- Estado del Arte. 11
I.2.1.- El uso de las imágenes en la actualidad. 11
I.2.2.- Implementaciones Criptográficas de imágenes. 12
I.2.2.1.- Diseño basado en bloques de RAM con modos de operación
de AES con 8 bits. 13
I.2.2.2.- Múltiple Algoritmo de cifrado AES basado en tablas de
búsqueda. 13
I.2.2.3.- Criptoanálisis de un esquema de cifrado de imágenes basado
en un totalmente renovado algoritmo de caos. 13
I.2.2.4.- Algoritmo de encriptación de imágenes en paralelo basado en
el mapa caótico discretizado. 14
Capítulo II: Herramientas y Conceptos. 15
II.1.- Conceptos de imágenes. 15
II.2.- Estructura interna de un archivo digital. 16
II.2.1.- El Pixel. 16
II.2.2.- Estructura del archivo BMP (Bit Map Picture). 17
II.2.3.- Encabezado del archivo y encabezado de la información. 17
II.2.4.- Paleta de colores. 17
II.2.5.- Información de la imagen. 18
Índice de figuras
Índice de tablas
Glosario
AES: Estándar Avanzado de Encriptación
Ataque de fuerza bruta: Ataque que requiere la prueba de todos los valores posibles
hasta que el correcto sea encontrado.
Clave secreta: Clave criptográfica compartida y sólo conocida por dos entidades.
Criptografía: Disciplina de criptología que trata de los principios, de los medios y de los
métodos de transformación de la información con el objetivo de enmascarar su
significado.
Criptología: Ciencia de los mensajes secretos. Está compuesta por las disciplinas de
criptografía y de criptonálisis.
Texto en claro: Datos inteligibles que pueden ser leidos o procesados sin la aplicación de
ningun descifrador.
XOR: Operación lógica de "o exclusivo". Se resume en 0+0=0, 0+1=1, 1+0=1 y 1+1=0.
iv. Justificación
Como resultado de la búsqueda específica sobre la encriptación de imágenes mediante
métodos seguros, se ha observado un vacío de investigación, lo que existe plantea
soluciones a problemáticas muy específicas, por lo que sigue sin haber una metodología
para el cifrado de imágenes, que utilice algún estándar mundial de cifrado que haya sido
sometido a pruebas que para clasificarlo como seguro.
La imagen en la actualidad es un recurso cada vez más utilizado como evidencia de la
realidad y que simplifica la identidad de la misma, debido a esto, las bases de datos
incorporarán más imágenes para describir o identificar la misma. Muchas de estas
imágenes tendrán que ser cifradas con mayor frecuencia, por lo que los tiempos de la
misma deberán reducirse y por lo tanto debemos estar en la búsqueda de nuevos e
innovadores algoritmos que permitan reducir estos tiempos.
Aunque en el presente trabajo tiene un alcance sobre el formato de imágenes BMP, se
propone que el algoritmo se construya sin la dependencia del tipo de imagen, para que
con sólo algunas modificaciones pueda ser utilizado para otros formatos.
También el presente trabajo no sólo pretende el diseño y la implementación segura de un
algoritmo para el cifrado de imágenes, sino aportar en la construcción de una metodología
innovadora utilizando bloques de 128 bits en formato entero buscando tiempos aceptables
de cifrado y descifrado en ciclos más cortos en las transformaciónes de AES.
Otra innovación que justifica el presente trabajo, es la introducción de la permutación
variable al criptograma de AES, utilizando para cada bloque diferentes cadenas formadas
por los decimales del número Pi, haciendolo un esquema de cifrado propio, con el fin de
fortalecer el esquema de criptogrtafía AES.
v. Objetivo(s)
General
Diseñar e implementar un algoritmo para la encriptación de imágenes en formato sin
pérdidas empleando Advanced Encryption Standard (AES) con permutación variable.
Particulares
Incrementar la complejidad del algoritmo de cifrado AES implementando
permutación variable.
Diseñar el algoritmo para cifrar imágenes en formato sin pérdidas.
Implementar el algoritmo para el cifrado de imágenes sin pérdidas en el lenguaje
de Programación Orientado a objetos C++.
Implementar una medida para el grado de aleatoriedad que tienen la distribución
de los bits para cada uno de los colores básicos.
Metas
Producir un sistema que permita el cifrado de imágenes BMP utilizando Advanced
Encryption Standard (AES) con una permutación variable.
Emitir recomendaciones para la elaboración de una metodología en el cifrado de
imágenes en diferentes formatos.
Elaborar un algoritmo de permutación variable para el cifrado de imágenes para
integrarlo a AES.
vi. Metodología
Investigación y/o asesoría para obtener el conocimiento de las herramientas para el
desarrollo de la tesis como son:
Investigación en el AES.
Investigación de la Permutación variable.
Estructura de los archivos de imágenes BMP y C++.
Diseño de la permutación a implementar y su acoplamiento con AES.
Diseño del Sistema que permita cifrar y descifrar una imagen.
Realización de las pruebas y correcciones a la unidad de cifrado.
Capítulo I: Introducción
I.1.- Criptografía.
Una vez que la criptografía mantiene los datos de manera secreta, el criptoanálisis
examina un texto cifrado para obtener la información original sin conocimiento de la clave
secreta, esto es, de forma ilícita rompiendo así los procedimientos de cifrado establecidos
por la Criptografía, por lo que se dice que Criptoanálisis y Criptografía son ciencias
complementarias pero contrarias.
I.1.1-Antecedentes.
Aproximadamente en el año 1500 A.C. en la villa egipcia cerca del río Nilo llamada Menet
Khufu, Khnumhotep II, el arquitecto del faraón Amenemhat II, construía algunos
monumentos, los cuales necesitaban ser documentados, cuya información o escrituras
en pastillas de arcilla no debían ser de dominio público.
El escriba de Khnumhotep II tuvo la idea de sustituir algunas palabras o tramos de texto
de estas pastillas. Si el documento fuera robado, el ladrón no encontraría el camino que lo
llevaría al tesoro - moriría de hambre, perdido en las catacumbas de la pirámide.
Entre el año 600 y 500 a.C. las culturas como la Egipcia, China, Hindú y la Mesopotámica
desarrollaron la esteganografia:
* Tatuajes con mensajes en la cabeza de esclavos. Estos tenían que esperar a que el
cabello creciera para ocultar el mensaje y posteriormente en la peluquería se podía
conocer el mensaje.
* Lacras en la madera de placas de cera. Estas lacras eran escondidas con cera nueva.
Para descifrar, bastaba derretir la cera.
* Mensajes dentro del estómago de animales de caza, y también de humanos.
Julio César usó su famosa cifra de sustitución para cifrar mensajes gubernamentales.
Para componer su texto cifrado, César alteró letras desviándolas tres posiciones; La A
hacía D, B se hacía E, etc. Para reforzar el cifrado se sustituían letras latinas por griegas
[26].
Hay muchas referencias en la historia de la criptografía. Para concluir esta parte histórica
no puede quedar sin mención una de especial importancia, la que desarrolló el
diplomático, criptógrafo y químico francés Blaise de Vigenére nacido en 1523 que de
algún modo generalizaba el sistema de Julio César, usando la función lineal de cifrado:
f(x)=x+b mod n
donde x es el mensaje a cifrar y b la clave de cifrado, n es el número de símbolos del
alfabeto en el que nos encontramos. Para efectuar este cifrado se usaba los símbolos de
la Tabla 1.
Las letras de la primera fila corresponden a las letras del mensaje original, las letras de la
primera columna corresponden a las letras de la clave. Se toma cada letra del mensaje
original (i), y se elige la letra correspondiente de la clave en la primera columna (j),
entonces la letra que está en la intersección (ij) es la letra cifrada correspondiente. En
términos de la fórmula queda como:
H → H+E = L
O → O+S = G
L → L+T = E
A → A+A = A
M → M+L = X
U → U+L = F
N → N+A = N
D → D+V = Y
O → O+E = S
Organización Actual de la
Criptografía
AES
Transposición
Simétrico Bloques
Clasificación de
Sistemas de
Cifrado
Asimétrico
Flujo
Sustitución
Figura I.5.- Clasificación de acuerdo con el tipo de operación, llave o flujo utilizado.
El Estándar de Encriptación de Datos DES por sus siglas en inglés (Data Encryption
Standard) es un método de cifrado conocido como Feistel Substitution Permutation
Network (SPN) y que ha influenciado en este campo de manera muy importante, el cual
fue seleccionado como el estándar en 1977 (aparecido en el FIPS 46, Federal Information
Processesing Standard de los Estados Unidos). DES es un método de cifrado por
sustitución y permutación, utiliza una llave de 56 bits permutadas en 16 sub-llaves de 48
bits. Para el descifrado utiliza un algoritmo idéntico de manera inversa.
En 1998 la Electronic Frontier Fundation construyó un Cracker con menos de $250 mil
dólares que pudo decodificar mensajes en DES en menos de una semana, por esto DES
ha sido tomado con reservas. En respuesta aparece triple DES que extiende el tamaño de
la llave y aplica el algoritmo tres veces sucesivas con tres diferentes llaves. La llave
combinada de esta manera resulta de un tamaño de 168 bits (3 por 56), este método triple
ha dado buenos resultados y está disponible para protocolos en sistemas criptográficos
de internet y es usado en multiples aplicaciones y desarrollos, por lo cual se considera
vigente [8][9].
Longitud de la 128, 192, o 256 bits (k1,k2, y k3) 168 bits, (k1 y k2) 56 bits
llave 112 bits
Tipo de cifrado Cifrado de bloque Cifrado de bloque simétrico Cifrado de bloque simétrico
simétrico
Seguridad Considerado seguro Una sola debilidad fue la salida Probado inadecuadamente
de DES
Tiempo requerido Para una llave de 128 bits: Para llave de 112 bits: 800 días. Para llaves de 56 bits: 400
para revisar todas 5X1021 años. días.
las llaves posibles
hasta 50 billones
por segundo **
Algunos de los datos que se transmiten tienen que ver con la identidad de personas como
la autentificación biométrica, o el reconocimiento de huellas, rostros o firmas digitales,
forman parte ya de las bases de datos que a diario se transmiten por esos canales
abiertos.
Como ejemplos podemos mencionar:
Autentificación biométrica. Las fotos biométricas son cada vez más un estándar dentro
de la comunidad internacional que nos permite reconocer a una persona en cualquier
parte del mundo de manera sencilla.
Las características de las fotos biométricas son muy específicas y se encuentran
realizadas de esta manera para poder tener un estándar a nivel mundial, las
características que tienen son las siguientes:
El tamaño de la foto debe de ser exactamente de 35 por 45 milímetros
Los ojos completamente abiertos, además deben concordar con un patrón gris que se
utiliza en este tipo de cámaras y la nariz quedar exactamente al centro.
Figura I.6.- Además de la fotografía o la huella, la imagen del iris y en un futuro otros
rasgos biológicos.
Capítulo II.
Herramientas y Conceptos
Columna
Valores de cada pixel
0 1 1 1 0 Renglón
0 1 0 0 0
0 1 1 0 0
0 1 0 0 0
0 1 1 1 0
Pixel
En la Figura II.2 se aprecia un cuadrado negro con fondo blanco. Cada punto con la
representación digital corresponde al área del espacio del objeto, y un valor digital es
asignado en cada punto de la imagen digital que se relaciona a la intensidad del área del
espacio del objeto. Los bits se utilizan para representar intensidad de cada posición. En la
Figura II.2 la letra E se representa con valores de uno y cero en el fondo blanco.
En este caso se refiere a una imagen de un bit o sea blanco y negro, donde cada punto se
representa con un uno como valor máximo o un cero como valor mínimo, cuando se
refiere a imágenes de grises o de 8 bits, se pueden representar imágenes con una mayor
gama de colores o de grises y habrá 00000000 como valor mínimo y 11111111 como
valor máximo para cada pixel que corresponde al número 256, que corresponde a las
variantes de grises que se pueden representar en la figura o imagen, en las imágenes de
más alta resolución y de color se utilizan 24 bits para cada pixel, 8 bits para cada color
RGB (8 bits por 3 colores es 24, 224= 16,777,216 posibles diferentes colores) y una mayor
concentración de pixeles por área.
II.2.1.- El Pixel.
Toca ahora definir al elemento más pequeño de una imagen cuyas características definen
la calidad y el tamaño de una imagen se le conoce como pixel.
Un archivo BMP está conformado por n x m puntos o pixeles con diferentes
características (posición x,y, tonalidad rgb y cantidad por área), el número es
Encabezado de la Información
BITMAPINFOHEADER 40 bytes
Paleta
Una tabla de colores RGBQUAD.
La información de la imagen.
Información de la imagen
Autómatas celulares La imagen original y cifrada están definidas por la misma paleta de colores y
reversibles con memoria. la imagen recuperada es idéntica a la original
Algoritmo para cifrado Las imágenes RGB son convertidas en indexadas que se colocan en una
utilizando transformada matriz y un mapa de colores, se aplican tres transformadas fraccionales de
fraccional de Fourier. Fourier.
Sistemas Caóticos Empleando esteganografía, 1ª. usando sustitución y la 2ª. usando permutación.
Cifrado de Imágenes La imagen digital a cifrar es transformada fraccionalmente con la FWT, luego
utilizando la los coeficientes resultantes de la FWT (Aproximación, Detalles: Horizontal,
Transformada Wavelet Vertical y Diagonal) son multiplicados cada uno por diferentes máscaras de
Fraccional fases aleatorias (estadísticamente independientes) y a estos últimos resultados
se le aplica una Transformada Wavelet Inversa (Inverse Wavelet Transform,
IWT), obteniendo la imagen digital cifrada.
Estado
16 elementos
4 filas x 4 columnas
Fila 0 32 88 31 E0 4 palabras de 8 bits
por 4 filas = 128 bits
43 5A 31 37
3 2
0101 0010
Valores Máximos posibles F6 30 98 07
Binario 1111 1111
Hexadecimal F F
Decimal 255 A8 8D A2 34
Columna 0
Figura II.4.- Los 128 bits de entrada son agrupados en 4 palabras de 8 bits.
columna (denotado por Nb=4 número de columnas de la matriz) para realizar las
operaciones con las 4 funciones.
La llave inicial para cifrado (denotada por K), también está formada por 128 bits y los
cuales igualmente que los 128 bits del Estado de entrada son agrupados en 4 palabras de
8 bits (también subdivididas en dígitos de 4 bits para su manejo en hexadecimal,
denotado por Nk=4).
La filosofía de diseño del algoritmo Rijndael en el cual se basa AES, sigue tres principios
[34]:
Componentes con alto grado de estudio.- Cada componente de AES ha sido estudiado a
fondo antes de ser integrado al modelo, por ejemplo las sustituciones se basan en la
teoría matemática de campos finitos de Galois y la operación de mezclado está basada en
la teoría de error. El cifrado en AES se lleva a cabo a través de dos algoritmos:
1
Nombres originales que aparecen en el documento FIPS PUBS 197, Federal Information
Processing Standars Publications 197, del National Institute of Standards and Technology –NIST-.
Figura II.7.- Se aplica XOR a cada columna del Estado con la SubClave correspondiente de la ronda.
En las nueve rondas siguientes se ejecutan las 4 funciones descritas en los siguientes
apartados:
II. 3.2.2.- Sustitución de bytes (SubBytes) por el de la tabla S-box, utilizando el valor de
los 4 primeros bits en hexadecimal del elemento se busca en la fila de la tabla y los 4 bit
siguientes para la columna de la tabla, el valor encontrado en la intersección se sustituirá
en lugar del valor anterior ver Figura II.8.
Figura II.8.- Sustitución de cada uno de los 16 elementos del estado por el de la tabla de SubBytes.
Figura II.9.- La fila 0 permanece sin corrimiento, la 1 se corre 8 bits a la izquierda, la 2 se corre 16 y la 3 se corre 24 bits.
izquierdo no se pierden, se rotan 2 lugares quedando en la columna 3, los dígitos que le
siguen quedan en el extremo derecho ver Figura II.9.
La fila 4 se rota 3 bytes a la izquierda, igualmente los dos dígitos en el extremo izquierdo
no se pierden, se rotan 3 lugares quedando en la columna 2, los dígitos que le siguen
quedan en la columna 3 y los que le siguen en el extremo derecho.
Figura II.10.- MixColumns, es la multiplicación de cada término 02, 03,09,11,13,14 por el rango 0 –F.
24 Centro de Innovación y Desarrollo
Tecnológico en Cómputo
Cifrado de imágenes utilizando Advanced Encryption
Instituto Politécnico Nacional
Standard (AES) con permutación variable
determinada matriz como se muestra en la Figura II.10. Esta función junto con ShiftRows
proporcionan la principal fuente de difusión al algoritmo AES.
II.3.2.5.- Adicionar la llave de la ronda (AddRoundKey).
La función AddRoundKey añade una clave en cada ronda incluyendo las rondas inicial y
final al Estado utilizando una operación XOR. En la ronda final, en donde se ejecutan las
funciones SubBytes, ShiftRows y AddRoundKey, en esta ronda no se ejecuta
MixColumns. Al final de esta ronda se obtiene el bloque de 128 bits de salida cifrado. En
la Figura II.11 aparece el algoritmo en pseudo código.
Figura II.12.- Pseudo código del Algoritmo para calcular las subclaves utilizadas en cada ronda
II.3.2.7.- SubWord
En el algoritmo aparece la función SubWord la cual toma cuatro bytes de entrada y aplica
la sustitución con la tabla de la página 16 del Fips-197 (Anexo 1) de la manera siguiente:
divide cada byte en dos y toma el lado izquierdo como la fila de la tabla y el lado derecho
como la columna, el valor intersectado es por el que se sustituye.
II.3.2.8.- RotWord
La función RotWord toma los cuatro bytes de la tabla de la llave principal y realiza una
permutación cíclica a la izquierda y el valor más a la izquierda se coloca en el extremo
derecho. La constante de cada ronda Rcon contiene los valores dados por [ xi-
1
,{0,0},{0,0},{0,0}], en donde xi-1 son potencias de x (x es denotado como {02} en el campo
de Galois(28)), el procedimiento es como sigue:
II.3.2.9.- Rcon
II.4.-Permutación Variable
Una permutación es la variación del orden o de la disposición de los elementos de un
conjunto. De manera formal se puede decir que una permutación de un conjunto X es una
función biyectiva de dicho conjunto en sí mismo. Recordando que una función biyectiva es
aquella función en donde todos los elementos del conjunto de salida tienen una imagen
distinta en el conjunto de entrada, y a cada elemento del conjunto de entrada le
corresponde un elemento del conjunto de salida.
Para imágenes de 24 bits, se dispone de 3 bytes para cada pixel, como se especificó en
el apartado I.4.4, el rango de valores enteros está entre 0 y 255 (00 a FF en hexadecimal),
los 128 bits del bloque de entrada están agrupados en 4 palabras de 8 bits (subdivididas
en dígitos de 4 bits para su manejo en hexadecimal) que da un total de 32 bits por 4 filas o
columnas que da los 128 bits del bloque (denotado por Nb=4 número de columnas de la
Nm = { n є N | 0 n m! – 1 } y
Lo que nos da el número 61307542 que son los mismos dígitos del número original
73412065, pero el orden cambia de acuerdo al orden que da el número Pi, en el caso de
nuestra implementación, se toman 32 dígitos de Pi los cuales proporcionan el orden de los
16 dígitos de cada bloque, en el siguiente bloque se toman los siguientes números de Pi
haciendo un corrimiento a la derecha.
Esta función de permutación juega un papel importantísimo en el cifrado de imágenes ya
que la misma permite eliminar cualquier rasgo reconocible de la imagen por lo que forma
parte de las innovaciones en el presente trabajo.
Capítulo III
Desarrollo del Sistema de Encriptado con Advanced
Encryption Standard y Permutación Variable
SEAESPV
Se pretende que el sistema criptográfico desarrollado pueda observarse desde tres
puntos de vista: el primero se refiere a que la solución del problema pueda importarse a
otros ambientes de cómputo con mínimas adecuaciones. El segundo es que un usuario
final del sistema pueda ver y comprobar la solución planteada directamente con imágenes
y herramientas comprobables. El tercero sería que esta solución pueda ser tomada parcial
o totalmente para nuevas versiones o usos más generalizados. Tomando como base esta
solución puedan ser aprovechados módulos o inclusive funciones completas.
III.1.-Análisis
El objetivo que se persigue en este análisis es: como sistema el de identificar precisión las
necesidades del mismo que plantea la implementación de AES con permutación variable
y los requisitos planteados en el párrafo anterior.
Con el fin de mostrar detalladamente las transformaciones del estándar AES, en la
aplicación se incluyeron todas las etapas del proceso de desarrollo, por lo que se pueden
observar en el menú de la aplicación las opciones para realizar desde las
transformaciones simples a bloques de 128 bits hasta la imagen totalmente encriptada.
III.1.1.-Requerimientos
El equipo en que se desarrolló es una computadora Toshiba P755 con procesador Intel®
Core™ i3-2330M CPU 2.20Ghz, pero el sistema puede correr en sistemas básicos,
incluyendo con procesador Atom de Intel. El Sistema Operativo de desarrollo es Windows
7 Home Premium, pero la funcionalidad del ejecutable fue probado con Windows XP y
Windows 8 sin mayor problema.
Figura III.1. Estructura de las principales Funciones del encriptado con AES y
Permutación Variable
que la imagen descifrada no presente pérdidas ni en un solo bit de información con
respecto a la original, de ahí también la decisión de utilizar el formato BMP, que es un
formato sin pérdida.
Inicio
Inicio
Cifrado
Cifrado
AES
AES
Llave principal
Ronda = 0
Imagen BMP
AddKey
SI
Último Bloque
NO
Despliega NO
imagen Cifrada Ronda < 9
SI
SI
Guarda imagen
cifrada
Ronda == 3 Permutación SubBytes
NO
Fin
Fin SubBytes ShiftRows
ShiftRows AddKey
MixColumns
AddKey
Ronda++
AES
Cifrado Descifrado
SubBytes InvSubByte
Cálculo de s
Subclaves
ShiftRows InvShiftRow
s
MixColumn InvMixColu
s mns
Permutación InvPermuta
ción
Figura III.3. Estructura de las principales Funciones del encriptado con AES
y Permutación Variable
III.3.-Implementación
A partir de una llave principal se calculan las 10 llaves que serán utilizadas en las rondas
del algoritmo AES, a partir de una llave principal, la Figura III.5 muestra la opción del
programa que hace esta operación.
En el FIPS 197 se le llama expansión de la llave, y son aplicadas las funciones RotWord,
Subytes y Rcon, estas dos últimas a partir de las tablas definidas en el estándar. RotWord
es la rotación de la última columna de la llave, para aplicar luego la tabla Sbox a los
cuatro elementos de la columna rotados y en seguida un XOR con la primer columna de la
llave y XOR con los valores Rcon del ejemplo en FIPS 197.
III.4.- Pruebas
III.4.1.-Pruebas en cadenas
III.4.1.1-Transformación total
Con la llave de cifrado se realiza una expansión a 10 llaves, las cuales serán agregadas
en cada ronda del algoritmo AES, esta opción se puede visualizar de manera individual en
el Menú de Transformaciones, con el fin de corroborar el cálculo especificado en el
Estándar AES del FIPS-197, con cualquier llave propuesta de 128 bits, con elementos
cuyos valores se encuentren entre 0 y 255, se realiza el cálculo de las llaves que se
utilizan en el algoritmo AES la implementación aparece en la Figura III.5.
En el Menú de Cifrado se aplica el Algoritmo completo AES tanto a un bloque de 128 bits
–submenú Cifrado AES a bloque de 128 Bits- como para una imagen completa –
submenú Cifrado AES puro de Imágenes-.
En el lado izquierdo de la Figura III.6 se puede observar la opción del menú de Cifrado
AES a Bloques de 128 bits, la columna R10 en donde se encuentran los resultados del
cifrado de la cadena de entrada del ejemplo que aparece en el Apendix C del FIPS-197.
En el lado derecho de la Figura III.6 se muestra la opción del Menú Descifrado AES a
Bloques de 128 bits, donde se puede apreciar el descifrado del ejemplo del párrafo
anterior, y la comprobación de la función ya que se puede ver el regreso de la cadena
original con el que se inició el cifrado. Los elementos del Bloque de entrada en el lado
A continuación se presentan estos resultados para las 10 rondas y las llaves utilizadas
para cada una en el algoritmo de descifrado, las operaciones se realizan internamente
con números enteros, para presentarlos en pantalla el programa hace la transformación a
hexadecimal.
CIFRADO DESCIFRADO
Texto Bloque
00112233445566778899AABBCCDDEEFF 69C4E0D86A7B0430D8CDB78070B4C55A
plano cifrado
Key 0 000102030405060708090A0B0C0D0E0F Key 0 000102030405060708090A0B0C0D0E0F
Ronda0 000102030405060708090A0B0C0D0E0F Ronda 0 7AD5FDA789EF4E272BCA100B3D9FF59F
Key1 D6AA74FDD2AF72FADAA678F1D6AB76FE Key 1 13111D7FE3944A17F307A78B4D2B30C5
Box 63CAB7040953D051CD60E0E7BA70E18C Row 7A9F102789D5F50B2BEFFD9F3DCA4EA7
Row 6353E08C0960E104CD70B751BACAD0E7 Box BD6E7C3DF2B5779E0B61216E8B10B689
Mix 5F72641557F5BC92F7BE3B291DB9F91A Add E9F74EEC023020F61BF2CCF2353C21C7
AddK 89D810E8855ACE682D1843D8CB128FE4 Mix 54D990A16BA09AB596BBF40EA111702F
Key2 B692CF0B643DBDF1BE9BC5006830B3FE Key 2 549932D1F08557681093ED9CBE2C974E
Box A761CA9B97BE8B45D8AD1A611FC97369 Row 5411F4B56BD9700E96A0902FA1BB9AA1
Row A7BE1A6997AD739BD8C9CA451F618B61 Box FDE3BAD205E5D0D73547964EF1FE37F1
Mix FF87968431D86A51645151FA773AD009 Add BAA03DE7A1F9B56ED5512CBA5F414D23
AddK 4915598F55E5D7A0DACA94FA1F0A63F7 Mix 3E1C22C0B6FCBF768DA85067F6170495
Key3 B6FF744ED2C2C9BF6C590CBF0469BF41 Key 3 47438735A41C65B9E016BAF4AEBF7AD2
Box 3B59CB73FCD90EE05774222DC067FB68 Row 3E175076B61C04678DFC2295F6A8BFC0
Row 3BD92268FC74FB735767CBE0C0590E2D Box D1876C0F79C4300AB45594ADD66FF41F
Mix 4C9C1E66F771F0762C3F868E534DF256 Add C57E1C159A9BD286F05F4BE098C63439
AddK FA636A2825B339C940668A3157244D17 Mix B458124C68B68A014B99F82E5F15554C
Key4 47F7F7BC95353E03F96C32BCFD058DFD Key 4 14F9701AE35FE28C440ADF4D4EA9C026
Box 2DFB02343F6D12DD09337EC75B36E3F0 Row B415F8016858552E4BB6124C5F998A4C
Row 2D6D7EF03F33E334093602DD5BFB12C7 Box C62FE109F75EEDC3CC79395D84F9CF5D
Mix 6385B79FFC538DF997BE478E7547D691 add 9816EE7400F87F556B2C049C8E5AD036
AddK 247240236966B3FA6ED2753288425B6C mix E8DAB6901477D4653FF7F5E2E747DD4F
Key5 3CAAA3E8A99F9DEB50F3AF57ADF622AA Key 5 5E390F7DF7A69296A7553DC10AA31F6B
Box 36400926F9336D2D9FB59D23C42C3950 Row E847F56514DADDE23F77B64FE7F7D490
Row 36339D50F9B539269F2C092DC4406D23 Box C81677BC9B7AC93B25027992B0261996
Mix F4BCD45432E554D075F1D6C51DD03B3C Add F4BCD45432E554D075F1D6C51DD03B3C
AddK C81677BC9B7AC93B25027992B0261996 Mix 36339D50F9B539269F2C092DC4406D23
Key6 5E390F7DF7A69296A7553DC10AA31F6B Key 6 3CAAA3E8A99F9DEB50F3AF57ADF622AA
Box E847F56514DADDE23F77B64FE7F7D490 Row 36400926F9336D2D9FB59D23C42C3950
Row E8DAB6901477D4653FF7F5E2E747DD4F Box 247240236966B3FA6ED2753288425B6C
Mix 9816EE7400F87F556B2C049C8E5AD036 add 6385B79FFC538DF997BE478E7547D691
AddK C62FE109F75EEDC3CC79395D84F9CF5D mix 2D6D7EF03F33E334093602DD5BFB12C7
Key7 14F9701AE35FE28C440ADF4D4EA9C026 Key 7 47F7F7BC95353E03F96C32BCFD058DFD
Box B415F8016858552E4BB6124C5F998A4C Row 2DFB02343F6D12DD09337EC75B36E3F0
Row B458124C68B68A014B99F82E5F15554C Box FA636A2825B339C940668A3157244D17
Mix C57E1C159A9BD286F05F4BE098C63439 Add 4C9C1E66F771F0762C3F868E534DF256
AddK D1876C0F79C4300AB45594ADD66FF41F Mix 3BD92268FC74FB735767CBE0C0590E2D
Key8 47438735A41C65B9E016BAF4AEBF7AD2 Key 8 B6FF744ED2C2C9BF6C590CBF0469BF41
Box 3E175076B61C04678DFC2295F6A8BFC0 Row 3B59CB73FCD90EE05774222DC067FB68
Row 3E1C22C0B6FCBF768DA85067F6170495 Box 4915598F55E5D7A0DACA94FA1F0A63F7
Mix BAA03DE7A1F9B56ED5512CBA5F414D23 add FF87968431D86A51645151FA773AD009
AddK FDE3BAD205E5D0D73547964EF1FE37F1 mix A7BE1A6997AD739BD8C9CA451F618B61
Key9 549932D1F08557681093ED9CBE2C974E Key 9 B692CF0B643DBDF1BE9BC5006830B3FE
Box 5411F4B56BD9700E96A0902FA1BB9AA1 Row A761CA9B97BE8B45D8AD1A611FC97369
Row 54D990A16BA09AB596BBF40EA111702F Box 89D810E8855ACE682D1843D8CB128FE4
Mix E9F74EEC023020F61BF2CCF2353C21C7 Add 5F72641557F5BC92F7BE3B291DB9F91A
AddK BD6E7C3DF2B5779E0B61216E8B10B689 Mix 6353E08C0960E104CD70B751BACAD0E7
Key10 13111D7FE3944A17F307A78B4D2B30C5 Key 10 D6AA74FDD2AF72FADAA678F1D6AB76FE
Box 7A9F102789D5F50B2BEFFD9F3DCA4EA7 Row 63CAB7040953D051CD60E0E7BA70E18C
Row 7AD5FDA789EF4E272BCA100B3D9FF59F Box 00102030405060708090A0B0C0D0E0F0
AddK 69C4E0D86A7B0430D8CDB78070B4C55A Mix
Cifrado Descifrado
00112233445566778899AABBCCDDEEFF
𝐥𝐨𝐧𝐈𝐦𝐠 ∗ 𝟒𝟎
𝒏𝑻 =
𝟏𝟐𝟖
Por ejemplo el archivo lena.bmp tiene un tamaño de 769 kbytes = 6,152,000 bits nos da
III.4.2.-Pruebas en imágenes
Para comprobar visualmente se realiza las mismas transformaciones de AES sobre una
imagen y también en una ronda. En las Figuras III.7, III.8 y III.9 se puede apreciar el
efecto de las trasformaciones en una imagen de 512 por 512 pixels.
El caso de la encriptación de imágenes se hace más complejo debido a que cada pixel de
la imagen se descompone en 3 elementos de un byte cada uno y es manejado de manera
independiente de tal manera que si se toman 128 bits se tiene:
𝟏𝟔 𝐄𝐥𝐞𝐦𝐞𝐧𝐭𝐨𝐬 𝐝𝐞 𝐮𝐧 𝐛𝐥𝐨𝐪𝐮𝐞
𝟓. 𝟑 =
𝟑 (𝒄𝒐𝒎𝒑𝒐𝒏𝒆𝒏𝒕𝒆𝒔 𝒅𝒆 𝒖𝒏 𝒑𝒊𝒙𝒆𝒍)
Debido a ello en las imágenes subsecuentes se pude observar que tan sólo con una
transformación (transformación simple en imagen –TSI-), ya sea SubBytes, ShiftRows o
Con la aplicación de la transformación ShiftRows, Figura III.8, en una sola ocasión o sea
una ronda, se ve la imagen todavía más identificable, lo evidencia el histograma
correspondiente el cual muestra cierta similitud con el mismo de la imagen original.
Cada uno de los píxeles de una imagen bitmap está coloreado con un color homogéneo.
¿Cuántos bits se emplean para albergar esta información? A esto es lo que llamamos
profundidad de color de una imagen.
En la segunda imagen de cada motivo Figura III.10 se puede observar que para este tipo
de imágenes, AES muestra información de la imagen original, al desplegar rasgos o
siluetas identificables. La explicación de esta transformación se ve claramente con los
Por esta razón en la primer imagen de la figura III.10 “LOREM IPSUM” se muestra con
menos rasgos identificables ya que maneja diferentes tonalidades de grises, en cambio en
las imágenes de burro y cruz sólo se utilizan blanco y negro resultando rasgos más
identificables.
Se aplicaron las funciones de cifrado y descifrado a más de treinta imágenes figuras III.11
y III.12 con diferentes características en tamaño, profundidad y color, por ejemplo se
hicieron pruebas a imágenes con profundidad de 1 (blanco y negro) y 8 bits (en escala
de grises).
Tabla III.2. Imágenes de prueba para el cifrado y descifrado con dos procesadores diferentes.
Ejemplos con diferente profundidad del color son las imágenes Alhambra1.bmp, que sólo
utiliza un bit para cada color, Alhambra8.bmp utiliza 8 bits por lo que se pude ver la
imagen en escala de grises y Alhambra24.bmp que utiliza 24 bits para el color por lo que
se muestra una imagen con mayor detalle, para ellas también se realizaron pruebas de
cifrado y descifrado en las que se muestra las variables de tiempo, entropía y coeficiente
de correlación.
No se identificó claves débiles o semi-débiles para el algoritmo AES, por lo que no hay
ninguna restricción en la selección de la clave.
Por la simetría del algoritmo lo único es que la clave de cifrado deberá ser exactamente la
de descifrado, ya que si el algoritmo realiza el cifrado o descifrado con la más mínima
variación, los resultados serán no sólo inadecuados sino se observará mayor complejidad
en el descifrado.
En la Figura III.15 se muestra la prueba realizada con dos claves diferentes, entre las
cuales la variación fue sólo en un bit, el resultado como se logra observar a simple vista
no es el adecuado, en los análisis estadísticos arrojaron una dispersión parecida a la
imagen cifrada, el coeficiente de correlación con la imagen cifrada fue de 0.0127 y con la
descifrada de 0.0498, por lo que se puede asegurar que su descifrado resultó totalmente
inadecuado con una variación de un bit.
18
16
14
12
10
Segundos
6 Tiempo Cifrado i3
0 Kbytes
147
2250
147
147
147
147
147
147
147
147
150
257
337
384
768
768
768
768
768
768
1120
1280
2250
2250
2250
2250
2250
2810
2810
4680
9000
Gráfica III.1. Resultados de tiempo, procesador y tamaño de archivo al aplicarle las funciones de cifrado
y descifrado, ver Tabla III.1 para más detalles.
Una de las preguntas que se generan es ¿Qué grado de encriptación tiene la imagen o
que tan seguro resulta el mismo?, visualmente la aplicación muestra que la imagen no se
reconoce en lo más mínimo, pero ¿se puede tener algún parámetro para medirlo?.
Para poder conocer los resultados de las transformaciones del cifrado de imágenes, se ha
recurrido al análisis estadístico con los histogramas, los cuales muestran una
representación estadística, que indican la proporción de píxeles de cada tonalidad que
hay en una imagen. En el eje de las abscisas se encuentra el valor de la tonalidad rk que
toma valores entre 0 - 255 y en las ordenadas se encuentra el nivel de intensidad de la
tonalidad nk, esto es:
h(rk) = nk
longh= kx x my
En la Figura III.16 podemos ver los histogramas correspondientes a cada canal R (rojo), G
(verde), B (azul) que compone cada pixel de la imagen, en estado original o antes del
cifrado y posteriormente del mismo y cuando se encuentra descifrada, con lo que
Para poder asegurar inmunidad para los ataques que se basan en el análisis estadístico,
se aplicaron los métodos de difusión y confusión [38].
Para lograr la difusión se aplicaron a cada bloque operaciones con las funciones
ShiftRrows y MixColumns, de manera que los elementos del mensaje aparecerán
dispersos o desordenados en el criptograma. La difusión pretende propagar las
características del bloque de 128 bits en todo el criptograma, ocultando así la relación
entre el bloque original y el cifrado.
Para lograr la confusión, se aplicaron igualmente a cada bloque de 128 bits las funciones
de SubBytes y Permutación [36] que hacen las sustituciones de un elemento del bloque,
por otros elementos similares.
De lo anterior, se demuestra la simetría del estándar AES, ya que se tiene que usar la
misma clave para cifrar o descifrar, para nuestro caso en las imágenes cualquier cambio
altera el resultado, en las mediciones del coeficiente de correlación para la imagen cifrada
fue de 0.0127 y con la descifrada de 0.0498 la diferencia fue de 0.0371, en donde se
estaría esperando valores cercanos a 1 se obtienen valores parecidos al de cifrado del
orden de centésimas con diferencia en la clave de un bit de los 128.
Un ataque de fuerza bruta involucra verificar sistemáticamente todas las claves posibles
hasta que se encuentre la correcta, y es una manera de atacar cuando no es posible
tomar ventaja de otras debilidades en un criptosistema.
En la Figura III.17 aparecen ejemplos de las llaves para cadenas de diferente tamaño en
bits, y en la gráfica se observa el incremento exponencial de combinaciones posibles a
medida que aumenta la longitud de la clave.
En 2013 BBC News mundo [44] dio a conocer las características de lo que fue la
computadora más rápida del mundo, la Tianhe-2, desarrollada por la Universidad de
Tecnología de Defensa China, que es administrada por el gobierno, la cual lideró la lista
En seguida se presenta el cálculo del tiempo que tomaría esta computadora para
encontrar todas las llaves de 128 bits. La longitud de la clave usada en encriptación
determina la posibilidad práctica de realizar un ataque de fuerza bruta, donde las claves
más largas son exponencialmente más difíciles de descubrir que claves más cortas.
33.86 petaflops = 33.86X1015 flops (Flops= operaciones de punto flotante por segundo).
La primera conclusión en este sentido es que un ataque de fuerza bruta para encontrar la
llave no resulta ni siquiera pensable ya que el cálculo anterior es realizado con un sistema
del gobierno chino con altos requisitos para su uso y que el competidor más cercano a
este equipo dobla el tiempo de procesamiento según el reportaje.
Sistema
Cifrado
Bits
Número de
posibles llaves
Algunas llaves Número de posibles
1 2 0,1
llaves
1.2E+77
2 4 00,01,10,11
0000,0001,0010,
0011,0100,0101, 1E+77
0110,0111,1000,
4 16 Número de
1001,1010,1011,
1100,1101,1110, 8E+76 combinaciones
1111
8 256
6E+76
16 65536
32 4.20E+09 4E+76
DES 56 7.2E+16
2E+76
64 1.8E+19
Figura III.17. Incremento exponencial de llaves posibles a medida que aumenta la longitud de la misma, para
128 bits el número es de 3.40E+38.
La entropía es un concepto introducido por Shannon en 1948 [38]. La entropía puede ser
pensada como una medida matemática de la información o la incertidumbre, y es
calculada como una función de distribución de probabilidad. [3].
Supongamos que tenemos una variable aleatoria discreta X que toma valores de un
conjunto finito X de acuerdo a una distribución de probabilidad específica. ¿Cuál es la
información obtenida por los resultados de un experimento que se lleva a cabo de
acuerdo con esta distribución de probabilidad?. De manera equivalente, si el experimento
(todavía) no tenido lugar, ¿cuál es la incertidumbre sobre el resultado?. Esta cantidad se
llama la entropía de X y se denota por H (X).
Sea Xi uno de los elementos que aparecería en la imagen, y que podrían ser de 0 a 256
que son los caracteres ascii, la probabilidad de que alguno de estos elementos aparezcan
es 1/256 para cada uno de ellos, pero si este elemento aparece dos veces será 2/256, de
manera general sería:
esto es:
𝑭𝒓𝒆𝒄𝑿(𝒊)
𝑷(𝑿𝒊) =
𝑭𝒆𝒄𝑻𝒐𝒕 𝑿
En la Figura III.18 aparece en la parte inferior de los histogramas en azul, verde y rojo el
cálculo de la Entropía para cada color, en este caso los valores son: Eb = 7.99846, Eg =
7.99843 y Er = 7.998439999999.
III.5.5.-Coeficiente de Correlación[45]
La correlación permite conocer el grado de relación entre las variables, en el que se busca
determinar qué tan bien una ecuación lineal, o de otro tipo, describe o explica la relación
entre las variables [46].
La correlación está dada en función del grado de variación conjunta de dos variables
aleatorias, esto es el grado de dependencia de ambas variables llamada en estadística la
covarianza y está dada por:
∑ 𝒇𝒊 (𝑿𝒊 𝒀𝒊 )
̅𝒀
− 𝑿 ̅ donde N es el total de elementos.
𝑵
y las desviaciones típicas que nos dice el grado de dispersión de los datos con respecto al
valor promedio de cada variable de X y Y o sea el "promedio" o variación esperada con
respecto a la media aritmética la cual está dada por:
∑ 𝑿𝟐𝒊 ∑ 𝒀𝟐𝒊
𝝈𝒙 = √
𝑵
̅𝟐
− 𝑿 𝝈𝒚 = √
𝑵
̅𝟐
− 𝒀
𝒏 ∑ 𝑿𝒊 𝒀𝒊 − ∑ 𝑿𝒊 ∑ 𝒀𝒊
𝒓𝒙𝒚 =
√𝒏 ∑ 𝑿𝟐𝒊 − (∑ 𝑿𝒊 )𝟐 √𝒏 ∑ 𝒀𝟐𝒊 − (∑ 𝒀𝒊 )𝟐
Si r = 1, existe una correlación positiva perfecta. El índice indica una dependencia total
entre las dos variables denominada relación directa: cuando una de ellas aumenta, la otra
también lo hace en proporción constante.
En la figura III.19 se muestran los posibles valores que puede tener el Coeficiente de
Correlación.
Si r = -1, existe una correlación negativa perfecta. El índice indica una dependencia total
entre las dos variables llamada relación inversa: cuando una de ellas aumenta, la otra
disminuye en proporción constante.
Para implementar el Coeficiente de Correlación en las imágenes Original (IO), Cifrada (IC)
y Descifrada (ID) se usó la función de C++ srand( time( 0 ) ) que genera un número
aplicando cierto algoritmo a una semilla.
Para que rand() retorne siempre números distintos, la semilla tiene que ir cambiando, al
hacer una llamada a time() con el argumento NULL o 0, la función retorna la cantidad de
segundos que transcurrieron desde el 1 de Junio de 1970 a las 00:00 hrs. [48].
En seguida se usa la función rand() que genera números aleatorios mediante una semilla
diferente cada vez con srand(), el rango de donde se seleccionan estos números es el
ancho y lo alto de la imagen, por lo que se eligen 1000 pares de pixeles adyacentes (x,y)
de las imágenes IO, IC e ID en dirección diagonal (x+1, y+1). Parte del código en c++ es:
srand( time( 0 ) );
for(i = 0; i < 1000; i++)
{
Xa[i] = rand() % (widthImgO-3);
Ya[i] = rand() % (heightImgO-1); ………
Para el caso de la imagen Cifrada como se puede ver no existe relación en los pares de
pixeles aleatorios y por lo tanto se observa dispersión en la parte inferior de la imagen
cifrada. En la imagen recuperada o descifrada se nota en la parte inferior de esta imagen
una concentración en la parte diagonal del cuadrado del espacio del gráfico, se puede
decir que es prácticamente idéntico al de la imagen original.
De lo anterior, podemos decir que los resultados de los gráficos de los pixeles aleatorios
seleccionados corresponden con el fundamento teórico expuesto en el punto previo al
presente. La tercer área de la Figura III.20 se encuentra en el lado izquierdo de las
variables X y Y que son los valores seleccionados aleatoriamente con el método
anteriormente expuesto, además de las variables calculadas X*Y, X2 y Y2 las cuales
fueron necesarias para calcular los Coeficientes de Correlación Correspondientes.
En la Figura III.20 por último se muestran los resultados de los cálculos del Coeficiente de
Correlación de acuerdo a la ecuación expuesta en el punto previo al presente, a
continuación se muestran en la Tabla III.3.
Imagen Coeficiente de Covarianza Desviación Típica Desviación Típica
Correlación X Y
Original 0.9841 6673 83.1023 81.5966
Cifrada 0.0425 240 74.8665 75.4453
Descifrada 0.9841 6673 83.1023 81.5966
Tabla III.3. EL valor de 0.9841 es bastante aproximado a 1 y 0.0425 si lo restamos a 0.9841 no se ve
disminuido (0.9416) de manera nada notable por lo que se puede considerar 0.
En cuanto al cálculo del Coeficiente de Correlación se encontró valores que casi todos del
orden de centésimas, sólo uno de ellos llegó a un valor máximo de 0.13110 el menor de
los 31 fue de 0.00390 en una imagen con una profundidad de color de 1 bit, en general la
mayoría se encuentran con valores aceptables del Coeficiente de Correlación.
AES de 128 bits es suficiente para satisfacer las necesidades de por lo menos 10
años, tomando en cuenta que las computadoras más rápidas requieren tiempos
del orden de 1010 años.
Por lo anteriormente expuesto se concluye que los objetivos general y particular han
sido cumplidos y superados.
IV.2.-Trabajos Futuros
Anexo 1
Anexo 2
Poster presentado en el 10º. International Congress
Technological Trends in Computing, octubre de 2014
CIDETEC IPN, México.
Referencias
[1] Hamdan.O.Alanazi, B.B.Zaidan, A.A.Zaidan, Hamid A.Jalab, M.Shabbir and Y. Al-Nabhani,
“New Comparative Study Between DES, 3DES and AES within Nine Factors”, JOURNAL OF
COMPUTING, VOLUME 2, ISSUE 3, MARCH 2010
[2] Bruen Aiden A., Forcinito Mario A., Cryptography, Information Theory, and Error Correction,
Published by John Wiley & Sons, Inc. Hoboken, New Jersey, 2005.
[3] Douglas R. Stinson. Cryptography Theory and Practice. Third Edition. University Waterloo;
Ontario Canada. Published Chappman and Hall/CRC. 2006.
[4] Gaj, Krzysztof. Szyfr Enigmy : metody zlamania Published by Warszawa : Wydawn. Komunikacji
i Lacznosci. 1989. Traducción: http://www.exordio.com/1939-1945/militaris/espionaje/enigma.html
[5] Omar Guzmán Guzmán. Tesis Seguridad de la Información a través de la Criptografía,. Morelia,
Michoacán Febrero 2010.
[6] National Institute of Standards and Technology (NIST). Federal Information Processing
Standards Publications (FIPS PUBS). ADVANCED ENCRYPTION STANDARD (AES). Publication
197 November 26, 2001.
[7] A.A. Zaidan, B. A. (s.f.). "High Securing Cover-File of Hidden Data Using Statistical Technique
and AES Encryption. World Academy of Science Engineering and Technology ol.54, ISSN: 2070-
3724, P.P 468-479.
[8] A.W. Naji, A.A. Zaidan, B.B.Zaidan, Ibrahim A.S. Muhamadi, “Novel, Approach for Cover File of
Hidden Data in the Unused Area Two, within EXE File Using Distortion Techniques and Advance
Encryption Standard.”, Proceeding of World Academy of Science, Engineering and Technology
(WASET),Vol.56, ISSN:2070-3724, P.P498-502.
[9] M. Abomhara, Omar Zakaria, Othman O. Khalifa , A.A. Zaidan, B.B. Zaidan, “Enhancing
Selective Encryption for H.264/AVC Using, Advance Encryption Standard “, International Journal of
Computer and Electrical Engineering (IJCEE), ISSN: 1793-8198,Vol.2 , NO.2, April 2010,
Singapore.
[10] A.W. Naji, Shihab A. Hameed, B.B. Zaidan, Wajdi F. Al-Khateeb, Othman O. Khalifa, A.A.
Zaidan and Teddy S. Gunawan, “ Novel, Framework for Hidden Data in the Image Page within
Executable File Using Computation between Advance Encryption Standard and Distortion
Techniques”, International Journal of Computer Science and Information Security (IJCSIS), Vol. 3,
No 1 ISSN: 1947-5500, P.P 73-78,3 Aug 2009, USA.
[11] Hamdan. Alanazi, Hamid. A.Jalab, A.A. Zaidan, B.B. Zaidan, “New Frame Work of Hidden Data
with in Non Multimedia File”, International Journal of Computer and Network Security, 2010, Vol.2,
No.1, ISSN: 1985-1553, P.P 46-54,30 January, Vienna, Austria.
[12] Alaa Taqa, A.A Zaidan, B.B Zaidan ,“New Framework for High Secure Data Hidden in the
MPEG Using AES Encryption Algorithm”, International Journal of Computer and Electrical
Engineering (IJCEE),Vol.1 ,No.5, ISSN: 1793-8163, p.p.566-571 , December (2009). Singapore.
[13] A.A. Zaidan, B.B. Zaidan, Hamid.A. Jalab,“ A New System for Hiding Data within (Unused Area
Two + Image Page) of Portable Executable File using Statistical Technique and Advance
Encryption Standard “, International Journal of Computer Theory and Engineering (IJCTE), 2010,
VOL 2, NO 2, ISSN:1793-8201, Singapore.
[14] Rojas Matas Ángela, “Cifrado de imágenes y Matemáticas”, Departamento de Matemáticas,
Edificio Einstein Campus de Rabanales, Universidad de Córdoba (14071) España.
[15] Hernández Encinas Luis, “Esquemas criptográficos visuales” Dpto. Didáctica de las
Matemáticas y de las CC.EE. UNIVERSIDAD DE SALAMANCA, 2000.