Method for encrypting and decrypting data using chaotic maps
First Claim
1. A method for encrypting data, the steps comprising:
- a) creating a discretized map, the sub-steps comprising;
i) providing an array of data, said data comprising elements arranged in a first M×
N array, each element having a value;
ii) generating a key that is representative of at least one of said dimensions M and N of said array of data, said key having at least one numeric value;
iii) building a two-dimensional chaotic map using said key by substituting for at least one of said elements of said first M×
N array a new value dependent upon the position of said element in said first M×
N array, the original value of said element, and the value of at least one other element;
iv) extending said two-dimensional chaotic map into at least a third dimension; and
b) applying said discretized map to a second M×
N array of data to generate encrypted data representative thereof.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention features a method for encrypting and decrypting large amounts of data such as images. A simple two-dimensional map is first generalized by the introduction of parameters. The generalized map is then discretized so that it maps a rectangular matrix of points (pixels in the case of image data) in a bijective manner. Finally, the map is extended to three dimensions to modify the gray levels. The parameters of the map then serve as a ciphering key. The encryption consists of several iterative applications of the map to a block of a plain text message such as an image. The encryption is such that the resultant image is uncorrelated and appears as static on a TV monitor in the absence of a signal. The resultant histogram of the enciphered image becomes essentially uniform. The enciphered data is deciphered by applying an inverse map an identical number of iterations. The inventive method provides both superior speed and improved security over previously used methods of encryption.
-
Citations
4 Claims
-
1. A method for encrypting data, the steps comprising:
-
a) creating a discretized map, the sub-steps comprising; i) providing an array of data, said data comprising elements arranged in a first M×
N array, each element having a value;ii) generating a key that is representative of at least one of said dimensions M and N of said array of data, said key having at least one numeric value; iii) building a two-dimensional chaotic map using said key by substituting for at least one of said elements of said first M×
N array a new value dependent upon the position of said element in said first M×
N array, the original value of said element, and the value of at least one other element;iv) extending said two-dimensional chaotic map into at least a third dimension; and b) applying said discretized map to a second M×
N array of data to generate encrypted data representative thereof. - View Dependent Claims (2, 3)
-
-
4. A method for encrypting data, the steps comprising:
-
a) creating a discretized map, the sub-steps comprising; i) providing an array of data, said data comprising elements arranged in a first M×
N array comprising a discretized image, each element having a value;ii) generating a key representative of at least one of said dimensions M and N of said first array of data, said key having at least one numeric value; iii) building a two-dimensional chaotic baker map using said key; iv) extending said chaotic map into at least a third dimension; b) applying said discretized map successively to subsequent M×
N arrays of data, at least one of said subsequent arrays of data being padded with dummy data, said subsequent M×
N arrays being formed from larger arrays of data, to generate encrypted data representative of each of said arrays.
-
Specification