Búscalo aquí:

Encriptar Imágenes con RSA y Goldwasser-Micali

El RSA es un esquema de cifrado de clave pública propuesto en 1978 por R. Rivest, A. Shamir y L. Adleman, sus creadores y cuyas iniciales forman el nombre de tan conocido algoritmo. RSA basa su seguridad en la intratabilidad del problema de la factorización entera, un problema de tipo NP. Por otro lado, Goldwasser-Micali (GM) es un esquema de cifrado de clave pública de tipo probabilístico presentado en 1984 por Shafi Goldwasser y Silvio Micali, el cual trabaja con los bits del mensaje a cifrar.


Adaptación de los esquemas de Cifrado al tratamiento de Imágenes
Debido a la reducción del espacio de trabajo Zn, con n = 256, para el tratamiento de imágenes, ya que los métodos de cifrado que usaremos se basan en Teoría de Números, se deben de buscar números primos p y q diferentes, cuyo producto sea el máximo posible y abarque el mayor rango de los tonos de píxeles, de manera que podamos trabajar sobre un nuevo espacio de trabajo Zn’ donde n’ = pq, y n’ = n.

Teniendo en cuenta estas restricciones podemos usar el algoritmo de generación de claves para RSA y obtener las claves pública y privada respectivas. Sin embargo, dado que n’ = n existirán r = n - n’ tonos de píxel que quedarán fuera del espacio Zn’ y que por lo tanto no serán cifrados. Sabemos que r > 0 dado que no existen números primos p y q diferentes tal que pq = 256, por lo tanto es un hecho que quedarán tonos de píxel sin cifrar. Estos r tonos de píxel serán aquellos que se encuentren entre n’ y n-1, es decir, serán cercanos al tono 255, lo que significa que estarán formados por tonos claros.

De esta manera, al utilizar el esquema de cifrado de imágenes basado en RSA propuesto en [1] se obtendrán imágenes encriptadas de la siguiente calidad:

Imagen en formato JPEG y dimensiones de 592 x 439 píxeles. A su derecha se observa el resultado del cifrado con el método RSA adaptado al cifrado de imágenes usando como clave pública n=253 y e=183.


Para Goldwasser-Micali (GM) el trabajo es diferente. Debido a que GM trabaja con los bits del mensaje a cifrar, no importará la intensidad del tono que se desee cifrar. Entonces en el espacio Zn donde n = 256, se debe buscar dos números primos p y q diferentes tal que pq = n. Con esta restricción se puede usar el algoritmo de generación de claves para GM y obtener las claves pública y privada respectivas. Un parámetro que se puede tomar en cuenta al momento de decidir por los valores de p y q es la denominada distancia de bits d, la cual es definida como la diferencia entre las intensidades de tonos cifrados con GM del bit 1 y el bit 0.

Dado a que el cifrado se realizará sobre los bits de los tonos de colores, entonces, primero debemos de binarizarlos. Esta binarización genera que por cada píxel de la imagen original se generen 8 nuevos valores los cuales serán componentes representativos de dicho píxel en la imagen cifrada. Esto significa que este método tiene un factor de expansión mayor que la imagen original. Para evitar la generación de una imagen extremadamente grande, se propone generar dos imágenes resultantes en las que se distribuyan los valores cifrados para cada píxel.

De esta manera, al utilizar el esquema de cifrado de imágenes basado en Goldwasser-Micali propuesto en [1] se obtendrán imágenes encriptadas de la siguiente calidad:

Imagen de Lena en formato .png y dimensiones de 510 x 511 píxeles y a su derecha las dos imágenes resultantes al usar GM adaptado al cifrado de imágenes, usando como clave pública n = 21, y = 10 y una distancia de bits d = 4.

Para mayor información pueden revisar: Método para la Aplicación de Esquemas de Clave Pública al Cifrado de Imágenes RGB.


[1] Valverde-Rebaza, Jorge, Shiguihara-Juárez, Pedro, y Grados-Vásquez, Juan (2008). Método para la Aplicación de Esquemas de Clave Pública al Cifrado de Imágenes RGB. Proceedings de la VII Jornadas Peruanas de Computación (JPC-2008), pp. 100-109, Perú. [pdf] [slides]



Quieres leer más post como éste???...suscribete aquí!!!

No hay comentarios.:

Publicar un comentario

Bienvenido a jcGeorge's Blog!!!

Por favor deja tu comentario, consulta o sugerencia, procura mantener habilitado tu perfil de Blogger o deja un enlace a tu blog o web.

Gracias por leer este blog!!!

Related Posts Plugin for WordPress, Blogger...