Professional Documents
Culture Documents
net/publication/216456905
CITATIONS READS
0 386
2 authors, including:
Alberto Cano
Virginia Commonwealth University
71 PUBLICATIONS 562 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Alberto Cano on 17 October 2015.
(1)
Ángela Rojas Matas, Alberto Cano Rojas
Resumen
El Álgebra Lineal tiene una gran cantidad de aplicaciones sin embargo se suele abordar casi
siempre de una forma bastante abstracta. Así que para motivar a nuestro alumnado
planificamos realizar actividades académicas que hicieran uso de conceptos teóricos del
Álgebra Lineal de una forma práctica, útil e interesante. Las imágenes digitales son matrices
donde cada elemento de la matriz coincide con el nivel de gris dentro de una escala de
grises. Por este motivo, muchas herramientas del Álgebra Lineal son frecuentemente
utilizadas en el procesamiento de imágenes. Por otro lado, hemos comprobado cómo
nuestros alumnos encuentran la criptografía muy atractiva, así que nos planteamos realizar
algunas actividades relacionadas con el cifrado de la información. Así trabajaremos con el
cifrado de una imagen digital, veremos cómo ocultar un mensaje secreto en una imagen
digital y veremos cómo compartir una imagen secreta entre varios participantes.
Abstract
Linear Algebra has got a lot of applications, however it is usually dealt with in quite an
abstract way. So, in order to motivate our students, we are planning some activities that
make use of theoretical concepts of Linear Algebra in a practical, useful and interesting way.
Digital images are matrices composed by elements within a grey-scale. Hence, many Linear
Algebra tools are frequently used in image processing. Besides, we have noticed that our
students find cryptography very attractive; therefore, we are planning to carry out some
activities in relation to encryption of data. Thus, we will be working with image encryption;
we will see how to hide a message in an image; and we will see how to share a secret
image among several participants.
1. Introducción
Basta con analizar lo que se hace en nuestras universidades para comprobar que los
programas, relaciones de problemas, etc. de Álgebra Lineal son bastante parecidos en
cualquier titulación universitaria. La mayoría de las veces, la parte práctica de la
asignatura se reduce a la clásica relación de problemas tan habituales en Matemáticas.
Por supuesto, la relación de problemas debe formar parte de nuestro quehacer
docente pero nosotros nos planteamos hacer además algo más.
El Álgebra Lineal es una parte de las Matemáticas que está adquiriendo una gran
importancia en los últimos años. Así, por ejemplo, las imágenes digitales en escala de
grises no son más que matrices donde cada elemento de la matriz coincide con el nivel
de gris del píxel correspondiente. Si la imagen es una imagen en color RGB entonces
cada elemento de la matriz será una terna (r, g, b) con la cantidad de rojo, verde y
azul presentes en el color del píxel correspondiente (el color es una combinación de los
tres colores primarios, Red Green Blue), en definitiva una imagen en color se
corresponde con tres matrices. Por esta razón, en el procesamiento de imágenes
digitales se utilizan muchas técnicas del cálculo matricial.
- Etc.
En este trabajo se presentarán tres aplicaciones muy útiles del Álgebra Lineal que
formaban parte de los trabajos propuestos como actividades académicas dirigidas a
nuestros alumnos: veremos cómo cifrar una imagen digital (tanto para imágenes en
escala de grises como para imágenes en color), cómo manipular una imagen
aparentemente “inocente” para ocultar en la misma información secreta
(esteganografía digital) y cómo repartir una imagen secreta entre varios participantes
de modo que sólo cuando se junten un número autorizado de ellos se pueda recuperar
dicha imagen.
Hill propuso un método matricial para cifrar un mensaje de texto [1]. No sólo es
interesante el cifrado de mensajes de texto sino que también es interesante el cifrado
de imágenes digitales, ficheros de audio, vídeo, etc. La idea de Hill es bastante
sencilla, como vamos a exponer a continuación directamente adaptada al caso de
imágenes digitales.
Una imagen digital en escala de grises no es más que una matriz de números donde
cada número indica el nivel de gris de un píxel. Por ejemplo, la imagen de la izquierda
Usaremos una matriz secreta sólo conocida por emisor y receptor, por ejemplo de
tamaño . Cogeremos los niveles de gris de la imagen de dos en dos,
empezando en la esquina superior izquierda y moviéndonos de izquierda a derecha y
de arriba a abajo. Así el primer bloque será . Supongamos que los dos niveles
de gris que nos toca coger los indicamos por y . Los transformamos en otros
(1)
Es necesario hacer la congruencia módulo 256 para obtener siempre un nivel de gris
válido, es decir, un número entre 0 y 255. A la izquierda de la Figura 1 podemos ver la
imagen original y a la derecha la imagen cifrada usando este método.
Hay que hacer una observación importante: no vale cualquier matriz clave , ya que
si no es inversible no podremos descifrar. Por lo tanto, es necesario que el
determinante de sea un número primo relativo con 256.
los píxeles de posición. Supongamos, por ejemplo, que tenemos una imagen en color,
aunque el proceso que vamos a seguir también puede aplicarse a imágenes en escala
de grises. Supongamos que tenemos una imagen . Indicamos por a las
(2)
Hemos de tener en cuenta que la matriz debe ser de nuevo inversible. Al hacer esta
operación con todos los píxeles de la imagen, lo que estamos haciendo es una
permutación de los píxeles.
Los dos métodos expuestos son elementales y fueron trabajados en clase prácticas.
Como hemos visto se basan en el uso de matrices como claves de cifrado y se cifra
mediante un producto matricial. En el primer caso se cambian los valores de los píxeles
mientras que en el segundo caso se cambian las posiciones de los píxeles pero no sus
valores.
La elección de este tipo de matrices en el proceso de cifrado, que deben ser inversibles
módulo n, no es tan sencilla cuando las matrices se eligen de gran tamaño. Por este
motivo los artículos [2-3] usan este método pero con un tipo especial de matrices que
son fáciles de invertir. Uno, el artículo [2], se basa en el uso de matrices triangulares y
el otro, el artículo [3], se basa en el uso de matrices autoinversibles. En ambos casos
se pueden obtener matrices para el cifrado grandes con poco esfuerzo
computacional. Estos dos artículos se propusieron como trabajos a los alumnos.
3. Esteganografía digital
Esta información se puede cifrar, es decir, convertir en algo ininteligible. Sin embargo
puede resultar mucho más interesante que la información que se desea mantener en
secreto viaje oculta en un fichero digital de cobertura totalmente inocente, como una
imagen de unas vacaciones familiares en la playa, de modo que no levante sospechas.
Si un intruso intercepta una imagen de este tipo probablemente no sospeche nada y, a
pesar de eso, oculta en la imagen puede haber información secreta. De esto se ocupa
la esteganografía digital [4].
Una de las más importantes aplicaciones de la esteganografía digital son las marcas de
agua. Las marcas de agua se añaden a un objeto con intención de identificar al
propietario del mismo. Sirve para proteger los derechos de autor. Pueden ser visibles o
invisibles. En la Figura 3 puede verse una imagen digital marcada con una marca
visible para proteger los derechos de autor. Las invisibles están íntimamente ligadas a
la esteganografía.
Para ocultar la información secreta, la imagen original será ligeramente modificada por
el algoritmo de ocultación utilizado obteniendo una nueva imagen que se conoce con el
nombre de estego-imagen. Comenzamos comentando en qué consiste el método
esteganográfico más usado: el método LSB (Least Significant Bit) o método del bit
menos significativo.
Vamos a trabajar con una imagen con 256 niveles de gris, que varían desde el 0
(negro) al 255 (blanco). Para almacenar un nivel de gris necesitamos 8 bits, es decir,
1 byte. Si el nivel de gris de un píxel es 127, es decir 01111111 en binario, y
cambiamos el último bit obtenemos 01111110, es decir 126. El ojo humano no
distingue esta pequeña alteración en el nivel de gris de un píxel. Ésta es la base del
método LSB, usar este último bit para ocultar en él un bit de información secreta: usar
el último bit del píxel para hacerlo coincidir con el bit secreto que toque ocultar. En la
Figura 4 se muestra un ejemplo.
Existen ocasiones donde una información secreta no es deseable que esté en manos
de una sola persona. Puede interesar que varias personas posean parte de dicha
información y que sólo se consiga recuperar la información secreta completa si
juntamos a varias de estas personas. Por ejemplo, un banco puede que le interese que
ningún empleado de la misma posea la clave que abre la caja fuerte. Por el contrario,
puede repartir entre 6 empleados, por ejemplo, parte de la información, de forma que
para conseguir la clave de la caja fuerte tengan que juntarse al menos 3 de los 6
empleados.
coeficientes se eligen al azar salvo el término independiente que se hace coincidir con
el número secreto . Después el dueño del banco calcula:
(3)
En [6] se modifica el método anterior para cuando interese trabajar con congruencias
módulo , siendo un número primo. El secreto es un número entre 0 y .
A continuación el dueño del banco, que desea llevar a cabo un esquema umbral ,
A continuación vamos a adaptar la idea de Shamir para compartir una imagen secreta.
En la Figura 5 se muestra la imagen que se desea compartir utilizando un esquema
umbral. Todos los valores de gris de esta imagen, que en principio podrían estar entre
0 y 255, resultan que están por debajo de 251, así que no hay problema en trabajar
con congruencias módulo que es un número primo.
Supongamos que deseamos aplicar un esquema (3, 2). En este caso, para cada nivel
de gris de la imagen secreta se razona como se expuso anteriormente: se formará un
polinomio de grado 1 con coeficientes aleatorios, haciendo coincidir el término
independiente con el secreto (nivel de gris del píxel). Los valores de ,
cada una de las sombras que daremos a los participantes. La sombra de cada
participante será una imagen del mismo tamaño que la imagen original pero que ahora
tendrá aspecto pseudoleatorio. En la Figura 6 se muestran las tres sombras obtenidas
en este ejemplo.
Bastará con que se reúnan dos de los tres participantes para poder recuperar la
imagen secreta de la Figura 5.
En esta línea se propusieron como trabajos a los alumnos los artículos [7-10]
5. Resultados obtenidos
Por otro lado, un porcentaje pequeño de alumnos, alrededor de sólo un 20%, hicieron
además el trabajo voluntario. La principal razón aducida era que no tenían tiempo
suficiente ya que debían presentar muchos trabajos y prácticas en otras asignaturas.
La coordinación entre el profesorado, por lo tanto, es necesaria para procurar distribuir
equilibradamente el trabajo no presencial de nuestros alumnos.
6. Conclusiones
Hemos conseguido elaborar un material que será válido para cursos posteriores y que,
por supuesto, seguiremos ampliando y mejorando. Las actividades están diseñadas
para su uso por alumnos de Ingeniería Técnica Informática pero también se pueden
aprovechar para otras titulaciones, sobre todo para otras ingenierías. Animamos desde
aquí a los profesores de Matemáticas a trabajar en ideas similares. Esperamos que el
material expuesto en este trabajo pueda ser de interés para otro profesorado que
imparte también esta asignatura.
7. Referencias
6. A. Shamir, “How share a secret”, Communications of the ACM, 22 (11), pp. 612-
613, (1976).
7. C. C. Thien and J. C. Lin, “Secret image sharing”, Computer and Graphics, 26 (5),
pp. 765-770, (2002).
8. A. Martín del Rey, “A matrix-based secret sharing schemes for images”, Lectures
and Notes in Computer Sciences, 5197, pp. 635-642, (2008).
10. G. Álvarez Marañón, L. Hernández Encinas, A. Martín del Rey, “A new secret
sharing scheme for images based on additive 2-dimensional cellular automata”,
Lectures and Notes in Computer Sciences, 3522, pp. 441-481, (2008).