Abstract
Cryptographic hash functions can map data of arbitrary size to data of fixed size (hash values), which can be used in a wide range of multimedia applications for communication security, such as integrity protection, message authentication and digital signature. In this paper, we present a cryptographic and parallel chaotic hash function based on the cross coupled map lattices for multimedia communication security. More specifically, we first utilize the piecewise linear chaotic map with secret keys to generate initial parameter sequence for the cross coupled map lattices and an initial hash value. Then, we extend the original message into a message matrix to enhance the correlation of message characters. Next, we process each of the message blocks in the matrix in parallel as the space domain input of the cross coupled map lattices and the initial parameters as the time domain input to generate intermediate hash values. After all message blocks are processed in parallel, the final h-bit hash value is obtained by logical operations with the initial and intermediate hash values. Finally, we evaluate the performance of the proposed hash function in terms of uniform distribution of hash values, sensitivity of the hash value to subtle changes of the original message, secret keys, and images, confusion and diffusion properties, collision tests, efficiency of computation speed. The cryptanalytic results demonstrate that the proposed hash algorithm has statistical properties with \(\bar {B} = 64.0022\) and P = 50.0017%, collision resistance with d = 85.3944, average computation speed of 132.0 Mbps, and better statistical performance compared with existing chaotic hash functions, which are suitable for multimedia communication security.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
With the rapid development of computer and Internet technology, multimedia communication plays a significant role in multiple areas in our social society. The security of multimedia data is becoming more and more important in wired or wireless communications, such as file downloading and online payments [6, 8], image authentication [47] and watermarking [41]. Due to the high redundancy and large amount of data, multimedia data have special requirements for the security protection, such as real time, self-certification and availability. Among the various techniques proposed to address these challenges, hash algorithm has been proven to be an effective and efficient solution, which is able to protect information integrity [50], authenticate messages/images [26, 54], and generate digital signatures/watermarking [46, 69] for multimedia communication security [9, 10, 52] and mobile communication security [11,12,13,14,15,16,17, 71].
A hash function is a special kind of one-way function, which can be classified into two categories: (i) unkeyed hash function, whose specification dictates a single input parameter, a message; and (ii) cryptographic hash function, whose specification dictates two distinct inputs, a message and a secret key [27, 55, 61]. Unkeyed hash function h() has four properties: compression, irreversibility, second-preimage resistance and collision resistance. More specifically, (a) compression: a function h() maps an input M with arbitrary bit length, to an output h(M) of fixed bit length l; (b) irreversibility: given a function h() and an input M, it is easy to compute h(M). However, it is computationally infeasible to find any input which hashes to a specific output, i.e., to find any pre-image M such that h(M) = y, given any y for which a corresponding input is not known; (c) second-preimage resistance: it is computationally infeasible to find any second input which has the same output as any specified input, i.e., given M, to find a second-preimage M′≠M such that h(M) = h(M′); (d) collision resistance: it is hard to find any two distinct inputs M and M′, which hash to the same output, i.e., such that h(M) = h(M′). On the other hand, a cryptographic hash function hk is a class of hash functions {hk : k ∈ Vn} indexed by a key k such that {hk : M → Vm} generates a message digest with length l, where Vn denotes the n-dimensional vector space over GF(2). hk is a secure keyed one-way hash function, if it satisfies the following properties: (a) The function hk is keyed one-way. That is: (i) given k and M, it is easy to compute hk(M); (ii) without knowledge of k, it is hard to find M when hk(M) is given; (iii) without knowledge of k, it is hard to find hk(M) when M is given; (b) the function hk should uniformly distribute the message digest in the message digest space. This thwarts statistical attacks; (c) the function hk is keyed collision free. That is, without the knowledge of k, it is difficult to find two distinct messages M and M′ that collide under hk; (d) the function hk should produce a message digest with at least 128 bits to thwart birthday attacks; (e) the function hk should have enough key space to thwart exhaustive key search [25, 31].
Traditional hash functions such as MD5 and SHA-1 are mainly based on logical operations, modular arithmetic operations or digital algebraic operations, which reveal security weakness, since attacks on these algorithms have been discovered [34, 40, 49, 56, 57]. In particular, X. Y. Wang has found an effective method to reduce the complexity of collisions of SHA-1, issued as a Federal Information Processing Standard by NIST [57]. Due to the high computational complexity of logical or xor operations on traditional hash functions, chaos has been exploited to design chaotic hash algorithms for its interesting characteristics, such as sensitivity to tiny changes in initial conditions and parameters, random-like behavior, ergodicity, unstable periodic orbits with long periods and desired diffusion and confusion. Compared with traditional hash algorithms, chaos-based hash algorithms have unstable and aperiodic orbits, and are more unstable dynamical systems with high sensitivity to initial conditions and more suitable for large-scale data encryption [38]. K. W. Wong is the first to propose the chaotic hash function, which is built on the number of iterations of one-dimensional logistic map needed to reach the region corresponding to the character, along with a lookup table updated dynamically [63]. Then, chaotic hash functions are attracting more and more researchers to research ranging from the use of simple maps such as tent map [4, 32, 37, 70] and logistic map [1, 20, 58] to the use of more complicated maps of the sine map [21], standard map [33], piecewise linear or nonlinear chaotic maps [2, 30, 36, 53, 64, 65, 74], and high-dimensional chaotic maps [3, 22, 26, 35, 43]. For instance, M. Amin designed a chaos-based hash function based on a tent map for cryptographic applications [4]. Y. Wang provided a one-way hash function based on iterating a logistic map [58]. M. Ahmad provided a simple secure hash function scheme using multiple chaotic maps including logistic map, tent map, skew-tent map, cubic map and baker map [1]. A. Akhavan designed a hash function based on piecewise nonlinear chaotic map [2]. P. Zhang presented a parallel and collision resistance hash function with variable initial values [74]. Z. Lin developed a methodology to construct keyed hash functions based on chaotic iterations to avoid dynamic degradation caused by finite precision [36]. M. Todorova proposed a hash function based on irregularly decimated chaotic map [53]. H. S. Kwok presented a chaos-based cryptographic hash function for message authentication based on a high-dimensional cat map [26]. Z. Lin again designed an approach for constructing one-way hash function based on a message block controlled 8D hperchaotic map [35].
Although the above hash algorithms have their advantages, most of them ignore the parallel characteristic of message processing, which effectively improves the computation speed. In this paper, we present a cryptographic and parallel hash algorithm based on the cross coupled map lattices for multimedia communication security. More specifically, we first iterate the piecewise linear chaotic map with secret keys l times to generate a parameter sequence A for the cross coupled map lattices and generate an initial h-bit hash value H0. Then, we extend an arbitrary length of message M into a message matrix M″ to enhance the correlation of message characters. Next, we iterate the cross coupled map lattices CCML 2h times to generate a h-bit intermediate hash value Hi. There are two inputs for the CCML: the space domain input, which is the message blocks \(M^{\prime \prime }_{i}\) in the matrix M″ and the time domain input, which is the parameters C from sequence A. After all message blocks are processed in parallel, the final h-bit hash value is obtained by logical operations with H0 and Hi(i = 1,2,…). Finally, we evaluate the performance of the proposed hash function in terms of uniform distribution of hash values, sensitivity of the hash value to subtle changes of the original message and secret keys, confusion and diffusion properties, collision tests, efficiency of computation speed, and the cryptographic results demonstrate that the hash algorithm has good statistical properties, strong collision resistance, and better statistical performance compared with existing chaotic hash functions. We differ in that we are among the first to exploit a two-dimensional cross coupled map lattices with space domain and time domain inputs to design a cryptographic hash function and that the proposed hash function can be performed in parallel.
The main contributions of this work can be summarized as:
-
We present a cryptographic and parallel hash algorithm based on the cross coupled map lattices for multimedia communication security. Different from the chaotic maps-based parallel keyed hash scheme [64], we are among the first to exploit the cross coupled map lattices to construct the hash algorithm.
-
We utilize message blocks as the space domain input and parameter sequence from the piecewise linear chaotic map as the time domain input for the cross coupled map lattices to generate intermediate hash values. We differ from the 2D coupled map lattices-based hash scheme [59] in that the cross coupled map lattices have space and time domain inputs, which significantly compress the message information into intermediate hash values.
-
We evaluate the performance of the proposed hash algorithm, and the cryptanalytic results demonstrate that the hash algorithm has good statistical properties, strong collision resistance, and better statistical performance compared with existing chaotic hash functions. Comparing to [23], our algorithm shows better performance in the average computation speed, statistical analysis, and collision resistance.
The remainder of this paper is organized as follows: Section 2 briefly describes the piecewise linear chaotic map and the crossing coupled map lattices. In Section 3, we present the design of the cryptographic and parallel hash algorithm based on the cross coupled map lattices in detail. We evaluate the performance of the proposed hash algorithm in Section 4 and conclude the work in Section 5.
2 Preliminaries
In this section, we briefly describe the one-dimensional piecewise linear chaotic map and the two-dimensional crossing coupled map lattices used in the proposed hash algorithm, respectively.
2.1 Piecewise linear chaotic map (PWLCM)
We select the one-dimensional piecewise linear chaotic map in the proposed hash algorithm, which is expressed as in (1):
where xi represents the iteration trajectory value, and α denotes the control parameter. When α is assigned values in (0,0.5), xi evolves into a chaotic state in range of (0,1), and there is no dynamical degradation of PWLCM because only rounded values of xi (0 or 1) are needed in the hash algorithm [24]. The PWLCM has properties of uniform distribution, good ergodicity, confusion and diffusion, therefore, it can provide chaotic random sequences. An explicit analysis of the bifurcation diagram of the PWLCM shows that with the specified initial value x0 and parameter α, its iterative values are fixed, which are listed in Table 1. The map is running in a chaotic state within the range (0,1), except for the specified values in Table 1. Therefore, we use the map as a key generator to produce the four initial buffers for our hash algorithm. Moreover, according to Ref. [5], {xi} is ergodic, uniformly distributed in the interval (0,1) and the autocorrelation function is δ-like.
2.2 Cross coupled map lattices (CCML)
We select the two-dimensional cross coupled map lattice of size L with nearest neighbor coupling in the proposed hash algorithm, which is a mixed model of coupled map lattices with a diffusion process and local reaction process. CCML is defined by (2):
where n denotes the number of discrete-time steps in [1,N], referred to as the time dimension, and i represents the number of discrete-space steps in [1,L], referred to as the space dimension. xn(i) denotes the state of site i (or i th lattice) at time n, and ε indicates a coupling coefficient in range of (0,1). Periodic boundary conditions meet xn(i) = xn(i + L). Lattice mapping function f() is an asymmetric tent map that creates the local dynamics, which is defined by (3):
where q ranges in (0,1). Since the asymmetric tent map f() is a chaotic map, CCML model is chaotic. CCML uses the way of diffusion in both time dimension (x-axis in Fig. 2) and space dimension (y-axis). In even lattice point of each iteration (black dots), the current value depends on even value in previous iteration step and both-side odd values in previous iteration step. In odd lattice point of each iteration (white circle), the current value depends on odd value in previous iteration step and both-side even values in current iteration step. Therefore, even lattice point reacts first and continues completing diffusion process before odd lattice point does, and then odd lattice point performs reaction and diffusion processes. The state of odd lattice points differs half step unit time than that of even lattice points. We cascade the two chaotic maps ((2) and (3)) to counteract the degradation of various extents [62].
We believe CCML is superior to other maps for our specified hash algorithm, because: 1) we exclusively design the two-dimensional CCML to enhance the security of the hash function construction, since it considers the message blocks as the space domain input and the parameter sequence from PWLCM as the time domain input; and 2) we are among the first to exploit CCML to design a cryptographic and parallel hash algorithm.
3 Cryptographic and parallel hash function based on CCML
In this section, we describe the proposed cross coupled map lattices based parallel chaotic hash function in detail. We first detail the proposed hash function in four steps: parameter initialization, message extension, message processing, and hash value generation, as shown in the structure of the hash function in Fig. 1. Then we present the hash function in Algorithm 1, and illustrate the flowchart of the proposed hash function in Fig. 3. As illustrated in Algorithm 1 and Fig. 3, the inputs are an arbitrary length of message M and secret keys {x0, p0, ε, q0}, and the output is h-bit hash value H, where h = 128.
Step 1: Parameter Initialization
With initial secret keys {x0, p0}, we iterate PWLCMl times and intend to generate a parameter sequence A for CCML, where l = (n′ + h) × 2 and \(n^{\prime } = \lceil \frac {n}{h-1}+ 1 \rceil \times h\). Let n denote the number of characters in the arbitrary length of message M. Since parameter p is variable, for each iteration i (i = 1,2,…,l), \(p_{i}=\frac {1}{2}(p_{i-1}+x_{i-1})\) and \(x_{i}=\frac {1}{2}(x_{i}+m_{i-2h} \times \frac {1}{2h})\) if i ≥ 2h. After l iterations, we obtain a chaotic sequence S = {si = xi|i = 1,2,…,l} and then the parameter sequence A = {aj = xi|i = 2h + 1,2h + 2,…,l;j = 1,2,…,2n′} is generated. With A = {ai|i = 1,2,…,2n′}, we calculate T = {ti = round(ai)|i = 1,2,…,2n′} and then conduct XOR operation on each h-bit binaries in T, and finally cascade them to generate the h-bit initial hash value H0.
Step 2: Message Extension
Given the arbitrary length of message M, we extend it into a matrix M″ to enhance the correlation of message characters. In order to make the original message M a multiple length of ((h − 1) × 8) bits, we first append {1010…10}2 bits to message M, and then preserve 64 bits rightmost denoting the length of original message M. Then we convert each 8-bit character of the padded message into the corresponding ASCII code value (a decimal integer) and store them into an array m (m = {m1, m2,…}). Finally, we obtain a p × (h − 1) message matrix M′ by:
M′ = \(\left [\begin {array}{llll} m_{1,1}^{\prime } & m_{1,2}^{\prime } & {\cdots } & m_{1,h-1}^{\prime } \\ m_{2,1}^{\prime } & m_{2,2}^{\prime } & {\cdots } & m_{2,h-1}^{\prime } \\ {\vdots } & {\vdots } & {\ddots } & {\vdots } \\ m_{p,1}^{\prime } & m_{p,2}^{\prime } & {\cdots } & m_{p,h-1}^{\prime } \end {array}\right ]\)\(=\{m_{i,j}^{\prime } = m_{(h-1)(i-1)+j}|i = 1,2,\ldots ,p;j = 1,2,\cdots ,h-1\}\).
Then, we generate a transform sequence B = {bi = ⌊ai × 2h⌋|i = 1,2,...,2n′}, where ai ∈ A. Based on M′ and B, we obtain elements of M″: \(m_{i,j}^{\prime \prime }=m_{i,j}^{\prime } \oplus b_{k} + b_{n^{\prime }+k}\), \(r_{i}={\sum }_{j = 1}^{h-1}m_{i,j}^{\prime \prime }\), \(c_{j}=\oplus _{i = 1}^{p}m_{i,j}^{\prime \prime }\), where “⊕” represents bitwise exclusive OR operation, “ + ” denotes addition modulo 28, and k = (h − 1) × (j − 1) + j. Then, we extend the original message M into a (p + 1) × h matrix M″ as shown:
M″ = \(\left [\begin {array}{lllll} m_{1,1}^{\prime \prime } & m_{1,2}^{\prime \prime } & {\cdots } & m_{1,h-1}^{\prime \prime } & r_{1} \\ m_{2,1}^{\prime \prime } & m_{2,2}^{\prime \prime } & {\cdots } & m_{2,h-1}^{\prime \prime } & r_{2} \\ {\vdots } & {\vdots } & {\ddots } & {\vdots } & {\vdots } \\ m_{p,1}^{\prime \prime } & m_{p,2}^{\prime \prime } & {\cdots } & m_{p,h-1}^{\prime \prime } & r_{p} \\ c_{1} & c_{2} & {\cdots } & c_{h-1} & c_{h} \end {array}\right ]\)
Step 3: Message Processing
Each message block \(M_{i}^{\prime \prime }~(i = 1,2,...,p + 1)\) in matrix M″ will be processed by CCML in parallel and the corresponding intermediate hash value Hi will be generated. We select \(M_{i}^{\prime \prime }\) as an instance to demonstrate the process, which is illustrated in Fig. 2. In time domain, based on the parameter sequence A, we obtain sequence Ci = {ci, j = a(i− 1)×2h + j|j = 1,2,…,2h}, which are used as the lattice boundary values for step “i” (green dots in Fig. 2) in CCML. In space domain, the elements \(M_{i}^{\prime \prime }=\{m_{i,1}^{\prime \prime }, m_{i,2}^{\prime \prime },..., m_{i,h}^{\prime \prime }\}\) in matrix M″ are used as initial values for step “n” (red dots) in CCML, respectively. We iterate CCML2h times with secret keys {ε, q0} and variable parameter qi+ 1 = qi + bi, j × 10− 3 to generate h-bit binaries (yellow dots), that is, one bit (a yellow dot) generation is associated to one element \(m_{i,j}^{\prime \prime }\) (a red dot) in current message block \(M_{i}^{\prime \prime }\) by CCML iterations. For h elements in \(M_{i}^{\prime \prime }\), h-bit binaries are generated, which are cascaded sequentially as intermediate hash value Hi (Fig. 3).
Step 4: Hash value generation
After all message blocks in M″ are processed in parallel, we obtain the final hash value H = H0&H1&…&Hp&Hp+ 1, where “&” is defined as (4):
4 Performance evaluation
In this section, we implement the cross coupled map lattices (CCML) based cryptographic and parallel hash function for performance evaluation by utilizing secret keys x0 = 0.676767, p0 = 0.232323, ε = 0.333333 and q0 = 0.375281. We evaluate the parallel hash algorithm in terms of uniform distribution of hash values, sensitivity of the hash value to subtle changes of the original message, secret keys and images, confusion and diffusion properties, collision tests, efficiency of computation speed, and comparison with other algorithms. An arbitrary of length of message M for evaluating the performance of the proposed hash algorithm is randomly chosen as:
Southwest University (SWU) is a key comprehensive university, under the direct administration of the Ministry of Education. It was newly established in July 2005 through the incorporation of former Southwest China Normal University and Southwest Agricultural University upon the approval of the Ministry of Education. SWU is situated nearby the beautiful Jialing River, and is located at the foot of Jinyun Mountain, a state level scenic spot, in Beibei District, Chongqing Municipality.
4.1 Uniform distribution of hash values
Uniform distribution of hash values indicates that hash values are uniformly randomly distributed into “buckets”, which is directly related to the security of hash functions. The uniform distribution of a hash value is one of the significant security features of hash functions. We evaluate the uniform distribution of hash values by implementing the proposed hash algorithm with a randomly chosen message, and then plot the distribution of the message and the corresponding hash value. As demonstrated in Fig. 4a, the original message spreads in a range of [32, 126], which fits the range of ASCII code values of printable characters (such as message) in ASCII code chart. As illustrated in Fig. 4b, the hexadecimal hash value spreads around randomly and uniformly, which hides the statistical information of the message. In contrast, we evaluate the proposed algorithm on an extreme case - “blank space” message with the same length, and then plot the distribution of the particular message and the hash value as well. As shown in Fig. 5, even under such an extreme condition, the distribution of hash value is still uniform. These distributions are well uniform enough to hide information and act as a strong security measure. Therefore, the proposed hash algorithm has a good characteristic of uniform distribution on hash values.
4.2 Hash sensitivity
The irreversibility property indicates that it is computationally infeasible to find any input message for a given hash value, which entails that a hash algorithm should have excellent message and key sensitivity. That is, a good hash algorithm should be sensitive to tiny modifications in messages, secret keys, as well as images. According to Hamming distance, any slight modifications on messages, secret keys or images will lead to a 50% difference in the hash value. We evaluate the hash sensitivity of the proposed hash algorithm to the original message and secret keys under ten different conditions (Conditions 1 to 10) and to a grey-scale Lena image with 256 × 256 image size in Fig. 6 under three different conditions (Conditions 11 to 13):
-
Condition 1:
The original randomly chosen message;
-
Condition 2:
Change the first character “S” in the original message into “T”;
-
Condition 3:
Change the word “direct” in the original message into “directly”;
-
Condition 4:
Swap “Southwest China Normal University” and “Southwest Agricultural University” in the original message;
-
Condition 5:
Change the full stop “.” at the end of the original message into comma “,”;
-
Condition 6:
Add a blank space to the end of the original message;
-
Condition 7:
Change the initial value x0 = 0.676767 to x0 = 0.676767000001;
-
Condition 8:
Change the control parameter p0 = 0.232323 to p0 = 0.232323000001;
-
Condition 9:
Change the coupling coefficient ε = 0.333333 to ε = 0.333333000001;
-
Condition 10:
Change the parameter q0 = 0.375281 to q0 = 0.375281000001;
-
Condition 11:
The original grey-scale Lena image with 256 × 256 image size (Fig. 6);
-
Condition 12:
Add 1 to the gray value of the pixel located at the upper left corner;
-
Condition 13:
Subtract 1 to the gray value of the pixel located at the upper right corner.
We illustrate the corresponding hash values in binary format associated to the thirteen conditions in Fig. 7, and tabulate the hash values in hexadecimal format as well as Hamming distances from Condition 1 for Conditions 2 to 10 and from Condition 11 for Conditions 12 and 13 in Table 2. As depicted in Fig. 7, the hash sensitivity property of the proposed algorithm to text is good, since any subtle change of the message (Conditions 2 to 6) causes large difference in hash values, and any tiny modification of the secret keys (Conditions 7 to 10) leads to huge difference. It also shows a good sensitivity property to images that 1 bit of the gray value change causes much difference in hash values (Conditions 12 and 13). As illustrated in Table 2, Hamming distances from Condition 1 have an average value of 64.6, which is significantly close to the ideal value of 64 (half of hash value size), and from Condition 11 have an average value of 66. These prove that the proposed hash algorithm satisfies the irreversibility property of a cryptographic hash function. Therefore, our hash algorithm shows high hash sensitivity to messages, secret keys, and images.
4.3 Confusion and diffusion
In cryptography, confusion and diffusion are two properties of the operation of a secure cipher, which are identified by Claude Shannon [48]. Confusion refers to making the relationship between the key and the ciphertext as complex and as involved as possible, and diffusion refers to the property that redundancy in the statistics of the plaintext is “dissipated” in the statistics of the ciphertext. In our evaluation, confusion refers to as the relationship between a message and its corresponding hash value must be complex and unpredictable, while diffusion refers to as the hash value is highly dependent on the message.
We conduct the diffusion and confusion experiment for the proposed hash algorithm: a message is randomly selected and the hash value for the message is generated; then one bit of the message is modified randomly, and a new hash value is generated. The two hash values are compared with each other, and the number of different bits at the same position in the two hash values is counted. We introduce six statistical metrics for evaluation of confusion and diffusion: minimum changed bit number Bmin = min{B1, B2,...,BN}, maximum changed bit number Bmax = max{B1, B2,...,BN}, mean changed bit number \(\bar {B}=\frac {1}{N}{\sum }_{i = 1}^{N}B_{i}\), mean changed probability \(P=\frac {\bar {B}}{h}\times 100\%\), standard variance of the changed bit number \({\Delta } B=\sqrt {\frac {1}{N-1}{\sum }_{i = 1}^{N}(B_{i}-\bar {B})^{2}}\), and standard variance \({\Delta } P=\sqrt {\frac {1}{N-1}{\sum }_{i = 1}^{N}(\frac {B_{i}}{h-P})^{2}}\times 100\%\), where Bi denotes the changed bit number, N indicates the test time of the experiment, and h represents the length of hash value.
The experiment is performed N times on the proposed hash algorithm, where N = 256,512,1024,2048, and 10000, respectively. The corresponding results of Bmin, Bmax, \(\bar {B}\), P, ΔB, and ΔP are tabulated in Table 3. The corresponding distribution of changed bit number \(\bar {B}\), is illustrated in Fig. 8.
As illustrated in Table 3, the proposed hash algorithm has a mean changed bit number \(\bar {B} = 64.0022\) and mean changed probability P = 50.0017% that are extremely close to the ideal values of 64 bits and 50%, respectively. The values of ΔB and ΔP are very small, which shows a strong capability for confusion and diffusion. As depicted in Fig. 8, the plot of Bi shows that its value is evenly distributed (Fig. 8a), and the histogram of Bi has a normal distribution centering on the ideal value of 64 (Fig. 8b). The statistical confusion and diffusion results ensure that the proposed algorithm exhibits the competency to mitigate any kind of linear or differential attacks related to hash values. Therefore, the proposed hash function has a near-ideal confusion and diffusion strength.
4.4 Collision resistance
Collision refers to as two distinct messages produce the same hash value, while collision attack indicates that it tries to find two arbitrary messages that collide. Collision resistance is an important property of a secure hash function, which refers to as it is hard to find two different message with the same hash value.
In the proposed hash algorithm, the state of the chaotic CCML is related to message blocks (space domain input) and the sequence of PWLCM (time domain input). The sequence of PWLCM is affected by the control parameter and initial conditions, which will be assigned values if the algorithm is designed. Therefore, the state of CCML is directly related to each message bit in message blocks. These ensure that each bit of the final hash value is related to all the bits of the message. That is, even 1-bit change in the message would lead to a completely different in hash values.
We conduct collision resistance experiment for the proposed hash algorithm: a hash value for a randomly chosen message is generated and stored in ASCII code format; then a new hash value for the message with a bit randomly modified is generated and stored in ASCII code format as well. The two hash values are compared with each other, and the number of the same ASCII character at the same location (the number of hits) is counted. The collision resistance experiment is conducted N = 2048 times, and the distribution of the number of hits is plotted in Fig. 9. As described in Fig. 9 and Table 4, 2 tests hit twice, 117 tests hit once, while in 1930 tests, no hit occurs. The maximum number of equal characters is only 2, therefore, the collision on our hash algorithm is very low.
Moreover, we calculate the absolute difference of the two hash values by using equation of \(d={\sum }_{i = 1}^{N}|t(e_{i})-t(e_{i}^{\prime })|\), where ei denote the i th ASCII character of the original hash value while \(e_{i}^{\prime }\) represents the i th ASCII character of the new hash value, respectively, and the function t() converts the the entries into the equivalent decimal values. We perform the collision test N = 10000 times, and the corresponding maximum, minimum, mean and mean/character values of the absolute difference d for two hash values are 2316, 553, 1366.3105, and 85.3944, respectively. For our algorithm, the mean/character of absolute difference d of two hash values is 85.3944, which is very close to the theoretical mean/character value 85.3333 computed in [45, 67]. Therefore, our mean/character value is a near theoretical value, and the analysis on collision shows that our hash algorithm has strong collision resistance.
4.5 Efficiency
In order to analyze the efficiency of computation speed, we implement the proposed hash algorithm in C99 on a PC with 2.50 GHz Intel Pentium IV Dual-core, 2G Memory and Ubuntu 10.10 operation system and the test message consists of 10000 ASCII codes. The proposed parallel hash function is implemented in a distributed memory architecture, where the message is split and saved to the local memory for each message block. In theory, parallel computation optimizes the use of all processors in a multicore computer. In implementation, it subjects to the number of cores on a computer. Therefore, the degree of parallelism for the proposed algorithm is 2 message blocks, each with a size of 128 bits. The overhead of message separation is quite low, which can be ignored. Furthermore, we implement the widely used MD5 [45] and SHA-1 [42] algorithms in C99 with optimized codes on the same conditions to our algorithm as well. Finally, we present the average computation speed comparison based on the same platform as ours in Table 5. As illustrated in Table 5, the average computation speed of our algorithm (132.0 Mbps) is higher than Li’s algorithm (131.1 Mbps) [31], SHA-1 (114.5 Mbps) [45], Guo’s algorithm (131.3 Mbps) [18], while it is very close to Li’s algorithm [33] (132.1 Mbps) and MD5 (132.1 Mbps) [42].
4.6 Comparison with other hash algorithms
We perform a comparison between the proposed hash function and some significant chaos-based hash functions as well as MD5, which is based on statistical performance and collision resistance. Tables 6 and 7 describe the comparison of statistical performance between the proposed algorithm and selected existing algorithms. Note that the results reported in Table 6 are based on N = 2048 random tests and 128-bit hash value, while the results of Table 7 focus on N = 10000 random tests and 128-bit hash value. Based on the results, our algorithm shows better statistical performance.
In addition, Table 8 presents the comparison of the number of ASCII characters with the same value at the same location and absolute difference in 128-bit hash values based on N = 2048 random tests between our algorithm and selected existing algorithms. Based on the results, the proposed algorithm shows better collision resistance.
5 Conclusions
In this paper, we design, implement and evaluate a cryptographic and parallel chaotic hash function based on the two-dimensional cross coupled map lattices for multimedia communication security. This work includes three main contributions: 1) presents a cryptographic and parallel hash algorithm based on the cross coupled map lattices; 2) utilizes message blocks as the space domain input and parameter sequence from the piecewise linear chaotic map as the time domain input for the CCML to generate intermediate hash values; 3) evaluates the performance of the proposed hash algorithm, and the cryptanalytic results demonstrate that the hash algorithm has good statistical properties, strong collision resistance, and better statistical performance compared with existing chaotic hash functions. Comparing with other related works, it is the first time to exploit the two-dimensional cross coupled map lattices with space domain and time domain inputs to design a cryptographic hash function and the proposed hash function can be performed in parallel. We believe the proposed hash function is suitable for multimedia communication security.
References
Ahmad M, Khurana S, Singh S, AlSharari HD (2017) A simple secure hash function scheme using multiple chaotic maps. 3D research 8(2), article 13
Akhavan A, Samsudin A, Akhshani A (2009) Hash function based on piecewise nonlinear chaotic map. Chaos, Soliton and Fractals 42:1046–1053
Akhavan A, Samsudin A, Akhshani A (2013) A novel parallel hash function based on 3D chaotic map. EURASIP Journal on Advances in Signal Processing 1:1–12
Amin M, Faragallah OS, El-Latif AAA (2009) Chaos based hash function (CBHF) for cryptographic applications. Chaos, Soliton and Fractals 42(2):767–772
Bakhtiari S, Safavi-Naini R, Pieprzyk J (1996) Keyed hash function. Proceedings of the Cryptography: Policy and Algorithms, Lecture Notes in Computer Science 1029:201–214
Deng S, Xiao D, Li Y, Peng W (2009) A novel combined cryptographic and hash algorithm based on chaotic control character. Commun Nonlinear Sci Numer Simul 14(11):3889–3900
Deng S, Li Y, Xiao D (2010) Analysis and improvement of a chaos-based hash function construction. Commun Nonlinear Sci Numer Simul 15(5):1338–1347
Deng S, Zhan Y, Xiao D, Li Y (2011) Analysis and improvement of a hash-based image encryption algorithm. Commun Nonlinear Sci Numer Simul 16 (8):3269–3278
Elhoseny M, El-Minir HK, Riad AM, Yuan X (2016) A secure data routing schema for WSN using elliptic curve cryptography and homomorphic encryption. Journal of King Saud University - Computer and Information Sciences 28(3):262–275
Elhoseny M, Yuan X, El-Minir HK, Riad AM (2016) An energy efficient encryption method for secure dynamic WSN. Security and Communication Networks 9(13):2024–2031
Elhoseny M, Farouk A, Zhou N, Wang M-M, Abdalla S, Batle J (2017) Dynamic multi-hop clustering in a wireless sensor network: performance improvement. Wirel Pers Commun 95(4):3733–3753
Elhoseny M, Shehab A, Yuan X (2017) Optimizing robot path in dynamic environments using genetic algorithm and Bezier curve. J Intell Fuzzy Syst 33 (4):2305–2316
Elhoseny M, Tharwat A, Farouk A, Hassanien AE (2017) K-coverage model based on genetic algorithm to extend WSN lifetime. IEEE Sensors Letters 1(4):1–4
Elhoseny M, Tharwat A, Hassanien AE (2018) Bezier curve based path planning in a dynamic field using modified genetic algorithm. Journal of Computational Science 25:339–350
Elhoseny M, Tharwat A, Yuan X, Hassanien A (2018) Optimizing K-coverage of mobile WSNs. Expert Syst Appl 92:142–153
Elsayed W, Elhoseny M, Sabbeh S, Riad A (2018) Self-maintenance model for wireless sensor networks. Comput Electr Eng 70:799–812
FarouK A, Batle J, Elhoseny M, Naseri M, Lone M, Fedorov A, Alkhambashi A, Ahmedand SH, Abdel-Aty M (2018) Robust general N user authentication scheme in a centralized quantum communication network via generalized GHZ states. Front Phys 13(2):130306
Guo XF, Zhang JS (2006) Keyed one-way hash function construction based on the chaotic dynamic S-Box. Acta Phys Sin 55:4442–4449
Guo W, Wang X, He D, Cao Y (2009) Cryptanalysis on a parallel keyed hash function based on chaotic maps. Phys Lett A 373(36):3201–3206
Hong D, Kim D-C, Kwon D, Kim J (2016) Improved preimage attacks on hash modes of 8-round AES-256. Multimed Tools Appl 75(22):14525–14539
Jiteurtragool N, Ketthong P, Wannaboon C, San-Um W (2013) A topologically simple keyed hash function based on circular chaotic sinusoidal map network. In: International conference on advanced communication technology, pp 1089–1094
Kanso A, Ghebleh M (2013) A fast and efficient chaos-based keyed hash function. Commun Nonlinear Sci Numer Simul 18:109–123
Kanso A, Ghebleh M (2015) A structure-based chaotic hashing scheme. Nonlinear Dyn 81(1):27–40
Kim B-K, Oh S-J, Jang S-B, Ko Y-W (2017) File similarity evaluation scheme for multimedia data using partial hash information. Multimed Tools Appl 76(19):19649–19663
Kim H, Kim D-W, Yi O, Kim J (2018) Cryptanalysis of hash functions based on blockciphers suitable for IoT servicle platform security. Mutimedia Tools and Applications. https://doi.org/10.1007/s11042-018-5630-4
Kwok HS, Tang WKS (2005) A chaos-based cryptographic hash function for message authentication. Int J Bifurcation Chaos 15(12):4043–4050
Li Y (2016) Collision analysis and improvement of a hash function based on chaotic tent map. Optik 127(10):4484–4489
Li Y, Li X (2016) Chaotic hash function based on circular shifts with variable parameters. Chaos, Soliton and Fractals 91:639–648
Li Y, Deng S, Xiao D (2011) A novel Hash algorithm construction based on chaotic neural network. Neural Comput & Applic 20(1):133–141
Li Y, Xiao D, Deng S, Han Q, Zhou G (2011) Parallel hash function construction based on chaotic maps with changeable parameters. Neural Comput & Applic 20(8):1305–1312
Li Y, Xiao D, Deng S (2012) Keyed hash function based on a dynamic lookup table of functions. Inform Sci 214:56–75
Li Y, Xiao D, Deng S (2012) Secure hash function based on chaotic tent map with changeable parameter. High Technol Lett 18(1):7–12
Li Y, Ge G, Xia D (2016) Chaotic hash function based on the dynamic S-Box with variable parameters. Nonlinear Dyn 84(4):2387–2402
Liang J, Lai X (2005) Improved collision attack on hash function MD5, Technical report
Lin Z, Yu S, Lu J (2017) A novel approach for constructing one-way hash function based on a message block controlled 8D hyperchaotic map. Int J Bifurcation Chaos 27(7):1750106
Lin Z, Guyeux C, Yu S, Wang Q, Cai S (2017) On the use of chaotic iterations to design keyed hash function. Clust Comput. https://doi.org/10.1007/s10586-017-1062-6
Liu J, Wang X, Yang K, Zhao C (2012) A fast new cryptographic hash function based on integer tent mapping system. J Comput 7(7):1671–1680
Liu H, Kadir A, Sun X, Li Y (2018) Chaos based adaptive double-image encryption scheme using hash function and S-boxes. Multimed Tools Appl 77:1391–1407
Luo Y, Du M (2012) One-way hash function construction based on the spatiotemporal chaotic system. Chinese Physics B 21(6):060503
Mendel F, Nad T, Schlaffer M (2013) Improving local collisions: new attacks on reduced SHA-256. Advances in Cryptology-EUROCRYPT, lecture notes in computer science 7881:262–278
Mihcak K, Venkatesan R, Liu T (2005) Watermarking via optimization algorithms for quantizing randomized semi-global image statistics. Multimedia Systems 11(2):185—200
NIST (2001) Secure hash standard. http://csrc.nist.gov/CryptoToolkit/tkhash.html
Nouri M, Khezeli A, Ramezani A, Ebrahimi A (2012) A dynamic chaotic hash function based upon circle chord methods. In: 6th international symposium on telecommunications, pp 1044–1049
Ren H, Wang Y, Xie Q, Yang H (2009) A novel method for one-way hash function construction based on spatiotemporal chaos. Chaos, Soliton and Fractals 42 (4):2014–022
Rivest R (1992) The MD5 message-digest algorithm. IETF network working group
Rompel J (1990) One-way functions are necessary and sufficient for secure signatures. Proceedings of the 22th annual ACM symposium on theory of computing: 387–394
Schneider M, Chang SF (1996) A robust content based digital signature for image authentication. In: Proceedings IEEE conf image processing, vol 3, pp 227–230
Shannon CE (1949) Communication theory of secrecy systems. Bell Syst Tech J 28(4):656–715
Stevens M (2013) New collision attacks on SHA-1 based on optimal joint local-collision analysis. Advances in Cryptology-EUROCRYPT 2013, Lecture Notes in Computer Science 7881:245–261
Tang KW, Tang WK, Man KF (2007) A chaos-based pseudo-random number generator and its application in voice communications. Int J Bifurcation Chaos 17 (3):923–933
Teh JS, Samsudin A, Akhavan A (2015) Parallel chaotic hash function based on the shuffle-exchange network. Nonlinear Dyn 81(3):1067–1079
Tharwat A, Elhoseny M, Hassanien A, Gabel T, Kumar A (2018) Intelligent Beziér curve-based path planning model using chaotic particle swarm optimization algorithm. Clust Comput. https://doi.org/10.1007/s10586-018-2360-3
Todorova M, Stoyanov B, Szczypiorski K, Kordov K (2018) SHAH: hash function based on irregularly decimated chaotic map. arXiv:1808.01956
Tsudik G (1992) Message authentication with one-way hash functions. ACM SIGCOMM Computer Communication Review 22:29–38
Wang S, Shan P (2011) Security analysis of a one-way hash function based on spatiotemporal chaos. Chin Phys B 20(9):090504–090507
Wang X, Feng D, Lai X, Yu H (2004) Collisions for hash functions MD4, MD5, HAVAL-128 and RIPEMD. Cryptology ePrint archive, report 2004/199
Wang X, Yin Y, Yu H (2005) Finding collisions in the full SHA-1. Advances in Cryptology-CRYPTO 2005, Lecture Notes in Computer Science 3621:17–6
Wang Y, Yang D, Du M, Yang H (2007) One-way hash function construction based on iterating a chaotic map. In: 2007 international conference on computational intelligence and security workshops, pp 791–794
Wang Y, Liao X, Xiao D, Wong K (2008) One-way hash function construction based on 2D coupled map lattices. Inform Sci 178(5):1391–1406
Wang Y, Wong KW, Xiao D (2011) Parallel hash function construction based on coupled map lattices. Commun Nonlinear Sci Numer Simul 16:2810–2821
Wang S, Li D, Zhou H (2012) Collision analysis of a chaos-based hash function with both modification detection and localization capability. Commun Nonlinear Sci Numer Simul 17(2):780–784
Wang Q, Yu S, Li C, Lu J, Fang X, Guyeux C, Bahi JM (2016) Theoretical design and FPGA-based implementation of higher-dimensional digital chaotic systems. IEEE Trans Circuits Syst Regul Pap 63(3):401–412
Wong KW (2003) A combined chaotic cryptographic and hashing scheme. Phys Lett A 307:292–298
Xiao D, Liao X, Deng S (2008) Parallel keyed hash function construction based on chaotic maps. Phys Lett A 372:4682–4688
Xiao D, Liao X, Wang Y (2009) Improving the security of a parallel keyed hash function based on chaotic maps. Phys Lett A 373:4346–4353
Xiao D, Liao X, Wang Y (2009) Parallel keyed hash function construction based on chaotic neural network. Neurocomputing 72:2288–2296
Xiao D, Peng W, Liao X, Xiang T (2010) Collision analysis of one kind of chaos-based hash function. Phys Lett A 374(10):1228–1231
Xiao D, Shih FY, Liao XF (2010) A chaos-based hash function with both modification detection and localization capabilities. Commun Nonlinear Sci Numer Simul 15:2254–2261
Xie EY, Li C, Yu S, Lu J (2017) On the cryptanalysis of Fridrich’s chaotic image encryption scheme. Signal Process 132:150–154
Yi X (2005) Hash function based on chaotic tent maps. IEEE Trans Circuits Syst Express Briefs 52:354–357
Yuan X, Elhoseny M, El-Minir HK, Riad AM (2017) A genetic algorithm-based, dynamic clustering method towards improved WSN longevity. J Netw Syst Manag 25(1):21–46
Zhang H, Wang X, Li Z, Liu D (2005) One way hash function construction based on spatiotemporal chaos. Acta Phys Sin 54:4006–4011
Zhang J, Wang X, Zhang W (2010) Chaotic keyed hash function based on feedforward-eedback nonlinear digital filter. Phys Lett A 362:439–448
Zhang P, Zhang X, Yu J (2017) A parallel hash function with variable initial values. Wirel Pers Commun 96(2):2289–2303
Acknowledgements
This work is supported in part by the National Natural Science Foundation of China (Grant nos. 61672119, 61528206 and 61402380), the Natural Science Foundation of CQ CSTC (Grant nos. cstc2015jcyjA40044, and cstc2014jcyjA40030), the Fundamental Research Funds for the Central Universities (Grant no. XDJK2015B030), U.S. National Science Foundation (Grant nos. CNS-1253506 (CAREER) and CNS-1618300), and the Opening Project of State Key Laboratory for Novel Software Technology (Grant No. KFKT2016B13).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Li, Y., Ge, G. Cryptographic and parallel hash function based on cross coupled map lattices suitable for multimedia communication security. Multimed Tools Appl 78, 17973–17994 (2019). https://doi.org/10.1007/s11042-018-7122-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-018-7122-y