Compartiendo imágenes secretas usando codificación vectorial
Jorge Agudo Praena, José María Ávila Maireles, Jesús Muñoz Rodríguez
Resumen:
El trabajo que hemos
desarrollado tiene como objetivo primordial, el conseguir codificar y
decodificar de forma segura una imagen digital.
Nuestro trabajo implementa una determinada respuesta a la cuestión ¿cómo guardar
“secretos” de forma segura? La resolución de dicha cuestión es sumamente
importante si tenemos en cuenta la sociedad en la que vivimos actualmente, una
sociedad donde la privacidad de la información es un asunto esencial.
Los autores de nuestro documento parten de la máxima de que un “secreto” va a
estar mejor protegido si éste es guardado por más de una persona, que si es
guardado por una única persona, y concretan las que van a ser las
características fundamentales de su algoritmo:
a. El “secreto” se distribuirá entre “n” participantes.
b. Si colaboran “r” participantes entre sí, entonces el “secreto” se podrá
reconstruir (el parámetro “r” estará comprendido en el rango [1, n]).
c. Pero si colaboran “r-1” participantes o menos, entonces no se asegura que el
secreto pueda reconstruirse.
De esta manera, la probabilidad de que el secreto se pierda por una determinada
causa es mucho menor, ya que para ello sería necesario que “n-r+1” participantes
sufrieran una pérdida o destrucción de su parte del “secreto”.
Hay que tener en cuenta que nuestro problema está enfocado hacia las imágenes
digitales, y que la representación de éstas requiere la utilización de un gran
número de bits, así que el algoritmo objeto de nuestro trabajo necesita algún
método específico que le permita reducir dicho número.
El método de compresión de imágenes empleado es el denominado “Vector
Quantization” (VQ). Dicho método puede verse como un proceso de reconocimiento
de patrones, donde un patrón de entrada es aproximado por alguno de los patrones
estándar contenidos en una tabla predeterminada denominada “codebook” o “libro
de códigos”.
La imagen digital será dividida en una serie de patrones de entrada, y cada uno
de estos patrones se asociará con algún elemento del “codebook”. Tanto el
proceso de codificación como el de decodificación usará los índices de los
distintos elementos del “codebook” para codificar o decodificar una imagen.
Pero el objetivo fundamental del artículo no es el tema de la compresión de la
imagen, sino el cómo a partir de un “codebook” original se van a generar “n”
máscaras del mismo y se van a repartir entre “n” participantes, de manera, que
para decodificar la imagen habría de reconstruir el “codebook”, y para ello
deberían colaborar “r” o más participantes, cada uno de ellos aportando la
máscara del “codebook” que posea.
Bibliografía:
C. Chang, R. Hwang. Sharing secret images using shadow codebooks. Information Sciences, vol. 11 (1998) 335-345.
The enhanced LBG algorithm. Neural Networks, Volume 14, Issue 9, November 2001, Pages 1219-1237. Giuseppe Patané and Marco Russo.
Fast Search Algorithms for VQ Codebook Generation. Journal of Visual Communication and Image Representation, Volume 7, Issue 2, June 1996, Pages 163-168. Jim Z. C. Lai and C. C. Lue