ES2238151B1 - PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM. - Google Patents

PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM.

Info

Publication number
ES2238151B1
ES2238151B1 ES200301902A ES200301902A ES2238151B1 ES 2238151 B1 ES2238151 B1 ES 2238151B1 ES 200301902 A ES200301902 A ES 200301902A ES 200301902 A ES200301902 A ES 200301902A ES 2238151 B1 ES2238151 B1 ES 2238151B1
Authority
ES
Spain
Prior art keywords
image
encryption
images
cryptosystem
procedure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
ES200301902A
Other languages
Spanish (es)
Other versions
ES2238151A1 (en
Inventor
Luis Hernandez Encinas
Gonzalo Alvarez Marañon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Consejo Superior de Investigaciones Cientificas CSIC
Original Assignee
Consejo Superior de Investigaciones Cientificas CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Consejo Superior de Investigaciones Cientificas CSIC filed Critical Consejo Superior de Investigaciones Cientificas CSIC
Priority to ES200301902A priority Critical patent/ES2238151B1/en
Publication of ES2238151A1 publication Critical patent/ES2238151A1/en
Application granted granted Critical
Publication of ES2238151B1 publication Critical patent/ES2238151B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Abstract

Procedimiento y dispositivo de encriptación de imágenes mediante un criptosistema gráfico simétrico.Procedure and encryption device of images using a symmetric graphic cryptosystem.

Se presenta un procedimiento y dispositivo para encriptar imágenes digitalizadas, con cualquier número de colores, basado en un generador pseudoaleatorio de bits, criptográficamente seguro, y en un autómata celular bidimensional. El criptosistema es seguro contra todos los ataques conocidos. Este procedimiento y dispositivo es de aplicación en todo aquellos procesos en los que se requiera proteger imágenes, ya sea para su transmisión o su almacenamiento, como por ejemplo en los sectores informática, militar, industrial, artística, cartografía y médica.A procedure and device is presented for Encrypt scanned images, with any number of colors,   based on a pseudorandom bit generator, cryptographically safe, and in a two-dimensional cellular automaton. The cryptosystem It is safe against all known attacks. This procedure and device is applicable in all those processes in which it is required to protect images, either for transmission or storage, such as in the computer sectors, military, industrial, artistic, cartography and medical.

Description

Procedimiento y dispositivo de encriptación de imágenes mediante un criptosistema gráfico simétrico.Procedure and encryption device of images using a symmetric graphic cryptosystem.

Sectores de la técnica en los que tiene aplicaciónSectors of the technique in which it has application

\bullet?
CriptografíaCryptography

\bullet?
Tratamiento de imágenesImage processing

\bullet?
Tecnologías de las comunicacionesTechnologies of the communications

\bullet?
Seguridad informáticaInformatic security
Estado de la técnicaState of the art

Hoy en día existen varios métodos y algoritmos que permiten llevar a cabo, de modo seguro, el intercambio de información en redes de ordenadores. Entre tales métodos destacan los sistemas criptográficos simétricos o secretos, que se caracterizan por el hecho de que tanto el proceso de cifrado como el de descifrado de la información son similares y ambos se llevan a cabo mediante determinados algoritmos que dependen de una clave que es únicamente conocida por el emisor y por el receptor de la información. De forma más precisa (ver Figura 1), el proceso que se sigue tanto para el cifrado como para el descifrado de datos consiste en llevar a cabo una transformación inicial, sin valor criptográfico, de los datos originales de modo que sean utilizables por el algoritmo que se vaya a emplear en el módulo iterativo. A continuación se procede a iterar el algoritmo de cifrado/descifrado, que es alimentado por la clave del usuario que cifra o descifra los datos. El resultado de este proceso vuelve a sufrir una transformación final (que es la inversa a la inicial) de modo que su resultado son los datos cifrados (si los originales estaban en claro) o descifrados (si los de partida estaban ya cifrados). Los criptosistemas de clave secreta más utilizados en la actualidad son DES ([FIPS77]), IDEA ([LMM91]), RC5 ([Riv95]) y Rijndael ([Rij02]). La fortaleza de estos criptosistemas simétricos ante posibles ataques para romper su confidencialidad se basa en mantener secreta la clave utilizada y en la intratabilidad computacional de resolver el problema matemático en el que se fundamenta.Today there are several methods and algorithms that allow to carry out, in a safe way, the exchange of Information in computer networks. Among such methods stand out symmetric or secret cryptographic systems, which characterized by the fact that both the encryption process and the decryption of the information are similar and both are carried carried out by means of certain algorithms that depend on a key which is only known by the issuer and the receiver of the information. More precisely (see Figure 1), the process that follow for both encryption and data decryption is to carry out an initial transformation, without value cryptographic, of the original data so that they are usable by the algorithm to be used in the iterative module. TO then we proceed to iterate the algorithm of encryption / decryption, which is powered by the user's key that encrypt or decrypt the data. The result of this process returns to undergo a final transformation (which is the inverse of the initial transformation) of so that its result is the encrypted data (if the originals were clear) or deciphered (if the starting ones were already encrypted) The most used secret key cryptosystems in the currently they are DES ([FIPS77]), IDEA ([LMM91]), RC5 ([Riv95]) and Rijndael ([Rij02]). The strength of these cryptosystems symmetrical against possible attacks to break your confidentiality  It is based on keeping the key used secret and intratability computational problem solving the mathematical problem in which base.

En la literatura especializada existen diferentes propuestas para el tratamiento de imágenes desde un punto de vista criptográfico. La primera de ellas se conoce como criptografia visual ([NS95]) y hace uso de los esquemas visuales umbrales t de n. En este procedimiento criptográfico, un director elabora de forma secreta n sombras de la imagen, que fotocopia a transparencias, y proporciona, también de forma secreta, una sombra a cada uno de los n participantes. Para recuperar la imagen original se deben superponer al menos t transparencias de las n existentes, siendo imposible obtener información alguna sobre la imagen inicial con menos de t transparencias. Sin embargo, este procedimiento presenta algunos problemas, entre los que destaca la pérdida de contraste de la imagen recuperada con respecto a la original. Hasta hace poco tiempo, la criptografia visual sólo era capaz de manipular imágenes en blanco y negro ([Sti01]) y en tonos de gris ([BDN00], [LT03]). Sin embargo, recientemente se ha presentado una propuesta para el tratamiento visual de imágenes en color ([H03]). Este hecho pone de manifiesto la importancia de los protocolos criptográficos para la manipulación de imágenes. No obstante, sigue persistiendo el problema -ya sea para imágenes en blanco y negro, en tonos de grises y en colores-, de que la imagen que se recupera, después de llevar a cabo el protocolo de la criptografia visual, pierde mucha resolución con relación a la imagen original.In specialized literature there are different proposals for the treatment of images from a point of view cryptographic. The first one is known as cryptography visual ([NS95]) and makes use of the t visual thresholds of n. In this cryptographic procedure, a director elaborates secret n shadows of the image, which photocopy to transparencies, and It also provides, in a secret way, a shadow to each of The n participants. To recover the original image you must superimpose at least t transparencies of the existing n, being impossible to get any information about the initial image with Less than t transparencies. However, this procedure It presents some problems, among which the loss of contrast of the recovered image with respect to the original. Until a short time ago, visual cryptography was only able to manipulate black and white images ([Sti01]) and shades of gray ([BDN00], [LT03]). However, recently a proposal for the visual treatment of color images ([H03]). This fact highlights the importance of protocols Cryptographic for image manipulation. However, the problem persists - either for blank images and black, in shades of gray and colors-, that the image that recover, after carrying out the cryptography protocol visual, loses a lot of resolution in relation to the image original.

Otra propuesta utiliza sistemas dinámicos continuos ([Fri97] y [Fri98]), lo que conlleva dificultades a la hora de implementar los protocolos en los que se basa. Estos problemas son de índole práctica, debido a la diferencia entre la aritmética caótica de los sistemas dinámicos propuestos, que es continua por su propia definición, y la aritmética discreta que se utiliza en los ordenadores. Este hecho hace que las implementaciones prácticas pierdan la esencia caótica de los sistemas en los que se fundamentan.Another proposal uses dynamic systems continuous ([Fri97] and [Fri98]), which leads to difficulties in time to implement the protocols on which it is based. These problems are practical, due to the difference between chaotic arithmetic of the proposed dynamic systems, which is continues by its own definition, and the discrete arithmetic that Used in computers. This fact makes the practical implementations lose the chaotic essence of systems on which they are based.

Existen también propuestas para el tratamiento criptográfico de imágenes en las que se utilizan, de forma iterada, diferentes métodos de compresión de las mismas ([BA92], [CHCO1], [CL94], [K93] y [Sch9l]). Sin embargo, en todas estas propuestas se presenta, de nuevo, el problema de que las imágenes recuperadas no coinciden con las originales por una pérdida de definición en los pixeles que la componen. Este hecho contradice la propia esencia del concepto de criptografia, por el que lo descifrado debe coincidir con aquello que se cifró. Es cierto que con el tratamiento de imágenes, se puede "apreciar" cuál era la imagen original, sobre todo si la primera era ampliamente conocida, pero esta pérdida de resolución impide el cifrado de imágenes que requieren una gran definición, como pueden ser mapas, diseños, etc.There are also proposals for treatment cryptographic images in which they are used, so iterated, different compression methods thereof ([BA92], [CHCO1], [CL94], [K93] and [Sch9l]). However, in all these proposals presents, again, the problem that the images recovered do not match the originals for a loss of definition in the pixels that compose it. This fact contradicts the very essence of the concept of cryptography, whereby decryption must match what was encrypted. It is true that with image treatment, you can "appreciate" what it was the original image, especially if the first one was widely known, but this loss of resolution prevents encryption of images that require a great definition, such as maps, designs, etc.

Cabe señalar otra propuesta que no tiene los inconvenientes que se han señalado anteriormente ([HMH02] y [HMV02]). Sin embargo, este protocolo tiene dos inconvenientes. El primero de ellos es que no se puede utilizar de forma práctica nada más que para imágenes con hasta 256 colores o 256 tonos de gris, debido a la gran cantidad de cálculos y de memoria que requieren. El segundo inconveniente de esta propuesta está en que no es segura, es decir, es posible llevar a cabo un ataque al texto claro elegido que permita obtener la clave utilizada para cifrar una imagen. Para tener éxito con este ataque, si se dispone de la máquina de cifrado, basta con cifrar imágenes homogéneas de forma iterada y analizar cómo evoluciona el criptosistema, de modo que se pueda recuperar la clave original.It should be noted another proposal that does not have the drawbacks noted above ([HMH02] and [HMV02]). However, this protocol has two drawbacks. He first of all is that you can't use anything practically  more than for images with up to 256 colors or 256 shades of gray, due to the large number of calculations and memory they require. The second drawback of this proposal is that it is not sure, that is, it is possible to carry out an attack on the text of course chosen to obtain the key used to encrypt a image. To succeed with this attack, if you have the encryption machine, just encrypt homogeneous images so iterated and analyze how the cryptosystem evolves, so that The original key can be retrieved.

Finalmente, en [HMO2] se presenta una nueva propuesta para el cifrado de imágenes digitalizadas, que utiliza autómatas celulares, y que en este caso pueden estar definidas por cualquier número de colores. Esta propuesta también presenta la ventaja de recuperar la imagen original, sin pérdida de contraste, pero no es segura pues puede ser rota mediante el ataque al texto claro elegido.Finally, in [HMO2] a new one is presented proposal for encryption of scanned images, which uses cellular automata, and which in this case can be defined by Any number of colors. This proposal also presents the advantage of recovering the original image, without loss of contrast, but it is not safe because it can be broken by attacking the text Of course chosen.

Además de los protocolos anteriores, existen algunas aplicaciones de la criptografía con imágenes que hacen interesante un criptosistema como el que aquí se presenta, de modo que pueda ser utilizado con dichos fines. Tales aplicaciones permiten la autenticación e identificación visual ([NP97]), la identificación de documentos y firmas digitales de fotografías ([BME99] y [OR98]), los esquemas para desarrollar métodos para la protección intelectual de imágenes definidas por tonos de gris ([0002]), y los esquemas para compartir secretos ([TL02] y [T0002]).In addition to the previous protocols, there are some applications of cryptography with images that make interesting a cryptosystem like the one presented here, so that can be used for these purposes. Such applications allow authentication and visual identification ([NP97]), the identification of documents and digital photo signatures ([BME99] and [OR98]), the schemes to develop methods for intellectual protection of images defined by shades of gray ([0002]), and the schemes for sharing secrets ([TL02] and [T0002]).

Así pues, queda abierto el problema de diseñar un criptosistema seguro y eficiente que permita encriptar imágenes utilizando cualquier número de colores y cuyo criptograma resultante vuelva a ser una imagen con las mismas dimensiones que la original. Este problema es el que se resuelve en la presente invención. Es decir, en esta solicitud se presenta la invención de un criptosistema que permite encriptar y descriptar de forma segura y eficiente una imagen digitalizada definida por cualquier número de colores, es decir, con hasta 2^{24} = 16.777.216 colores.Thus, the problem of designing a secure and efficient cryptosystem that allows to encrypt images using any number of colors and whose cryptogram resulting again be an image with the same dimensions as the  original. This problem is the one that is solved in the present invention. That is, in this application the invention of a cryptosystem that allows you to encrypt and describe in a way safe and efficient a digitized image defined by any number of colors, that is, with up to 2 24 = 16,777,216 colors.

Referencias References

[BME99] B. Bellamy, J.S. Mason and M. Ellis, Photograph signatures for the protection of identification documents, Proc. of Crypto & Coding'99, LNCS 1746 (1999), 119-128.[BME99] B. Bellamy , JS Mason and M. Ellis , Photograph signatures for the protection of identification documents, Proc. of Crypto &Coding'99 , LNCS 1746 ( 1999 ), 119-128.

[BBS86] L. Blum, M. Blum and M. Shub, A simple unpredictable pseudo-random mumber generator, SIAM J. Comput. 15 (1986), 364-383.[BBS86] L. Blum , M. Blum and M. Shub , A simple unpredictable pseudo-random mumber generator, SIAM J. Comput . 15 ( 1986 ), 364-383.

[BA92] N. Bourbakis and C. Alexopoulos, Picture data encryption using SCAN patterns, Pattern Recogn. 25 (1992), 567-581.[BA92] N. Bourbakis and C. Alexopoulos , Picture data encryption using SCAN patterns, Pattern Recogn . 25 ( 1992 ), 567-581.

[BDN00] C. Blundo, A. De Santis and M. Naor, Visual cryptography for grey level images, Inform. Proc. Lett. 75 (2000), 255-259.[BDN00] C. Blundo , A. De Santis and M. Naor , Visual cryptography for gray level images, Inform. Proc. Lett. 75 ( 2000 ), 255-259.

[CC02] C.C. Chang and J.C. Chuang, An image intellectual property protection scheme for gray-level images using visual secret sharing strategy, Pattern Recogn. Lett. 23 (2002), 931-941.[CC02] CC Chang and JC Chuang , An image intellectual property protection scheme for gray-level images using visual secret sharing strategy, Pattern Recogn. Lett . 23 ( 2002 ), 931-941.

[CHCO1] Ch. Chang, M. Hwang and T. Chen, A new encryption algorithm for images cryptosystems, J. Syst. Software 58 (2001), 83-91.[CHCO1] Ch. Chang , M. Hwang and T. Chen , A new encryption algorithm for images cryptosystems, J. Syst. Software 58 ( 2001 ), 83-91.

[CL94] H.K. Chang and J.L. Liou, An image encryption scheme based on quadtree compression scheme, Proc. of Int. Comput. Symp., 230-237, Taiwan, 1994.[CL94] HK Chang and JL Liou , An image encryption scheme based on quadtree compression scheme, Proc. of Int. Comput. Symp ., 230-237, Taiwan, 1994 .

[FIPS77] Federal Information Standard Publication, Data Encryption Standard, FIPS 46, U.S. Department of Commerce/National Bureau of Standards, National Technical Information Service, Springfield, VI, 1977.[FIPS77] Federal Information Standard Publication, Data Encryption Standard , FIPS 46, US Department of Commerce / National Bureau of Standards, National Technical Information Service, Springfield, VI, 1977 .

[Fri97] J. Fridrich, Secure image ciphering based on chaos, Final Technical Report, Rome Laboratories, NY, February 1997.[Fri97] J. Fridrich , Secure image ciphering based on chaos , Final Technical Report, Rome Laboratories, NY, February 1997 .

[Fri98] J. Fridrich, Symmetric ciphers based on two-dimensional chaotic maps, Internat. J. Bifur. Chaos 8 (1998), 1259-1284.[Fri98] J. Fridrich , Symmetric ciphers based on two-dimensional chaotic maps, Internat. J. Bifur. Chaos 8 ( 1998 ), 1259-1284.

[HMO2] L. Hernández Encinas y A. Martín del Rey, Método y aparato para el cifrado de imágenes digitalizadas, Oficina Española de Patentes y Marcas, Solicitud de Patente de Invención Número 200201500.[HMO2] L. Hernández Encinas and A. Martín del Rey , Method and apparatus for the encryption of digitized images , Spanish Patent and Trademark Office, Invention Patent Application Number 200201500.

[HMH02] L. Hernández Encinas, A. Martín del Rey and A. Hernández Encinas, Encryption of images with 2-dimensional cellular automata, Proc. of The 6th Multiconference on Systemics, Cybernetics and Informatics, Vol. I: Information Systems Development I, 471-476, Orlando, 2002.[HMH02] L. Hernández Encinas , A. Martín del Rey and A. Hernández Encinas , Encryption of images with 2-dimensional cellular automata , Proc. of The 6th Multiconference on Systemics, Cybernetics and Informatics, Vol. I: Information Systems Development I, 471-476, Orlando, 2002 .

[HMV02] L. Hernández Encinas, A. Martín del Rey e I. Visus Ruiz, Cifrado de imágenes en tonos de gris mediante autómatas celulares, Actas de la VII Reunión Española de Criptología y Seguridad de la Información, Tomo I, 379-389, Oviedo, 2002.[HMV02] L. Hernández Encinas , A. Martín del Rey and I. Visus Ruiz , Encryption of images in shades of gray using cellular automata, Proceedings of the VII Spanish Meeting of Cryptology and Information Security, Volume I , 379-389 , Oviedo, 2002 .

[HMMP98] L. Hernández Encinas, F. Montoya Vitini, J. Muñoz Masqué and A. Peinado Domínguez, Maximal periods of orbits of the BBS generator, Proc. 1998 Int. Cont.. on Inform. Secur. & Cryptol., 71-80, Seúl, 1998.[HMMP98] L. Hernández Encinas , F. Montoya Vitini , J. Muñoz Masqué and A. Peinado Domínguez , Maximal periods of orbits of the BBS generator, Proc. 1998 Int. Cont .. on Inform. Secur. & Cryptol ., 71-80, Seoul, 1998 .

[H03] Y.C. Hou, Visual cryptography for color images, Pattern Recogn 36 (2003), 1619-1629.[H03] YC Hou , Visual cryptography for color images, Pattern Recogn 36 ( 2003 ), 1619-1629.

[K93] C. J. Kuo, Novel image encryption technique ans its application in progressive transmission, J. Electron. Imaging 2 (1993), 345-351.[K93] CJ Kuo , Novel image encryption technique ans its application in progressive transmission, J. Electron. Imaging 2 ( 1993 ), 345-351.

[LMM91] X. Lai, J. L. Massey and S. Murphy, Markov ciphers and differential cryptanalysis, Proc. of Eurocrypt'91, LNCS 547 (1991), 17-38.[LMM91] X. Lai , JL Massey and S. Murphy , Markov ciphers and differential cryptanalysis, Proc. of Eurocrypt'91 , LNCS 547 ( 1991 ), 17-38.

[LT03] C.C. Lin and W.H. Tsai, Visual cryptography for gray-level images by dithering techniques, Pattern Recogn. Lett. 24 (2003), 349-358.[LT03] CC Lin and WH Tsai , Visual cryptography for gray-level images by dithering techniques, Pattern Recogn. Lett . 24 ( 2003 ), 349-358.

[LIP] FreeLIP, disponible en ftp://sable.ox.ac.uk/pub/math/.[LIP] FreeLIP, available at ftp://sable.ox.ac.uk/pub/math/.

[MOV97] A. Menezes, P. van Oorschot and S. Vanstone, Handbook of applied cryptography, CRC Press, Boca Raton, FL, 1997.[MOV97] A. Menezes , P. van Oorschot and S. Vanstone , Handbook of applied cryptography , CRC Press, Boca Raton, FL, 1997 .

[NP97] M. Naor and B. Pinkas, Visual authentication and identification, Proc. of Crypto'97, LNCS 1294 (1997), 322-336.[NP97] M. Naor and B. Pinkas , Visual authentication and identification, Proc. of Crypto'97 , LNCS 1294 ( 1997 ), 322-336.

[NS95] M. Naor and A. Shamir, Visual cryptography, Proc. of Eurocrypt'94, LNCS 950 (1995), 1-12.[NS95] M. Naor and A. Shamir , Visual cryptography, Proc. of Eurocrypt'94 , LNCS 950 ( 1995 ), 1-12.

[OR98] L. O'Gorman and I. Rabinovich, Secure identification documents via pattern recognition and public-key cryptography, IEEE Trans. Pattern Anal. Mach. Intell. 20, 10 (1998), 1097-1102.[OR98] L. O'Gorman and I. Rabinovich , Secure identification documents via pattern recognition and public-key cryptography , IEEE Trans. Anal Pattern Mach. Intell 20 , 10 ( 1998 ), 1097-1102.

[PW85] N.H. Packard and S. Wolfram, Two-dimensional cellular automata, J. Statist. Phys. 38 (1985), 901-946.[PW85] NH Packard and S. Wolfram , Two-dimensional cellular automata, J. Statist. Phys . 38 ( 1985 ), 901-946.

[Rij02] Rijndael, disponible en http://csrc.nist.gov/encryption/aes/rijndael/[Rij02] Rijndael, available at http://csrc.nist.gov/encryption/aes/rijndael/

[Riv95] R.L. Rivest, The RC5 encryption algorithm, Proc. of The Fast Software Encryption, LNCS 1008 (1995), 86-96.[Riv95] RL Rivest , The RC5 encryption algorithm, Proc. of The Fast Software Encryption , LNCS 1008 ( 1995 ), 86-96.

[RSA78] R.L. Rivest, A. Shamir and L. Adleman, A method for obtaining digital signatures and public-key cryptosystem, Commun. ACM 21 (1978), 120-126.[RSA78] RL Rivest , A. Shamir and L. Adleman , A method for obtaining digital signatures and public-key cryptosystem , Commun. ACM 21 ( 1978 ), 120-126.

[Sch9l] C. Schwartz, A new graphical method for encryption of computer data, Cryptologia 15 (1991), 43-46.[Sch9l] C. Schwartz , A new graphical method for encryption of computer data, Cryptologia 15 ( 1991 ), 43-46.

[Sti01] D.R. Stinson, Cryptography. Theory and Practice, 2nd. edition, CRC Press, Boca Raton, FL, 2001.[Sti01] DR Stinson , Cryptography. Theory and Practice, 2nd. edition , CRC Press, Boca Raton, FL, 2001 .

[TL032] C.C: Thien and J.C. Lin, Secret image sharing, Computer & Graphics 26 (2002), 765-770.[TL032] CC: Thien and JC Lin , Secret image sharing, Computer & Graphics 26 ( 2002 ), 765-770.

[TCC02] C.S. Tsai, C.C. Chang, and T.S. Chen, Sharing multiple secrets in digital images, J. Syst. Software 64 (2002), 163-170.[TCC02] CS Tsai , CC Chang , and TS Chen , Sharing multiple secrets in digital images, J. Syst. Software 64 ( 2002 ), 163-170.

[VV85] U.V. Vazirani and V.V. Vazirani, Efficient and secure pseudo-random number generation, Proc. of Crypto'84, LNCS 196 (1985), 193-202.[VV85] UV Vazirani and VV Vazirani , Efficient and secure pseudo-random number generation, Proc. of Crypto'84 , LNCS 196 ( 1985 ), 193-202.

Explicación de la invenciónExplanation of the invention. Breve descripción de la invenciónBrief Description of the Invention

A partir del esquema general de los criptosistemas de clave simétrica que se mencionó en la sección sobre el Estado de la Técnica (ver Figura 1), se presenta aquí el esquema general del criptosistema gráfico simétrico que se propone en esta invención. Este esquema sigue la misma estructura general del anterior, pero presenta algunas modificaciones particulares, que lo hacen único para el tratamiento de imágenes definidas por cualquier número de colores (ver Figura 2).From the general scheme of symmetric key cryptosystems mentioned in the section on the State of the Art (see Figure 1), the general scheme of the symmetric graphic cryptosystem that is proposed In this invention. This scheme follows the same general structure from the previous one, but it presents some particular modifications, which make it unique for the treatment of images defined by any number of colors (see Figure 2).

Partiendo de los datos de una imagen digitalizada, almacenada en un fichero, se procede a una primera transformación de los datos, mediante la Transformación Inicial, cuya tarea consiste en adecuar los datos que definen la imagen para que pueda ser manipulada por el Módulo Iterativo. Una vez conocidos los datos fundamentales de la imagen, los valores correspondientes al número de filas y de columnas son enviados al Generador de bits pseudoaleatorio que, junto con la clave suministrada por el usuario, procede a generar una secuencia de bits pseudoaleatoria de longitud suficiente como para ser utilizada en el Módulo Iterativo.Starting from the data of an image digitized, stored in a file, we proceed to a first data transformation, through the Initial Transformation, whose task is to adapt the data that defines the image to that can be manipulated by the Iterative Module. One time known the fundamental data of the image, the values corresponding to the number of rows and columns are sent to Pseudorandom bit generator that, along with the key supplied by the user, proceeds to generate a sequence of pseudorandom bits of sufficient length to be used in the Iterative Module.

El Módulo Iterativo recibe los siguientes datos:The Iterative Module receives the following data:

1.one.
Número de filas de la imagen (conocido a partir de la imagen),Number of rows in the image (known from the image),

2.2.
Número de columnas de la imagen (conocido a partir de la imagen),Number of columns in the image (known from the image),

3.3.
Valor de cada uno de los pixeles (conocido a partir de la imagen),Value of each of the pixels (known from the image),

4.Four.
Secuencia de bits pseudoaleatoria (secreta y derivada de la clave),Pseudorandom Bit Sequence (secret and derived from the key),

y procede al encriptado o descriptado de los pixeles de la imagen. Estos procesos están basados en operaciones matemáticas que modifican los pixeles de la imagen de partida, dando lugar a la imagen cifrada, si la original era la imagen en claro a encriptar; o a la imagen en claro, si la que se emplea en el algoritmo es la imagen cifrada. Los procesos de cifrado y descifrado son similares, aunque no exactamente iguales, y utilizan la misma clave de usuario.and proceeds to encryption or described of the pixels of the image. These processes are based on mathematical operations that modify the pixels of the starting image, giving rise to the encrypted image, if the original it was the clear image to be encrypted; or to the image in clear, if the What is used in the algorithm is the encrypted image. The processes Encryption and decryption are similar, although not exactly same, and use the same key of Username.

Una vez que los pixeles de la imagen han sido modificados por el Módulo Iterativo, son transformados mediante la Transformación Final, que los devuelve para que puedan ser almacenados en un fichero y puedan ser tratados como una imagen.Once the image pixels have been modified by the Iterative Module, are transformed by the Final Transformation, which returns them so they can be stored in a file and can be treated as an image.

Descripción detallada de la invenciónDetailed description of the invention

A partir del esquema general del proceso de cifrado/descifrado de imágenes que se describe en la presente invención (ver Figura 2), se presenta a continuación una descripción detallada de cómo llevar a cabo ambos procesos.From the general scheme of the process of Encryption / decryption of images described herein invention (see Figure 2), a Detailed description of how to carry out both processes.

Para ello, en primer lugar se presentarán las herramientas matemáticas que se emplean en el criptosistema gráfico simétrico propuesto, a continuación se comentará el protocolo que se sigue para obtener la clave secreta que se empleará tanto a la hora de cifrar como de descifrar una imagen y finalmente se procederá a describir el proceso de cifrado, para luego presentar el de descifrado.To do this, first of all the mathematical tools used in the cryptosystem proposed symmetric graph, the following will be commented on protocol that is followed to obtain the secret key to be used both when encrypting and decrypting an image and finally we will describe the encryption process, to Then submit the decryption.

1. Herramientas matemáticas1. Mathematical tools

En el presente criptosistema gráfico de clave simétrica para el cifrado y descifrado de imágenes definidas por pixeles y con cualquier número de colores, se utilizan dos herramientas matemáticas básicas: un generador de bits pseudoaleatorio, criptográficamente seguro, y un autómata celular bidimensional reversible. La primera de ellas permite obtener una secuencia de bits pseudoaleatorios, derivados de la clave secreta del usuario, y la segunda utiliza la secuencia de bits secreta generada por la primera para llevar a cabo tanto el proceso de encriptado como de descriptado.In the present graphical cryptosystem key symmetric for encryption and decryption of images defined by pixels and with any number of colors, two are used Basic math tools: a bit generator pseudorandom, cryptographically secure, and a cellular automaton two-dimensional reversible. The first one allows to obtain a sequence of pseudorandom bits, derived from the secret key of the user, and the second uses the secret bit sequence generated by the first to carry out both the process of Encrypted as described.

Un generador de bits pseudoaleatorio (GBPA) es un algoritmo determinístico que proporciona como salida una secuencia de bits de longitud muy grande g >> l que parece ser aleatoria, al proporcionarle como entrada una secuencia de bits realmente aleatoria de longitud mucho menor l. La entrada al algoritmo se conoce como semilla, mientras que la salida que proporciona se denomina secuencia de bits pseudoaleatoria ([MOV97]). Por tanto, es muy deseable que el generador de bits que se utilice tenga buenas propiedades de pseudoaleatoriedad con el fin de evitar posibles ataques por análisis estadístico de las secuencias que genera. Así pues, es necesario que el generador sea criptográficamente seguro (GBPACS) es decir, que su seguridad esté basada, por ejemplo, en la dificultad de resolver un problema matemático. En este sentido, la seguridad significa que no existe ningún algoritmo de tiempo polinómico que pueda distinguir una secuencia del generador pseudoaleatorio de una secuencia realmente aleatoria de la misma longitud, con una probabilidad significativamente mayor que 1/2. Entre los GBPACS más utilizados se encuentran el generador RSA ([RSA78]) y el generador BBS ([BBS86]), para los que su seguridad se basa en la presunta intratabilidad de resolver el problema de la factorización entera.A pseudorandom bit generator (GBPA) is a deterministic algorithm that provides as output a very large bit sequence g >> l that appears to be random, by providing a really random bit sequence of much smaller length l as input. The input to the algorithm is known as seed , while the output it provides is called a pseudorandom bit sequence ([MOV97]). Therefore, it is very desirable that the bit generator used has good pseudorandom properties in order to avoid possible attacks by statistical analysis of the sequences it generates. Thus, it is necessary that the generator be cryptographically safe (GBPACS) that is, that its safety be based, for example, on the difficulty of solving a mathematical problem. In this sense, security means that there is no polynomial time algorithm that can distinguish a pseudorandom generator sequence from a really random sequence of the same length, with a probability significantly greater than 1/2. Among the most used GBPACS are the RSA generator ([RSA78]) and the BBS generator ([BBS86]), for which their safety is based on the alleged intratability of solving the problem of the entire factorization.

La otra herramienta que se utilizará será un autómata bidimensional reversible ([PW85]). Se define un autómata celular (AC) como la cuaterna A = (L, S, V, f), siendo L el espacio celular formado por una matriz 2-dimensional, de tamaño r \times s, de objetos idénticos llamados células, <i, j>, con 0 \leq i \leq r - 1, 0 \leq j \leq s - 1. S es el conjunto de estados, es decir, el conjunto finito de todos los posibles valores que pueden tomar las células. El conjunto de índices V \subset Z_{2} es un conjunto finito ordenado de modo que para cada célula, <i,j>, su vecindad, V_{<ij>} es el siguiente conjunto:The other tool to be used will be a reversible two-dimensional automaton ([PW85]). A cellular automaton (AC) is defined as the quatern A = (L, S, V, f), where L is the cellular space formed by a 2-dimensional matrix, of size r \ s, of identical objects called cells , < i, j>, with 0 i i \ leq r - 1, 0 le j \ leq s - 1. S is the set of states , that is, the finite set of all possible values that cells can take. The index set V \ subset Z_ {2} is a finite set ordered so that for each cell, <i, j>, its neighborhood , V_ {<ij>} is the following set:

V_{<ij>} = \{<i + \alpha, j + \beta>, \forall(\alpha,\beta) \in V\} \subset L.V_ {<ij>} = \ {<i + \ alpha, j + \ beta>, \ forall (\ alpha, \ beta) \ in V \} \ subset L.

Además, la función de transición local f: S^{n} \rightarrow S es la función que determina la evolución del AC a lo largo del tiempo. Dado que los AC que se utilizarán son finitos, para que estén bien definidos, se considerarán condiciones de contorno periódicas, es decir, el espacio celular se entenderá como un toro en dos dimensiones:In addition, the local transition function f : S ^ n → S is the function that determines the evolution of AC over time. Since the ACs that will be used are finite, so that they are well defined, periodic boundary conditions will be considered, that is, the cellular space will be understood as a bull in two dimensions:

a_{ij}{}^{(t)} = a_{kl}{}^{(t)} \Leftrightarrow i \equiv k \ (mod (r - 1)) \ y \ j \equiv l \ (mod (s-1)),a_ {ij} {} ^ {(t)} = a_ {kl} {} ^ {(t)} \ Leftrightarrow i \ equiv k \ (mod (r - 1)) \ y \ j \ equiv l \ (mod (s-1)),

donde a_{ij}^{(t)} \in S representa el estado de la célula <i, j> en el instante t, y a mod b es la operación que consiste en tomar el resto de la división entera de a entre b. Un AC se dice reversible (ACR) si existe otro AC, llamado su inverso, que determina su evolución inversa.where a_ {ij} ^ {(t)} \ in S represents the state of the cell <i, j> at time t, since mod b is the operation that consists in taking the rest of the entire division of a by b . An AC is said to be reversible (ACR) if there is another AC, called its inverse , that determines its inverse evolution.

2. Lectura de datos y clave secreta2. Data reading and secret code

El tratamiento criptográfico de una imagen comienza con la Transformación Inicial que, a partir de la lectura del fichero de la imagen, I, proporciona los siguientes datos: número de colores, c, con 2 \leq c \leq 2^{24}; número de filas: r; número de columnas: s; y la expresión binaria de cada uno de los r \times s pixeles de la imagen:The cryptographic treatment of an image It begins with the Initial Transformation which, after reading from the image file, I, provides the following data: number of colors, c, with 2 ≤ c ≤ 2 24; number of rows: r; number of columns: s; and the binary expression of each One of the r \ times s pixels of the image:

P_{ij} = (p_{ij}{}^{1}, p_{ij}{}^{2},...,p_{ij}{}^{24}), 1 \leq i \leq r, 1 \leq j \leq s.P_ {ij} = (p_ {ij} {} ^ {1}, p_ {ij} {} 2}, ..., p_ {ij} {} ^ {24}), 1 \ leq i \ leq r, 1 \ leq j \ leq s.

con p_{ij}^{n} \in Z_{2}. Además, si el píxel P_{ij} ocupa la posición m contando a partir de la parte superior izquierda de la imagen, se tiene que m = (i - 1) s + j, con 1 \leq m \leq r \times s.with p_ {ij} ^ {n} \ in Z_ {2}. Also, if the pixel P_ {ij} occupies the position m counting from from the top left of the image, you have to m = (i - 1) s + j, with 1 \ leq m \ leq r \ times s.

La clave del criptosistema gráfico desarrollado en esta invención es la clave del GBPACS utilizado, que permitirá obtener una secuencia de bits pseudoaleatoria secreta. Por tanto, la seguridad del criptosistema está garantizada por la seguridad del GBPA. Nótese que para romper el criptosistema propuesto se deberá determinar la clave del generador. Como generadores a utilizar se recomiendan el generador BBS o el RSA, si bien, puede utilizarse cualquier otro que sea criptográficamente seguro. Si se utiliza como clave K, la secuencia de bits pseudoaleatoria se denotará por B = (B_{l}, B_{2},..., B_{r \times s}), siendo esta secuencia de longitud r \times s \times 24, donde B_{m} = (b_{m1}, b_{m2}, ..., bm_{24}), y b_{mn} \in Z_{2}The key to the crypto cryptosystem developed in this invention is the key of the GBPACS used, which will allow get a secret pseudo random bit sequence. So, The security of the cryptosystem is guaranteed by the security of the  GBPA Note that to break the proposed cryptosystem you must Determine the generator key. As generators to be used recommend the BBS generator or the RSA, although it can be used Any other that is cryptographically secure. If used as key K, the pseudorandom bit sequence will be denoted by B = (B_ {l}, B_ {2}, ..., B_ {r \ times s}), this sequence being of length r \ times s \ times 24, where B_ {m} = (b_ {m1}, b_ {m2}, ..., bm_ {24}), and b_ {mn} \ in Z_ {2}

3. Proceso de cifrado3. Encryption process

El protocolo para el cifrado de una imagen, que es el Módulo Iterativo (véase Figura 2), utiliza un ACR A = (L, S, V, f), definido de la siguiente manera:The protocol for encrypting an image, which is the Iterative Module (see Figure 2), uses an ACR A = (L, S, V, f), defined as follows:

(i)(i)
El espacio celular, L, es una matriz rectangular del mismo tamaño que la imagen, de modo que L puede considerarse como un conjunto de r \times s píxeles.He cell space, L, is a rectangular matrix of the same size as the image, so that L can be considered as a set of r \ times s pixels.

(ii)(ii)
El conjunto de estados es S = Z_{2} \times ^{...(24...} \times Z_{2}, con |S| = 2^{24}; por lo que cada color se puede identificar con un elemento de S. Si x_{m} \in S, es x_{m} = (u_{m} ^{l}, ..., u_{m}^{24}) siendo u_{m}^{n} \in Z_{2}, 1 \leq n \leq 24.He set of states is S = Z_ {2} \ times ^ {... (24 ...} \ times Z_ {2}, with | S | = 2 24; so each color can be identify with an element of S. If x_ {m} \ in S, it is x_ {m} = (u_ {m} ^ {l}, ..., u_ {m} ^ {24}) where u_ {m} ^ {n} \ in Z_ {2}, 1 \ leq n \ leq 24.

(iii)(iii)
El conjunto de índices, V, se selecciona de forma pública de modo que |V|=24.He index set, V, is publicly selected so that | V | = 24.

(iv)(iv)
Para determinar el pixel encriptado de P_{ij}, Q_{ij}, 1 \leq i \leq r, 1 \leq j \leq s, se tienen en cuenta los 24 píxeles de la vecindad de P_{ij}, V_{<ij>}:P_{ij1}, P_{ij2},...,P_{ij24}, y se aplica la función de transición f: S^{24} \rightarrow S como sigue:To determine the encrypted pixel of P_ {ij}, Q_ {ij}, 1 \ leq i \ leq r, 1 \ leq j \ leq s, the 24 pixels of the neighborhood of P_ {ij} are taken into account, V_ {<ij>}: P_ {ij1}, P_ {ij2}, ..., P_ {ij24}, and the transition function f: S 24 \ rightarrow S as follow:

1one

es decir, q_{ij}^{n} = b_{mn} \varoplus p_{ijn}^{n}; siendo m la posición del píxel P_{ij}, B_{m} es la m-ésima componente de la secuencia de bits B,\pi_{n}: S \rightarrow Z_{2}^{(n)} es la proyección sobre la n-ésima componente y \varoplus es la operación XOR.that is, q_ {ij} ^ {n} = b_ {mn} \ varoplus p_ {ijn} ^ {n}; where m is the position of the pixel P_ {ij}, B_ {m} is the m -th component of the bit sequence B, \ pi_ {n}: S \ rightarrow Z_ {2} (n)} is the projection on the nth component and \ varoplus is the XOR operation.

La imagen cifrada, C, resulta de una única aplicación de la función de transición a cada uno de los pixeles de la imagen en claro I. De esta manera, la imagen cifrada estará también definida por r \times s píxeles, pero ahora contendrá d colores, 2 \leq d \leq 2 ^{24}.The encrypted image, C, results from a single application of the transition function to each of the pixels of the image in clear I. In this way, the encrypted image will be also defined by r \ times s pixels, but now it will contain d colors, 2 ≤ d ≤ 2 24.

Como se puede apreciar por la construcción del criptosistema, su factor de expansión (el cociente entre los tamaños de la imagen cifrada y de la imagen en claro) es 1. Por otra parte, no es necesario iterar el ACR más de una vez, dado que la seguridad del criptosistema no se incrementa por tal hecho.As you can see from the construction of the cryptosystem, its expansion factor (the ratio between sizes of the encrypted image and the clear image) is 1. By On the other hand, it is not necessary to iterate the ACR more than once, since The security of the cryptosystem is not increased by that fact.

Terminado el proceso de encriptado, la Transformación Final recibe del Módulo Iterativo el número de colores de la imagen, d; el número de filas, r; el de columnas, s; y los valores binarios de cada uno de los píxeles, Q_{ij}, de la imagen encriptada C. A partir de estos datos, se procede a la transformación de los datos que permite almacenarlos en un fichero de imagen.Once the encryption process is finished, the Final Transformation receives from the Iterative Module the number of image colors, d; the number of rows, r; the one with columns, s; and the binary values of each of the pixels, Q_ {ij}, of the encrypted image C. From this data, we proceed to the transformation of the data that allows it to be stored in a file of image.

4. Proceso de descifrado4. Decryption process

El proceso de descriptado es similar al de cifrado y sólo difiere en el Módulo Iterativo, es decir, las Transformaciones Inicial y Final son las mismas. El receptor de la imagen cifrada utiliza el AC inverso de A = (L, S, V, f), es decir, A^{-1}=(L, S, W, g). En este caso, L y S son los mismos para A^{-1} que para A. El conjunto de índices de A^{-1}, es el mismo conjunto de índices que el de A, pero tomados en orden inverso, esto es, W= -V.The process described is similar to that of encryption and only differs in the Iterative Module, that is, the Initial and Final Transformations are the same. The receiver of the Encrypted image uses the inverse AC of A = (L, S, V, f), that is, A <-1> = (L, S, W, g). In this case, L and S are the same for A <-1> than for A. The set of indexes of A <-1>, is the same set of indexes as that of A, but taken in order Inverse, that is, W = -V.

Para descriptar un píxel Q_{kl}, con 1 \leq k \leq r, 1 \leq l \leq s, se tienen en cuenta los 24 píxeles de la vecindad de Q_{kl}, W_{<k,l>}: Q_{ij1}, Q_{ij2}, ..., Q_{ij24}, y se aplica la función de transición g: S^{24} \rightarrow S como sigue:To describe a pixel Q_ {kl}, with 1 ≤ k \ leq r, 1 \ leq l \ leq s, 24 pixels are taken into account from the neighborhood of Q_ {kl}, W <{k, l>}: Q_ {ij1}, Q_ {ij2}, ..., Q_ {ij24}, and the transition function g: S 24 is applied \ S as follows:

22

con b'_{tn} \varoplus g _{kln}^{n} = p_{kl}^{n}; t la posición de Q_{kl}, \pi_{n}: S \rightarrow Z_{2}^{(n)} es la proyección sobre la n-ésima componente y el símbolo \varoplus representa la operación XOR.with b 'tn? gkln = p_ {kl} n; t the position of Q_ {kl}, \ pi_ {n}: S \ righ Z_ {2} {{n}} is the projection on the nth component and the symbol \ varoplus represents the XOR operation.

Así pues, para recuperar el t-ésimo píxel, P_{kl}, se tiene que aplicar la función de transición g a su correspondiente píxel encriptado, Q_{kl}. La imagen en claro, I, se recupera aplicando una vez la función de transición a cada píxel de C. Según este proceso, la imagen recuperada es exactamente la misma que la original (píxel por píxel), es decir, no hay ninguna pérdida de resolución.Thus, to recover the t -th pixel, P {kl}, it is to be applied ga transition function corresponding encrypted pixel, Q {kl}. The clear image, I, is recovered by applying once the transition function to each pixel of C. According to this process, the recovered image is exactly the same as the original (pixel by pixel), that is, there is no loss of resolution.

En resumen, un objeto de la presente invención lo constituye un procedimiento de encriptación y descriptación mediante un criptosistema gráfico simétrico basado en:In summary, an object of the present invention is it constitutes an encryption and description procedure by a symmetric graphic cryptosystem based on:

a) Un generador de bits pseudoaleatorio criptográficamente seguro,a) A pseudorandom bit generator cryptographically secure,

b) Un autómata celular bidimensional reversible,b) A two-dimensional cellular automaton reversible,

que encripta y descripta imágenes digitalizadas, definidas por cualquier número de colores.that encrypts and describes scanned images, defined by any number of colors.

Un objeto particular de la presente invención lo constituye un procedimiento de encriptación y descriptación mediante un criptosistema gráfico simétrico en el que el generador de bits pseudoaleatorio criptográficamente seguro, a partir de la clave secreta compartida por dos usuarios y que es utilizada como semilla del generador, genera una secuencia de bits pseudoaleatoria. Una realización concreta de dicho procedimiento es aquel en el que procedimiento de encriptación se basa en un autómata celular bidimensional reversible definido por una cuaterna (L, S, V, f), donde L es una imagen genérica del mismo tamaño que la que se vaya a utilizar en el proceso de cifrado; S es el conjunto formado por los 2^{24} = 16.777.216 posibles colores que pueden llegar a definir la imagen; V es la vecindad de cada píxel y f es la regla de transición que determina la evolución del autómata celular, tal como se ha comentado anteriormente.A particular object of the present invention is it constitutes an encryption and description procedure through a symmetric graphic cryptosystem in which the generator of cryptographically secure pseudo-random bits, from the secret key shared by two users and that is used as generator seed, generate a sequence of bits pseudorandom A specific embodiment of said procedure is  the one in which encryption procedure is based on a reversible two-dimensional cellular automaton defined by a quatern (L, S, V, f), where L is a generic image of the same size as the one to be used in the encryption process; S is the set consisting of the 2 24 = 16,777,216 possible colors that they can define the image; V is the neighborhood of each pixel and f is the transition rule that determines the evolution of cellular automaton, as previously mentioned.

Otra realización concreta de dicho procedimiento es aquel en el que procedimiento de descriptación mediante un criptosistema gráfico simétrico según las reivindicaciones 1 y 2, caracterizado por un autómata celular bidimensional reversible definido por una cuaterna (L, S, W, g), donde L es una imagen genérica del mismo tamaño que la que se vaya a utilizar en el proceso de descifrado; S es el conjunto formado por los 2^{24} = 16.777.216 posibles colores que pueden llegar a definir la imagen; W es la vecindad de cada píxel y g es la regla de transición que determina la evolución del autómata celular, tal como se ha comentado anteriormente.Another specific embodiment of said procedure is the one in which description procedure by means of a symmetric graphic cryptosystem according to claims 1 and 2, characterized by a reversible two-dimensional cellular automaton defined by a quatern (L, S, W, g), where L is an image generic of the same size as the one to be used in the decryption process; S is the set formed by the 2 24 = 16,777,216 possible colors that can define the image; W is the neighborhood of each pixel and g is the transition rule that determines the evolution of the cellular automaton, as it has been commented above.

Otro objeto de la presente invención lo constituye un dispositivo para encriptar y descriptar imágenes mediante un criptosistema gráfico simétrico constituido por un sistema electrónico que implementa en hardware o software un algoritmo para la ejecución del procedimiento anteriormente mencionado.Another object of the present invention is It is a device to encrypt and describe images by means of a symmetric graphic cryptosystem constituted by a electronic system that implements in hardware or software a algorithm for the execution of the procedure above mentioned.

Otro objeto de la presente invención lo constituye un dispositivo de almacenamiento de datos utilizable para encriptar y descriptar imágenes mediante un criptosistema gráfico simétrico, caracterizado porque implementa un algoritmo para la ejecución del procedimiento anteriormente mencionado.Another object of the present invention is constitutes a usable data storage device to encrypt and describe images using a cryptosystem symmetric graph, characterized in that it implements an algorithm for the execution of the aforementioned procedure.

Finalmente, otro objeto de la presente invención lo constituye el uso del procedimiento y dispositivo mencionados anteriormente en todos aquellos procesos en los que se requiera proteger imágenes, ya sea para su transmisión o su almacenamiento. Téngase en cuenta que un usuario puede utilizar una clave secreta tanto para encriptar una imagen y transmitirla a un destinatario con el que comparte su clave, como para almacenarla de forma segura en su propio disco duro, con una clave que sólo él conozca. Así pues, entre las principales aplicaciones de esta invención destacan las siguientes:Finally, another object of the present invention it is the use of the mentioned procedure and device previously in all those processes in which it is required Protect images, either for transmission or storage. Note that a user can use a secret key both to encrypt an image and transmit it to a recipient with which you share your key, as to store it in a way secure on his own hard drive, with a key that only he knows. Thus, among the main applications of this invention The following stand out:

\bullet?
Almacenamiento seguro de cualquier imagen mediante su imagen encriptada en el formato de la imagen original.Secure storage of any image through its encrypted image in the format of the original image

\bullet?
Transmisión de todo tipo de imágenes que hayan sido previamente encriptadas, de modo que la información que contengan no sea accesible, salvo para quienes estén autorizados.Transmission of all types of images that have been previously encrypted, so that the information they contain is not accessible, except for those are authorized

Estas aplicaciones son de gran utilidad en campos relacionados con las siguientes actividades:These applications are very useful in fields related to the following activities:

\bullet?
InformáticaComputing

\bullet?
MilitarMilitary

\bullet?
IndustrialIndustrial

\bullet?
ArtísticaArtistic

\bullet?
CartografíaMapping

\bullet?
MédicaMedical
Descripción de las figurasDescription of the figures

Figura 1Figure one

Esquema general de un criptosistema de clave simétricaGeneral scheme of a symmetric key cryptosystem

En esta figura se presenta el esquema general para el cifrado y descifrado de datos mediante un criptosistema de clave simétrica o secreta. En primer lugar se suministran los datos, que son sometidos a una Transformación Inicial, sin carácter criptográfico, de modo que puedan ser manipulados por el Módulo Iterativo, que es donde realmente se lleva a cabo el proceso de cifrado/descifrado, mediante una clave de usuario que sólo él conoce. Después de este proceso, los datos resultantes son enviados a la Transformación Final, que reordena los datos en la forma inversa a como se procedió con la Transformación Inicial. Como resultado se obtienen los datos encriptados, si los originales estaban en claro; o los descriptados, si los de partida estaban ya cifrados.In this figure the general scheme is presented for encryption and decryption of data using a cryptosystem of symmetric or secret key. First, the data, which are subjected to an Initial Transformation, without character  cryptographic, so that they can be manipulated by the Module Iterative, which is where the process of encryption / decryption, using a user key that only he known. After this process, the resulting data is sent  to the Final Transformation, which rearranges the data in the form Inverse to how it was done with the Initial Transformation. How result the encrypted data is obtained, if the originals they were clear; or those described, if the starting ones were already encrypted

Figura 2Figure 2

Esquema general del proceso de cifrado/descifrado propuestoGeneral scheme of the proposed encryption / decryption process

El esquema general del protocolo que se presenta en esta invención se muestra en esta figura. Se puede apreciar que, en general, su estructura responde al esquema de los criptosistemas de clave simétrica (ver Figura 1). No obstante, hay algunas diferencias a destacar. Entre otras, que la clave de usuario es utilizada por un generador de bits pseudoaleatorio, criptográficamente seguro, para extender la clave original a una clave mucho más larga y que es utilizada para el cifrado/descifrado de la imagen. Por otra parte, se señalan los datos que son suministrados por cada módulo para el protocolo propuesto.The general scheme of the protocol presented in this invention it is shown in this figure. It can be seen that, in general, its structure responds to the scheme of symmetric key cryptosystems (see Figure 1). However, there are Some differences to highlight. Among others, that the key to user is used by a pseudorandom bit generator, cryptographically secure, to extend the original key to a much longer key and that is used for encryption / decryption from image. On the other hand, the data that are supplied by each module for the proposed protocol.

Figura 3Figure 3

Generación de la secuencia de bits a partir de la clave secretaGeneration of the bit sequence from the key secret

En esta figura se muestra el procedimiento que se sigue para generar la secuencia de bits pseudoaleatoria a partir de la clave secreta del usuario y que será suministrada al Módulo Iterativo para el llevar a cabo el cifrado/descifrado de la imagen. Este procedimiento es el mismo tanto para el protocolo de encriptación como de descriptación. En particular en la figura se presenta el protocolo a seguir en el caso particular en que se considere el generador BBS, pero cualquier otro GBPACS seguirá un procedimiento muy similar.This figure shows the procedure that is continue to generate the pseudorandom bit sequence from the user's secret key and that will be supplied to the Module Iterative for carrying out the encryption / decryption of the image. This procedure is the same for both the protocol Encryption as description. In particular in the figure it presents the protocol to follow in the particular case in which consider the BBS generator, but any other GBPACS will follow a Very similar procedure.

Figura 4Figure 4

Protocolo propuesto para el cifrado de una imagenProposed protocol for image encryption

La Figura 4 desarrolla el proceso que se lleva a cabo en el Módulo Iterativo para el cifrado de una imagen. Dicho proceso necesita conocer el número de filas, columnas, el valor en bits de cada pixel y la secuencia de bits pseudoaleatoria generada a partir de la clave. A partir de estos datos, y del conocimiento público del módulo BBS y de la vecindad, se lleva a cabo el proceso de cifrar cada uno de los pixeles de la imagen.Figure 4 develops the process that leads to implemented in the Iterative Module for the encryption of an image. Saying process needs to know the number of rows, columns, the value in bits of each pixel and the pseudorandom bit sequence generated at  from the key. From this data, and knowledge public of the BBS module and the neighborhood, the process of encrypting each of the pixels in the image.

       \newpage\ newpage
    

Figura 5Figure 5

Protocolo propuesto para el descifrado de una imagenProposed protocol for decryption of an image

En esta figura se presenta el protocolo que se propone para el descifrado de una imagen. Dicho proceso es muy similar al de cifrado. Sólo varía el orden en que son considerados los vecinos de cada píxel y en la forma de elegir los bits de la secuencia pseudoaleatoria.This figure presents the protocol that is proposes for decryption of an image. This process is very similar to encryption. Only the order in which they are considered varies the neighbors of each pixel and in the way of choosing the bits of the pseudorandom sequence.

Figura 6Figure 6

Ejemplo de imagen en claroExample of clear image

La Figura 6 presenta un ejemplo de imagen en claro para ser encriptada. La imagen corresponde a un "Autorretrato" de Tamara de Lempicka y contiene 602 filas, 800 columnas, es decir, 481600 píxeles; y c = 85803 colores.Figure 6 presents an example image in Of course to be encrypted. The image corresponds to a "Self-portrait" of Tamara de Lempicka and contains 602 rows, 800 columns, that is, 481600 pixels; and c = 85803 colors.

Figura 7Figure 7

Ejemplo de imagen cifradaExample Encrypted Image

En la Figura 7 se incluye el resultado de encriptar la imagen mostrada en la Figura 6 mediante la clave que se incluye en la sección dedicada a la Exposición detallada de un modo de realización de la invención. Debido a las propiedades del criptosistema que se presenta, la imagen encriptada tiene el mismo tamaño que la original, es decir, 602 filas y 800 columnas; o lo que es igual, 481600 píxeles. El número de colores es, como cabria esperar, mucho mayor: 474799.Figure 7 includes the result of Encrypt the image shown in Figure 6 using the key that It is included in the section dedicated to the detailed Exhibition of a embodiment of the invention. Due to the properties of cryptosystem that is presented, the encrypted image has the same size than the original, that is, 602 rows and 800 columns; or what which is the same, 481600 pixels. The number of colors is, as it would fit wait, much older: 474799.

Exposición detallada de un ejemplo de realización de la invenciónDetailed statement of an example of realization of the invention Descripción Description

A continuación se describe una posible implementación de cómo llevar a cabo el proceso de cifrado y de descifrado de un imagen cualquiera, siguiendo las pautas marcadas en la sección relativa a la Descripción detallada de la invención.The following describes a possible implementation of how to carry out the encryption process and of decryption of any image, following the marked guidelines in the section on the detailed description of the invention.

Se encriptará la imagen que se muestra en la Figura 6, definida por r = 602 filas, s = 800 columnas, es decir, por un total de 481600 píxeles; y por c = 85803 colores.The image shown in the Figure 6, defined by r = 602 rows, s = 800 columns, that is, for a total of 481600 pixels; and by c = 85803 colors.

Claves Keys

La elección de las claves depende del generador pseudoaleatorio de bits elegido. En este caso, hemos considerado el GBPACS conocido como BBS, dado que ha sido caracterizado en [HMMP98] y se conocen, por tanto, para qué parámetros del mismo se obtienen longitudes de órbitas máximas.The choice of the keys depends on the generator pseudo random bit chosen. In this case, we have considered the GBPACS known as BBS, since it has been characterized in [HMMP98] and are known, therefore, for what parameters of the same obtain maximum orbit lengths.

Para obtener las claves de este generador se deben considerar dos números primos grandes, p y q, cada uno de ellos congruentes con 3 módulo 4 y verificando las condiciones señaladas en [HMMP98]. A continuación se determina el valor del módulo BBS: n = p \times q, que se hace público, mientras que se mantienen en secreto los valores de p y q. La publicación del valor de n no merma la seguridad del criptosistema puesto que la misma se basa en la dificultad de calcular los valores de p y q, es decir, de factorizar n. El siguiente paso es el de determinar el valor de la clave secreta que compartirán los dos usuarios que se intercambiarán la imagen cifrada. Dicha clave es la semilla del generador BBS, K, que también debe verificar determinadas condiciones (ver [HMMP98]). A partir de los valores anteriores se itera la función x^{2} (mod n) para obtener la secuencia de números que darán lugar a los bits. De forma más precisa, el proceso a seguir para generar la secuencia de bits es el siguiente (ver Figura 3): se considera x_{0} = K y se itera la expresión dada porTo obtain the keys of this generator you they must consider two large prime numbers, p and q, each of they congruent with 3 module 4 and checking the conditions noted in [HMMP98]. Next, the value of the BBS module: n = p \ times q, which is made public, while keep the values of p and q secret. The publication of value of n does not reduce the security of the cryptosystem since the it is based on the difficulty of calculating the values of p and q, it is  say, of factoring n. The next step is to determine the value of the secret key that will be shared by the two users that They will exchange the encrypted image. This key is the seed of BBS generator, K, which must also verify certain conditions (see [HMMP98]). From the previous values, iterate the function x2 (mod n) to obtain the sequence of numbers that will give rise to the bits. More precisely, the process to follow to generate the bit sequence is as follows (see Figure 3): it is considered x_ {0} = K and the expression is iterated given by

x_{i} = (x_{i-1})^{2} (mod \ n), i > 0,x_ {i} = (x_ {i-1}) 2 (mod \ n), i> 0,

de modo que a partir de los valores enteros x_{i} se obtienen los bits de la secuencia. En la propuesta original del generador ([BBS86]) sólo se consideraba el bit menos significativo (el bit de paridad) de x_{i}; sin embargo, se ha demostrado ([VV85]) que si se toman los \lfloor log_{2} (log_{2}n)\rfloor bits menos significativos de x_{i}, el generador BBS sigue siendo seguro, supuesto que el problema de la factorización de números es un problema intratable computacionalmente. Considerando esta nueva versión del BBS, su eficiencia se ve incrementada notablemente.so that from the values integers x_ {i} get the bits of the sequence. In the Original generator proposal ([BBS86]) was only considered the least significant bit (the parity bit) of x_ {i}; without However, it has been shown ([VV85]) that if the flowers are taken log_ {2} (log_ {2} n) \ rfloor less significant bits of x_ {i}, the BBS generator is still safe, assuming the number factoring problem is an intractable problem computationally Considering this new version of BBS, its efficiency is increased notably.

En el ejemplo que nos ocupa, se considerará una clave que bien podría ser utilizada en la práctica puesto que su longitud es de 1024 bits (valor recomendado para implementaciones prácticas), y que viene dada por los siguientes valores:In the example at hand, it will be considered a key that could well be used in practice since its Length is 1024 bits (recommended value for implementations practices), and that is given by the following values:

p = 21356 60840 00904 44908 14294 61912 33044 48726 67056 27770 91639 84681 78856 45992 32341 56958 35057 42091 15098 30798 10115 93632 49071 27705 00854 09456 56744 86832 77097 70615 03863, p = 21356 60840 00904 44908 14294 61912 33044 48726 67056 27770 91639 84681 78856 45992 32341 56958 35057 42091 15098 30798 10115 93632 49071 27705 00854 09456 56744 86832 77097 70615 03863,

q = 19102 22295 03150 73922 29063 28699 65980 67095 94325 63598 98052 32092 35809 52388 60543 17244 68454 91521 66614 46956 28835 97718 10065 68101 69525 42919 27519 18819 59100 55918 43279, q = 19102 22295 03150 73922 29063 28699 65980 67095 94325 63598 98052 32092 35809 52388 60543 17244 68454 91521 66614 46956 28835 97718 10065 68101 69525 42919 27519 18819 59100 55918 43279,

n = p \times q = 40795 86951 21099 38917 54804 02638 77833 57710 21051 85001 83480 19522 46842 87856 97634 85052 14129 09959 66022 75789 15738 85235 98425 52977 83390 32214 40675 81164 15742 55828 31687 54047 58970 02501 96771 58151 62865 69703 77460 32565 62268 04385 39180 72558 40139 07770 04502 97538 17997 97372 88123 63690 00159 61886 13363 80260 01716 07863 16076 66545 94908 6777. n = p \ times q = 40795 86951 21099 38917 54804 02638 77833 57710 21051 85001 83480 19522 46842 87856 97634 85052 14129 09959 66022 75789 15738 85235 98425 52977 83390 32214 40675 81164 15742 55828 31687 5401 581601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601601701601601601601601601601601601601601601601701 6701706 6706 6707706 6701 6701706 72558 40139 07770 04502 97538 17997 97372 88123 63690 00159 61886 13363 80260 01716 07863 16076 66545 94908 6777.

Una vez que se da a conocer el módulo BBS, n, los dos usuarios que van a utilizar el criptosistema que se propone en esta invención, se ponen de acuerdo en la clave secreta que van a utilizar, K, que en este caso será la semilla del generador BBS. Nótese que como la clave pública del generador no tiene por qué modificarse (salvo cuando las normas de seguridad así lo aconsejen), la clave secreta debe ser diferente para cada imagen, o al menos, para cada pareja de usuarios. Dicha semilla podría ser la siguiente:Once the BBS module is released, n, the two users who are going to use the cryptosystem proposed in this invention, they agree on the secret key that they are going to use, K, which in this case will be the seed of the BBS generator. Note that as the generator's public key, it doesn't have to be modified (except when the safety regulations so advise), the secret key must be different for each image, or at least, for each pair of users. That seed could be The next:

K = 24036 88089 14855 42194 08780 82014 68160 80201 24435 74791 86003 70808 69817 02168 06034 74249 97038 26708 94839 69522 81767 89191 94832 26050 76074 09495 06651 79114 81213 15981 23484 51879 02828 49820 38094 47857 03683 77627 64872 17160 52538 54161 84144 97589 01730 51799 78262 51461 25123 11304 71889 41449 99949 34474 26583 39113 30749 85764 42420 85026 68074 3088. K = 24036 88089 14855 42194 08780 82014 68160 80201 24435 74791 86003 70808 69817 02168 06034 74249 97038 26708 94839 69522 81767 89191 94832 26050 76074 09495 06651 79114 81213 15981 23484 51879 02828 49820 38094 47857 03683 77627 64872 17160 52538 54161 84144 97589 01730 51799 78262 51461 25123 11304 71889 41449 99949 34474 26583 39113 30749 85764 42420 85026 68074 3088.

A partir de los datos anteriores, se debe generar una secuencia de al menosFrom the previous data, it must be generated a sequence of at least

602 \ \times 800\ \times \ 24 = 11558400 \ bits,602 \ times 800 \ \ times \ 24 = 11558400 \ bits,

para garantizar que se podrán encriptar todos los pixeles de la imagen original. Se debe tener en cuenta que no es necesario iterar 11558400 veces el algoritmo BBS según la modificación señalada anteriormente. En este caso, dado que \lfloor log_{2} (log_{2}n) \rfloor = 10, el número de iteraciones será 10 veces menor.to ensure that they can Encrypt all pixels of the original image. It must have note that it is not necessary to iterate 11558400 times the BBS algorithm according to the modification indicated above. In this case, given that \ lfloor log_ {2} (log_ {2} n) \ rfloor = 10, the number of iterations will be 10 times Minor.

Cifrado Encryption

Según el protocolo de cifrado mencionado anteriormente, se debe elegir de forma pública una vecindad para el ACR. En este ejemplo, se considerará el cuadrado de tamaño 5 \times 5 alrededor de la célula <i,j>, exceptuando la propia célula, por lo que se tendrá:According to the encryption protocol mentioned previously, a neighborhood must be chosen publicly for the ACR. In this example, the square of size 5 will be considered \ times 5 around cell <i, j>, except for one's own cell, so you will have:

V = \{(-2, -2), ..., (-2, 2), ..., (0, -1), (0, 1), ..., (2, -2), ... (2, 2)\},V = \ {(- 2, -2), ..., (-2, 2), ..., (0, -1), (0, 1), ..., (2, -2), ... (2, 2)\},

y la vecindad, V_{<ij>}, puede representarse como sigue:and the neighborhood, V_ {<ij>}, can be represented as follow:

33

El conjunto anterior puede representarse mediante dos variables h y w, de modo que V_{<ij>} = {(i + h, j + w)}, siendo:The previous set can be represented by two variables h and w, so that V_ {<ij>} = {(i + h, j + w)}, being:

h = \lfloor (n-1)/5\rfloor - 2, w = (n-1)(mod \ 5)-2, 1 \leq n \leq 12,h = \ lfloor (n-1) / 5 \ rfloor - 2, w = (n-1) (mod \ 5) -2, 1 \ leq n \ leq 12,

h = \lfloor n/5 \rfloor -2, w = n(mod \ 5)-2, 13 \leq n \leq 24,h = \ lfloor n / 5 \ rfloor -2, w = n (mod \ 5) -2, 13 \ leq n \ leq 24,

donde \lfloor a \rfloor es el mayor entero que es menor que a.where \ lfloor a \ rfloor is the greater integer that is less than to.

Según esta elección de la vecindad, para determinar el píxel encriptado de P_{ij}, Q_{ij}, 1 \leq i \leq r, 1 \leq j \leq s, se consideran los 24 píxeles de la vecindad de P_{ij}, V_{<ij>}: P_{i-2,j-2}, ..., P_{i-2,j+2}, ..., P_{i,j-1}, P_{i,j+1}, ..., P_{i+2,j+2}, y se aplica la función de transición f: S^{24} \rightarrow S como sigue:According to this neighborhood election, for determine the encrypted pixel of P_ {ij}, Q_ {ij}, 1 \ leq i \ leq r, 1 \ leq j \ leq s, the 24 pixels of the neighborhood of P_ {ij}, V_ {<ij>}: P_ {i-2, j-2}, ..., P_ {i-2, j + 2}, ..., P_ {i, j-1}, P_ {i, j + 1}, ..., P_ {i + 2, j + 2}, and the function of transition f: S 24 \ righ S as follows:

44

es decir, q_{ij}^{n} = b_{mn} \varoplus p_{i+h,j+w}^{n}; siendo m = (i – 1) s + j la posición del píxel P_{ij}, B_{m} la m-ésima componente de la secuencia de bits B, \pi_{n}: S \rightarrow Z_{2}^{(n)} es la proyección sobre la n-ésima componente y \varoplus la operación XOR.that is, q_ {ij} ^ {n} = b_ {mn} \ varoplus p_ {i + h, j + w} ^ {n}; where m = (i - 1) s + j is the pixel position P_ {ij}, B_ {m} the m -th component of the bit sequence B, \ pi_ {n}: S \ rightarrow Z_ {2} ^ {(n)} is the projection on the nth component and the XOR operation.

Descifrado Decoded

Una vez que se ha elegido de forma pública la vecindad V anterior, para el ACR inverso se tiene que:Once you have publicly chosen the neighborhood V above, for the reverse ACR you have to:

W = \{(2, 2), ..., (2, -2), ..., (0, 1), (0, -1), ..., (-2, 2), ..., (-2, -2) \}.W = \ {(2, 2), ..., (2, -2), ..., (0, 1), (0, -1), ..., (-2, 2), ..., (-2, -2) \}.

También en este caso, la vecindad de la célula <k, l>, W_{<k,l>}, se puede codificar por las mismas dos variables h y w: W_{<k,l>} = {(k–h, 1–w)}. Así pues, la función de transición g: S^{24} \rightarrow S, a utilizar para descriptar un píxel es como sigue:Also in this case, the neighborhood of the cell <k, l>, W <k, l>}, can be encoded by them two variables h and w: W <<k, l>} = {(k – h, 1 – w)}. So, the  transition function g: S 24 \ righ S, to be used for Describe a pixel is as follows:

55

con b'_{tn} \varoplus q_{k-h,l-w}^{n} = p_{kl}^{n}; t = (k – h – 1) s + 1– w la posición de Q_{k-h, l-w},y por tanto se tiene que b'_{t,n} = b_{(k-1-h)s+l-w,n}, \pi_{n}: S \rightarrow Z_{2}^{(n)} es la proyección sobre la n-ésima componente y el símbolo \rightarrow representa la operación XOR.with b 'tn? q_ {kh, lw} n = p_ {kl} n; t = (k - h - 1) s + 1– w the position of Q_ {kh, lw}, and therefore you have to b 't, n} b = (k-1-h) s + lw, n}, \ pi_ {n}: S \ rightarrow Z_ {2} ^ {(n)} is the projection on the nth component and the symbol \ rightarrow represents the XOR operation.

Funcionamiento e implementaciónOperation and implementation

El esquema propuesto para el encriptado y descriptado de imágenes se ha implementado de forma práctica mediante varios programas utilizando el lenguaje C++ en un ordenador Pentium III a 1000 Mhz con dos microprocesadores y 512 Mbytes de memoria RAM. En particular y dado que las claves no pueden ser determinadas ni manipuladas con las librerías estándar de C++ debido a su tamaño, para la generación de las claves y las secuencias de bits pseudoaleatorios se ha utilizado la librería FreeLIP (Large Integer Package) desarrollada por A.K. Lenstra y en la actualidad mantenida por P. Leyland (ver [LIP]). Por otra parte, el protocolo de cifrado/descifrado se ha implementado en C++ de Visual Studio .Net 6.0.The proposed scheme for encryption and Described images have been implemented in a practical way through several programs using the C ++ language in a 1000 MHz Pentium III computer with two microprocessors and 512 Mbytes of RAM. In particular and since the keys do not can be determined or manipulated with standard libraries of C ++ due to its size, for the generation of the keys and pseudo random bit streams the library has been used FreeLIP (Large Integer Package) developed by A.K. Lenstra and in the news maintained by P. Leyland (see [LIP]). For other part, the encryption / decryption protocol has been implemented in C ++ Visual Studio .Net 6.0.

Con estas implementaciones, que no están completamente depuradas, el tiempo de computación necesario para generar la clave privada del generador BBS (primos p y q), la clave pública de 1024 bits (n) y la clave secreta (K) ha sido de 45 segundos; mientras que para la generación de la secuencia de bits pseudoaleatoria de 12 millones de bits el tiempo necesario ha sido de 75 segundos. Con relación a los procesos de cifrado y descifrado, el tiempo requerido para leer la imagen original que se muestra en la Figura 6, almacenarla en memoria y encriptarla, utilizando la secuencia generada anteriormente, ha sido de 9 segundos. El mismo proceso anterior (lectura, almacenamiento y ejecución) llevado a cabo para la imagen encriptada (ver Figura 7) ha requerido 10 segundos.With these implementations, which are not completely purified, the computing time needed to generate the private key of the BBS generator (cousins p and q), the 1024-bit public key (n) and secret key (K) has been 45 seconds; while for bit sequence generation 12 million bit pseudorandom the necessary time has been 75 seconds In relation to encryption processes and decryption, the time required to read the original image that is shown in Figure 6, store it in memory and encrypt it, using the sequence generated above, it has been 9 seconds. The same previous process (reading, storage and execution) carried out for the encrypted image (see Figure 7) It has required 10 seconds.

Como se puede apreciar, el mayor tiempo de computación se lo lleva el proceso de generación de las claves, lo cual era previsible. Nótese además, que el procedimiento de cifrado/descifrado es muy rápido, dado que para el tamaño de las imágenes utilizadas (602 x 800 pixeles) sólo se requieren unos 10 segundos de ejecución. Por otra parte, los tiempos presentados anteriormente podrían ser mejorados si se depuran los programas utilizados o si se implementan en hardware.As you can see, the longest time of computing takes the process of generating the keys, what which was predictable. Note also that the procedure of encryption / decryption is very fast, since for the size of the images used (602 x 800 pixels) only about 10 are required seconds of execution On the other hand, the times presented previously they could be improved if programs are debugged used or if they are implemented in hardware.

Claims (6)

1. Procedimiento de encriptación y descriptación mediante un criptosistema gráfico simétrico caracterizado porque utiliza1. Encryption and description procedure using a symmetric graphic cryptosystem characterized in that it uses
a)to)
Un generador de bits pseudoaleatorio criptográficamente seguro,A cryptographically pseudo random bit generator sure,
b)b)
Un autómata celular bidimensional reversible,A reversible two-dimensional cellular automaton,
que encripta y descripta imágenes digitalizadas, definidas por cualquier número de colores.that encrypts and describes scanned images, defined by any number of colors.
2. Procedimiento de encriptación y descriptación mediante un criptosistema gráfico simétrico según la reivindicación 1, caracterizado porque el generador de bits pseudoaleatorio criptográficamente seguro, a partir de la clave secreta compartida por dos usuarios y que es utilizada como semilla del generador, genera una secuencia de bits pseudoaleatoria.2. Method of encryption and description by means of a symmetric graphic cryptosystem according to claim 1, characterized in that the cryptographically secure pseudo-random bit generator, from the secret key shared by two users and which is used as the generator seed, generates a sequence of pseudorandom bits. 3. Procedimiento de encriptación mediante un criptosistema gráfico simétrico según las reivindicaciones 1 y 2, caracterizado por un autómata celular bidimensional reversible definido por una cuaterna (L, S, V, f), donde L es una imagen genérica del mismo tamaño que la que se vaya a utilizar en el proceso de cifrado; S es el conjunto formado por los 2^{24} = 16.777.216 posibles colores que pueden llegar a definir la imagen; Ves la vecindad de cada pixel y f es la regla de transición que determina la evolución del autómata celular.3. Encryption method by means of a symmetric graphic cryptosystem according to claims 1 and 2, characterized by a reversible two-dimensional cellular automaton defined by a quatern (L, S, V, f), where L is a generic image of the same size as the one it will be used in the encryption process; S is the set formed by the 2 24 = 16,777,216 possible colors that can define the image; You see the neighborhood of each pixel and f is the transition rule that determines the evolution of the cellular automaton. 4. Procedimiento de descriptación mediante un criptosistema gráfico simétrico según las reivindicaciones 1 y 2, caracterizado por un autómata celular bidimensional reversible definido por una cuaterna (L, S, W, g), donde L es una imagen genérica del mismo tamaño que la que se vaya a utilizar en el proceso de descifrado; S es el conjunto formado por los 2^{24} = 16.777.216 posibles colores que pueden llegar a definir la imagen; W es la vecindad de cada pixel y g es la regla de transición que determina la evolución del autómata celular.4. Description procedure by means of a symmetric graphic cryptosystem according to claims 1 and 2, characterized by a reversible two-dimensional cellular automaton defined by a quatern (L, S, W, g), where L is a generic image of the same size as the one it will be used in the decryption process; S is the set formed by the 2 24 = 16,777,216 possible colors that can define the image; W is the neighborhood of each pixel and g is the transition rule that determines the evolution of the cellular automaton. 5. Dispositivo para encriptar, almacenar datos y descriptar imágenes caracterizado porque está constituido por un sistema electrónico que implementa en hardware o software un algoritmo para la ejecución de un procedimiento según las reivindicaciones 1 a la 4.5. Device for encrypting, storing data and describing images characterized in that it is constituted by an electronic system that implements in hardware or software an algorithm for the execution of a procedure according to claims 1 to 4. 6. Uso del procedimiento según las reivindicaciones 1 a la 4 y del dispositivo según la reivindicación 5 para la protección del almacenaje y transmisión de imágenes.6. Use of the procedure according to claims 1 to 4 and of the device according to claim 5 for the protection of storage and transmission of images.
ES200301902A 2003-08-06 2003-08-06 PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM. Expired - Fee Related ES2238151B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200301902A ES2238151B1 (en) 2003-08-06 2003-08-06 PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200301902A ES2238151B1 (en) 2003-08-06 2003-08-06 PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM.

Publications (2)

Publication Number Publication Date
ES2238151A1 ES2238151A1 (en) 2005-08-16
ES2238151B1 true ES2238151B1 (en) 2006-11-01

Family

ID=34854857

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200301902A Expired - Fee Related ES2238151B1 (en) 2003-08-06 2003-08-06 PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM.

Country Status (1)

Country Link
ES (1) ES2238151B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363448A (en) * 1993-06-30 1994-11-08 United Technologies Automotive, Inc. Pseudorandom number generation and cryptographic authentication

Also Published As

Publication number Publication date
ES2238151A1 (en) 2005-08-16

Similar Documents

Publication Publication Date Title
Chen et al. A symmetric image encryption scheme based on 3D chaotic cat maps
Fu et al. A new chaos-based color image encryption scheme with an efficient substitution keystream generation strategy
KR100363457B1 (en) Mapping Repertoire for Cryptosystems
Subramanyan et al. Image encryption based on AES key expansion
US8553880B2 (en) Pseudorandom number generating system, encryption system, and decryption system
CN102196320B (en) Image encrypting and decrypting system
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
EP2742644B1 (en) Encryption and decryption method
Sokouti et al. Medical image encryption: an application for improved padding based GGH encryption algorithm
Sivakumar et al. A novel image encryption using calligraphy based scan method and random number
Ramalingam et al. Hybrid image crypto system for secure image communication–A VLSI approach
Mohammed et al. Cryptosystems using an improving hiding technique based on latin square and magic square
Hussain et al. A chaotic image encryption scheme based on multi-directional confusion and diffusion operations
Sharma et al. Cryptanalysis of image encryption algorithm based on pixel shuffling and chaotic S-box transformation
ES2300427T3 (en) METHOD BASED ON A GRAPHIC IMPLEMENTED ALGORITHM FOR THE GENERATION OR FILTERING OF DATA SEQUENCES FOR CRYPTOGRAPHIC APPLICATIONS.
CN111444522B (en) Random blocking chaotic image encryption method
JP2008525835A (en) Method and apparatus for performing cryptographic calculations
ES2238151B1 (en) PROCEDURE AND DEVICE FOR ENCRYPTION OF IMAGES THROUGH A SYSTRIC GRAPHIC CRYPTOSYSTEM.
Marañón et al. Graphic cryptography with pseudorandom bit generators and cellular automata
Venkatesha et al. AES based algorithm for image encryption and decryption
Huang et al. A novel symmetric image encryption approach based on a new invertible two-dimensional map
Gulshan et al. Chaotic image encryption technique based on IDEA and discrete wavelet transformation
Fu et al. Medical image protection using hyperchaos-based encryption
ES2238168B1 (en) PROCEDURE AND DEVICE FOR SECRET DIVIDING, SHARING AND RECOVERING IMAGES.
Sivakumar et al. A novel Image encryption method with Z-Order curve and random number

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20050816

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2238151B1

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20180808