# A novel parallel hash function based on 3D chaotic map

- Amir Akhavan
^{1}Email author, - Azman Samsudin
^{1}and - Afshin Akhshani
^{2}

**2013**:126

https://doi.org/10.1186/1687-6180-2013-126

© Akhavan et al.; licensee Springer. 2013

**Received: **26 July 2012

**Accepted: **6 June 2013

**Published: **3 July 2013

## Abstract

As the core of cryptography, hash function is one of the basic techniques for information security. During the last few years, considerable effort has been devoted to research on chaos-based hash functions. Nevertheless, the corresponding analysis of them lag far behind. In this paper, a new efficient scheme for parallel hash function based on high-dimensional chaotic map is proposed. In the proposed scheme, the confusion as well as the diffusion effect is enhanced significantly by utilizing two nonlinear coupling parameters. Theoretical and experimental results indicate that the proposed scheme can satisfy all performance requirements of hash function such as desired statistical properties and strong collision resistance. At the same time, the proposed scheme can keep the parallel merit and message sensitivity with high potential to be adopted for network security.

## Keywords

## 1 Introduction

As a ubiquitous phenomenon in nature, chaos is a kind of deterministic random-like process generated by nonlinear dynamical systems. Chaotic dynamical systems possess the following main characteristics: sensitivity to tiny changes in initial conditions, random-like behavior, ergodicity, unstable periodic orbits, desired diffusion and confusion properties, and one-way property. Due to these properties, chaotic systems have become a very good candidate for use in the field of cryptography. The existing related research progress includes chaos-based symmetric encryptions [1–7], security protocols [8, 9], asymmetric encryptions [10, 11], and hash functions [12–18].

Hash function is one of the major tools in cryptography, which is usually used for integrity protection in conjunction with message authentication and digital signature schemes. There are many famous hash functions such as MD4, MD5, and SHA-1 [19–21] which are realized by complicated methods based on logical operations or multi-round iteration of some available ciphers [22]. Recently, some of the weaknesses of the famous and widely used hash functions MD5 and SHA-1 have been discovered. Apparently, it is very easy to carry out collision attack on MD5 [23–25], and at the same time, the collision attack on SHA-1 is close to practical [26]. Thus, the research on the design of secure and efficient hash functions attracts more and more attention.

In recent years, there has been a considerable advance in the construction of one-way hash functions based on chaotic maps, including 1D piecewise linear/nonlinear chaotic map [27, 28], 2D nonlinear piecewise linear chaotic map [29], high-dimensional chaotic map [30], chaotic neural networks [31], hyper chaos [32], and chaos S-Box [33], which indicates extensive effort in constructing hash functions based on different new methods although some of these new algorithms have been proven to be insecure [22, 34–37].

Recently, high-dimensional dynamical systems have been an attractive research field for many scientific areas particularly in computer sciences and have received considerable attention in secure communication field. This kind of chaotic map has better mixing nature and higher complexity. Moreover, it is more difficult or even impossible to predict the time series generated by the system. These properties granted them to be a good candidate for secure communications. To the best of our knowledge, only a few chaos-based hash functions with high-dimensional dynamical systems have been reported [30, 32, 38]. For instance, an algorithm for image encryption based on a high-dimensional chaotic map with high efficiency is proposed in [4]. The high-dimensional chaotic maps [4] possess remarkable dynamical properties such as invariant measure, ergodicity, the possibility of KS-entropy calculation, and bifurcation without any period doubling [4, 39, 40].

Hence, in this paper, a new scheme for constructing parallel hash function based on high-dimensional trigonometric map is suggested, and efficiency of the scheme is investigated in detail. The proposed algorithm fulfills the performance requirements of hash functions. Theoretical analysis and experimental results indicate that the proposed scheme demonstrated several interesting features, such as good statistical properties, strong collision resistance, and high flexibility. At the same time, it can keep the parallel structure and message sensitivity as required by practical hash functions.

## 2 A one-way hash function based on high dimensional chaotic map

### 2.1 High dimensional chaotic map

*∞*) is presented in [4, 39, 40]. One-parameter families of chaotic maps of the interval [0, 1] with an invariant measure can be defined as the ratio of polynomials of degree

*N*

*α*is the control parameter.

*F*substitutes with the Chebyshev polynomial of the first kind

*T*

_{ N }(

*x*), and

*N*is the degree of Chebyshev polynomials. Hence,

*I*= [0,1] into [0,

*∞*) [39, 42]. Using the hierarchy of families of one-parameter chaotic maps, we can generate new hierarchy of tripled maps with an invariant measure. In this paper, one of the hierarchies of the chaotic map in the interval [0,

*∞*) is adapted for constructing chaos-based hash function. Hence, this chaotic map can be defined as [4]

where *α*
_{1}, *α*
_{2}(*x*(*n*)) and *α*
_{3}(*x*(*n*),*y*(*n*)) are control parameters of the chaotic map, and *N*
_{1}, *N*
_{2}, and *N*
_{3} are degrees of Chebyshev polynomials. In this paper, Equation 1 as a high-dimensional chaotic map is used in the process of generating a hash function.

### 2.2 Proposed algorithm

In this section, the framework of the proposed algorithm is described.

*Step 1.* First, the message *M*:{0,1}^{
a
} is input and transformed into message blocks *M*
_{
n×1}.

*Step 2.* Keys of the algorithm (initial conditions, control parameters, and coupling parameters) are input.

*Step 3.* Creation and initiation of the threads T1 and T2. In this step, the two separate threads are generated, and initial conditions and control parameters are initiated (the threads are demonstrated in Figure 1 using two parallel vertical rectangles).

*Step 4.* In order to remove the transient effect and also initiate the initial conditions of the threads, Equation 1 is iterated 1,500 times, and the initial conditions for the threads are set (*x* 0′=*x*
_{1,000}, *y* 0′ = *y*
_{1,000}, and *z* 0′ = *z*
_{1,000} for thread one (T1) and *x* 0″ = *x*
_{1,500}, *y* 0″ = *y*
_{1,500}, and *z* 0″ = *z*
_{1,500} for thread two (T2)).

*Step 5.* Each thread processes one chunk of the message using *y*
_{
i
} and *z*
_{
i
} of the map in Equation 1, and in each round, the control parameters are modified using the value of the processed chunk of the message and new initial conditions *y*
_{
i
} and *z*
_{
i
}. This step is repeated until the message is exhausted and the final *z*
_{
n
} in each of the threads is used to generate matrices *D*
^{′} and *D*
^{″} (see Figure 1).

*Step 6.* The matrices *D*
^{′} and *D*
^{″} are generated using the final values of *z*
_{
n
} in step 5 (see Figure 1). In this step, the chaotic map, Equation 1, is iterated *L*/8 times (*L* is the final size of the hash value which by default is set to 256). Finally, the matrices are combined using the function mentioned below.

*Function Combine*(*D*
^{′}[1..*k*],*D*
^{″}[1..*k*])

*For* *i* = 0 *to* *k*

*If D*
^{′}[*i*] *mod* 2 = 0

*D*[*i*] = *D*
^{′}[*i*] *X* *O* *R* *D*
^{″}[*i*];

*Else*

*D*[*i*] = *D*
^{′}[*i*] *m* *o* *d* 2^{8}
*X* *O* *R* *D*
^{″}[*i*];

*End if*

*end for*

*Return D*;

*Return Result*;

*End Function*

*Step 7.*The final value of the hash function is output.

Figure 1 shows a block diagram that illustrates the steps in the algorithm. In this algorithm, the values of the parameters are as follows:

Initial conditions: *x* = 3, *y* = 8, and *z* = 93

Control parameters: *α*
_{1} = 12, *α*
_{2} = 1.5, and *α*
_{3} = 3

Coupling parameters: *ϵ* = 0.2 and *ϵ*
^{′} = 0.3

*N*
_{1} = 20, *N*
_{2} = 4, and *N*
_{3} = 4

Note that all of the control parameters are selected in the chaotic region.

## 3 Performance analysis

### 3.1 Hash results of messages

We have chosen a message with the length of 1,024 characters, and all the characters are chosen equal to zero; in this way, it is easier to show the sensitivity of the hash function to the message.

Condition 1: The original message contains 1,024 null characters.

Condition 2: Change the first character to 1.

Condition 3: Change the 800th character to *Z*.

Condition 4: Add a space to the end of the message.

Condition 5: Change the hash key from key *α*
_{1} = 12 to *α*
_{1} = 12.00000000000001.

Condition 6: Change the hash key from key *x* = 3 to *x* = 3.00000000000001.

The corresponding hash values in hexadecimal format are given as follows:

Condition 1: FD97319170D87CB2F25CDCD8917ACA60

Condition 2: E0BC3C61DFC69D6D40B7491BF88427EC

Condition 3: 9EEAFAAABFFE6539A011C180CA4E70B9

Condition 4: A164446E3387324D7E267991225B6C9

Condition 5: 3E5576B020A6095859217050F59E97F

Condition 6: 761B97931E7528308A4ED14F7ACA8028

### 3.2 Statistic analysis of diffusion and confusion

In order to hide message redundancy, Shannon pointed in his masterpiece [43] that ‘It is possible to solve many kinds of ciphers by statistical analysis,’ and therefore, he suggested two methods of diffusion and confusion for the purpose of frustrating the powerful statistical analysis. For the hash value in binary format, each bit is only 1 or 0, so the ideal diffusion effect should be that any tiny changes in initial conditions lead to the 50% changing probability of each bit. A message is selected and the hash value for the message is generated; then, 1 bit of the message is changed randomly and a new hash value is generated. The two hash values are compared with each other, and the changed bits are counted and called *B*
_{
i
}. This test is performed *N* times, and the corresponding distribution of *B*
_{
i
} is shown as Figure 3a,b, where *N* = 10,000.

Minimum changed bit number *B*
_{
m
i
n
} = *m* *i* *n*({*B*
_{
i
}}1*N*);

Maximum changed bit number *B*
_{
m
a
x
} = *m* *a* *x*({*B*
_{
i
}}1*N*);

Mean changed bit number $\stackrel{\u0304}{B}=\sum _{i=1}^{N}$
*B*
_{
i
}/*N*;

Mean changed probability $P=(\stackrel{\u0304}{B}/128)\times 100\%$;

Standard variance of the changed bit number $\mathrm{\Delta B}=\sqrt{\frac{1}{N-1}{\Sigma}_{i=1}^{N}{({B}_{i}-\stackrel{\u0304}{B})}^{2}}$;

*N*= 512, 1,024, 2,048, and 10,000, respectively, the corresponding data are listed in Table 1. Based on the analysis of the data in Table 1, we can draw the conclusion: the mean changed bit number

*B*and the mean changed probability

*P*are both very close to the ideal value of 64 bits and 50%, while

*Δ*

*B*and

*Δ*

*P*are very little, which indicates that the capability for diffusion and confusion is very stable and strong.

**Static number of changed bit**
B
_{
i
}

N = 512 | N = 1,024 | N = 2,048 | N = 10,000 | Mean | |
---|---|---|---|---|---|

B ̄ | 63.8808 | 63.8339 | 63.8945 | 63.9192 | 63.88212 |

P (%) | 49.9069 | 49.8703 | 49.9176 | 49.9369 | 49.90793 |

| 6.0032 | 5.8662 | 5.7711 | 5.6467 | 5.8218 |

| 4.6900 | 4.5830 | 4.5087 | 4.4115 | 4.5483 |

| 45 | 45 | 43 | 41 | 43.5 |

| 80 | 82 | 82 | 84 | 82 |

### 3.3 Analysis of collision resistance and birthday attack resistance

Collision resistance and birthday attacks are similar in idea. Both are originated from the probability problem that two random input data are found to hash to the same value. In the proposed scheme, the state of the chaotic map is directly related to each message bit. Also, the control parameters and the initial conditions of the chaotic map are fully affected by the message bits. These operations will ensure that each bit of the final hash value is related to all the bits of the message. Therefore, even 1-bit change in the message would lead to a completely different hash code. Moreover, the initial conditions and the control parameters of the chaotic map are related to the message and the state of the map, so the keyed hash function is so much sensitive to the keys.

### 3.4 Collision test

*ω*with different values during

*N*independent experiments which is denoted by

*W*

_{ N }(

*ω*) is calculated using the following formulas:

*e*

_{ i }and

*e*′

_{ i }are the

*i*th entry of the original and the new hash value, respectively, and function t(.) converts the entries to their equivalent decimal value. In Equation 4,

*ω*= 0,1,...,

*s*. The theoretical values for Equation 4 are as follows [14]:

*W*

_{ N }(0) = 9,416,

*W*

_{ N }(1) = 572,

*W*

_{ N }(2) = 12, and

*W*

_{ N }(

*ω*) = 0 for

*ω*= 3,4,...,16. Also, the experimental values of

*W*

_{ N }(

*ω*), the proposed algorithm, are as follows:

*W*

_{ N }(0) = 9,387,

*W*

_{ N }(1) = 591,

*W*

_{ N }(2) = 22, and

*W*

_{ N }(

*ω*) = 0 for

*ω*= 3,4,...,16. A plot of the distribution of the number of ASCII characters with the same value at the same location in the hash value is given in Figure 4a,b. It seems that the proposed algorithm possesses a stronger collision resistance capability than the algorithms in [12, 14, 27, 44] and can be compared with [45, 46].

### 3.5 Theoretical value of mean of absolute difference

With the assumption that *H* is a discrete uniform distribution in the range of 0 to 255 (with 16 elements), the ideal mean value of this distribution would be equal to the $\frac{1}{2}$ maximum value of the distribution (in the maximum value condition, all elements are equal to 255): $\frac{255\times 16}{2}=2,040$. Using the ideal theoretical value of the hash digest *H*, we can calculate the ideal theoretical absolute difference of the two hash digests. With the assumption that the two hash digests *H* and *H*
^{′} are ideally uniform, the ‘Sum of Absolute Difference’ of these two digests has to be equal to $\frac{2}{3}$ of the mean value of a uniform distribution [47]. As the mean value of a uniform distribution with the characteristics of a hash digest with the size of 128 bits is equal to 2,040, therefore, the ideal mean value of the absolute difference for *H* and *H*
^{′} is equal to $\frac{2}{3}\times 2,040=1,360$. Minimum, maximum, and mean values of the absolute difference of two hash values are 547, 2,246, and 1,365.9641, respectively. It can be seen that the mean of absolute difference is 1,365.9641 and is very close to the ideal value.

### 3.6 Pseudo-collision resistance

Without loss of generality, normally in a collision attack, the attacker not only has access to the message (M) and can modify each block (*M*
_{
i
}) of the message during the hashing process, but also can change the medial hash value (*H*
_{
i - 1}). This type of collision attack is usually called pseudo-collision attack. The main goal of this attack is to use the weaknesses in the compression function so that the attacker can find a way to reconstruct a hash value for a different message [45, 46]. In the proposed algorithm, the message is processed twice (two different threads), once from the beginning to the end and once from the end to the beginning of the message, so that there would be two medial hash values at the same time for each message block, which with regard to a small change in one or both of the medial values (in here, the control parameters and initial conditions) would lead to a completely different sequence (because of the nature of the proposed high-dimensional chaotic map), so it is almost impossible to find a pattern by changing these values.

### 3.7 Resistance of forgery attacks

Most of the parallel hash function algorithms have a mixing section in their structure which usually uses the XOR operation for this propose. This operation lets the attackers use the privilege of communicative law and practice forgery attack on the hash function. Some of these algorithms are broken by forgery attack [37]. Not only does the proposed algorithm process the whole message from two sides (which leads to high complexity in mixture), but also in the final step, instead of a simple XOR operation, a conditional method is used in order to resist forgery attack in any section of the algorithm.

### 3.8 Key space analysis

In this algorithm, besides the control parameter and initial condition of the piecewise nonlinear chaotic map, the parameters of the one-dimensional chaotic map are chosen as the secret keys. From the security point of view, the key space for a cryptographic algorithm should not be less than 2^{128} in order to resist brute force attacks [48, 49]. If the precision 10^{-14} is used, the key space size for two coupling parameters, three initial conditions, and three control parameters of the chaotic map is over 2^{279}, so the key space is very large to resist all kinds of brute force attacks.

### 3.9 Analysis of speed

*Θ*(

*n*). Although the speed of the algorithms is lower than the existing traditional hash functions such as SHA-1 and MD5 [20], it is, however, acceptable for practical use; at the same time, the algorithm is so flexible since the digest size can be 128, 160, 256, or 512 bits in length. Finally, we present the average encryption speed comparison based on the specified platform with some hash algorithms [12, 13, 20, 21, 28, 29, 50, 51]. The average encryption speed of our algorithm (45 Mbps) is higher than that in [12, 13, 50, 51]. In addition, the algorithms of [20, 21, 28, 29] show higher encryption speed.

### 3.10 Uniform distribution on hash space

*N*= 10,000. The minimum, maximum, and mean of the changed bit number are 4,896, 5,124, and 5,063, respectively, for

*N*= 10,000. It can be seen that the mean of the toggled bit numbers is 5,063 and is very close to the ideal value of 5,000 (half of the test times). All toggled bit numbers of each bit location in hash space also concentrate around the ideal value. Apparently, this shows the resistance against statistical attack.

### 3.11 Randomness tests for the hash

**Results of the SP800-22 test suite for the 32-bit proposed high-dimensional map**

Test name | Test parameters | P value | Result |
---|---|---|---|

Frequency | 0.671779 | Success | |

Block-frequency ( | 0.911413 | Success | |

Runs ( | 0.739918 | Success | |

Long runs of ones | 0. 66882 | Success | |

Rank | 0.253551 | Success | |

Spectral DFT | 0.5622515 | Success | |

No overlapping templates ( | 0.739918 | Success | |

Overlapping templates ( | 0.911413 | Success | |

Universal ( | 0.602458 | Success | |

Lempel-Ziv complexity | 0.662344 | Success | |

Linear complexity | 0.407091 | Success | |

Serial |
| 0.602458 | Success |

Serial |
| 0.02624 | Success |

Approximate entropy ( | 0.299251 | Success | |

Cumulative sum forward | 0.534146 | Success | |

Cumulative sum reverse | 0.035174 | Success | |

Random excursions |
| 0.637119 | Success |

Random excursions |
| 0.834308 | Success |

Random excursions |
| 0.991468 | Success |

Random excursions |
| 0.066882 | Success |

Random excursions |
| 0.275709 | Success |

Random excursions |
| 0.213309 | Success |

Random excursions |
| 0.122325 | Success |

Random excursions |
| 0.437274 | Success |

**Results of the SP800-22 test suite for the 32-bit proposed high-dimensional map**

Random excursion variant | Test parameters | P value | Result |
---|---|---|---|

(statex) | |||

Random excursions |
| 0.964295 | Success |

Random excursions |
| 0.213309 | Success |

Random excursions |
| 0.911413 | Success |

Random excursions |
| 0.350485 | Success |

Random excursions |
| 0.637119 | Success |

Random excursions |
| 0.834308 | Success |

Random excursions |
| 0.964295 | Success |

Random excursions |
| 0.637119 | Success |

Random excursions |
| 0.999438 | Success |

Random excursions |
| 0.834308 | Success |

Random excursions |
| 0.534146 | Success |

Random excursions |
| 0.834308 | Success |

Random excursions |
| 0.739918 | Success |

Random excursions |
| 0.834308 | Success |

Random excursions |
| 0.964295 | Success |

Random excursions |
| 0.275709 | Success |

Random excursions |
| 0.122325 | Success |

Random excursions |
| 0.066882 | Success |

**DIEHARD test suite for the 32-bit proposed high-dimensional map**

Test name | Average value | Result |
---|---|---|

Birthday spacing | 0.800832 | Success |

Overlapping permutation | 0.693145 | Success |

Binary rank 31 ×31 | 0.974342 | Success |

Binary rank 32 ×32 | 0.770208 | Success |

Binary rank 6 ×8 | 0.264802 | Success |

Bitstream | 0.45412 | Success |

OPSO | 0.6788 | Success |

OQSO | 0.3555 | Success |

DNA | 0.5722 | Success |

Count the ones 01 | 0.104101 | Success |

Count the ones 02 | 0.651653 | Success |

Parking lot | 0.926198 | Success |

Minimum distance | 0.748646 | Success |

3DS spheres | 0.137205 | Success |

Squeeze | 0.019340 | Success |

Overlapping sum | 0.964091 | Success |

Runs | 0.645063 | Success |

Craps | 0.480936 | Success |

**Max grade of ENT test suite**

Test name | Average value | Result |
---|---|---|

Entropy | 7.999994 | Success |

Arithmetic mean | 127.5165 | Success |

Monte Carlo | 3.140157946 | Success |

Chi square | 55.73 | Success |

Serial correlation coefficient | 0.000277 | Success |

### 3.12 Resistance to birthday attack

The birthday attack is one of the common classic attacks on cryptographic hash functions, which is independent of the algorithm, and can be applied on any algorithm. The main goal of this attack is to find two messages with identical hash values with less than 2^{
n/2} trials (*n* is the size of hash value) [46, 51, 55]. In fact, the algorithm is flexible so that the length of the hash value can be tuned. If the hash value size is set to 128, the difficulty of the attack is 2^{64} which is huge enough to resist brute force attack. Also in the proposed algorithm, in order to analyze the security and resistance against such an attack, several tests including the random number batteries and collision tests are applied. It can be seen from the results in Table 5 that the entropy of the random numbers generated by the hash function is very close to the ideal value (7.999994 ≈ 8) and that the serial correlation coefficient in the same table is very close to zero, which demonstrates the collision resistance nature of the algorithm. The proposed algorithm, which is visually discussed using the block diagram (Figure 1), is very complex, and the initial conditions and control parameters are modified in each round. According to [56], ‘if an appropriate padding scheme is used and the compression function is collision-resistant, then the hash function will also be collision resistant’. Therefore, the results of the tests, size of the hash value for the presented algorithm, and collision resistance of the proposed algorithm suggest that the effectiveness of the birthday attack is almost impossible and that the algorithm is resistant against this type of attack.

### 3.13 Flexibility

In this paper, an algorithm based on high-dimensional chaotic map is proposed in order to solve the problems such as the size of hash functions, padding of the message, resistance against differential attacks, and capability of efficiently working on multi-core CPUs using parallel processing. Although the algorithm is designed as an unkeyed hash function, the control parameters and the initial conditions of the algorithm can be treated as the secrete key for a keyed hash function. In comparison to the conventional hash algorithm such as MD5, MAC-DES, and HMAC-MD5 with fixed length, the proposed algorithm is advantageous in terms of adaptation to 160, 256, or 512 bits, with a small change in the steps, and since the algorithm is designed in such a way that it can work in parallel, therefore in longer digest speed, it would not be affected so much. Furthermore, in the proposed algorithm, the chaotic map is iterated with a double-precision floating-point arithmetic. A double-precision floating-point number is represented according to the IEEE 754 floating-point standard found in virtually almost all computers produced since 1980 [57]. The program is implemented in Visual C++.NET, and the standard of the floating point which is used in this compiler is the IEEE 754 floating-point standard so that the hash values generated on any computer would be the same.

## 4 Conclusion

A novel parallel hash function based on a high-dimensional chaotic map is proposed. In the core of the presented dynamical system lies interesting features such as invariant measure, ergodicity, bifurcation without period doubling, and the possibility of KS-entropy calculation [4]. By using significant properties of chaos and structure of the chaotic map, in the proposed algorithm, the message is totally connected to all parameters, so this structure can ensure the uniform sensitivity of hash value to the message. Since the coupled architecture is a complex chaotic system, it is very difficult or even impossible to predict its time series. Therefore, the complexity and nonlinearity of the chaotic map yield strong bit confusion and diffusion with the low expense of floating-point computations. Theoretical analysis and numerical simulation indicate that the proposed new scheme achieves several desirable features such as high flexibility, good statistical properties, parallel implementation, high key sensitivity, and message sensitivity. Moreover, it resists linear analysis, exhaustive key search, and statistical attack. It can be concluded that the proposed algorithm fulfills the performance requirements of hash function and that it is practical and reliable, with high potential to be adopted in real-world applications.

## Declarations

### Acknowledgements

This work was supported by USM (no. 1001/PICOMP/817059).

## Authors’ Affiliations

## References

- Li S: Analyses and new designs of digital chaotic ciphers.
*Ph.D. thesis, School of Electronic and Information Engineering, Xi’an Jiaotong University, Xi’an, China*2003.Google Scholar - Behnia S, Akhshani A, Ahadpour S, Mahmodi H, Akhavan A: A fast chaotic encryption scheme based on piecewise nonlinear chaotic maps.
*Phys. Lett. A*2007, 366: 391-396. 10.1016/j.physleta.2007.01.081View ArticleMATHGoogle Scholar - Akhshani A, Mahmodi H, Akhavan A: A novel block cipher based on hierarchy of one dimensional composition chaotic maps IEEE Int. Conf.
*Image Process*1993-1996. (IEEE, ICIP 2006)Google Scholar - Behnia S, Akhshani A, Ahadpour S, Akhavan A, Mahmodi H: Applications of tripled chaotic maps in cryptography.
*Chaos Soliton Fract*2009, 40: 505-519. 10.1016/j.chaos.2007.08.013View ArticleMathSciNetMATHGoogle Scholar - Akhshani A, Behnia S, Akhavan A, Abu Hassan H, Hassan Z: A novel scheme for image encryption based on 2D piecewise chaotic maps.
*Optics Comm*2010, 283: 3259-3266. 10.1016/j.optcom.2010.04.056View ArticleGoogle Scholar - Zhu Z-L, Zhang W, Wong K-W, Yu H: A chaos-based symmetric image encryption scheme using a bit-level permutation.
*Inform. Sci*2011, 181: 1171-1186. 10.1016/j.ins.2010.11.009View ArticleGoogle Scholar - Akhavan A, Mahmodi H, Akhshani A: A new image encryption algorithm based on one dimensional polynomial chaotic maps.
*Lect. Notes Comput. Sci*2006, 4263: 963-971. 10.1007/11902140_100View ArticleGoogle Scholar - Byun JW, Lee DH, Lim JI: EC2C-PAKA: an efficient client-to-client password-authenticated key agreement.
*Inform. Sci*2007, 177: 3995-4013. 10.1016/j.ins.2007.03.024MathSciNetView ArticleMATHGoogle Scholar - Xiao D, Liao X, Deng S: A novel key agreement protocol based on chaotic maps.
*Inform. Sci*2007, 177: 1136-1142. 10.1016/j.ins.2006.07.026MathSciNetView ArticleGoogle Scholar - Wang K, Pei WJ, Zou LH, Cheung YM, Hea ZY: Security of public key encryption technique based on multiple chaotic systems.
*Phys. Lett. A*2006, 360: 259-262. 10.1016/j.physleta.2006.05.038View ArticleMATHGoogle Scholar - Wang B, Wu Q, Hu Y: A knapsack-based probabilistic encryption scheme.
*Inform. Sci*2007, 177(19):3981-3994. 10.1016/j.ins.2007.03.010MathSciNetView ArticleMATHGoogle Scholar - Wang Y, Liao X, Xiao D, Wong K: One-way hash function construction based on 2D coupled map lattices.
*Inform. Sci*2008, 178: 1391-1406. 10.1016/j.ins.2007.10.008View ArticleMATHGoogle Scholar - Yi X: Hash function based on chaotic tent maps.
*IEEE Trans. Circuits Syst. II*2005, 52(6):354-357.View ArticleGoogle Scholar - Zhang J, Wang X, Zhang W: Chaotic keyed hash function based on feedforwardŰfeedback nonlinear digital filter.
*Phys. Lett. A*2007, 362: 439-448. 10.1016/j.physleta.2006.10.052View ArticleMATHGoogle Scholar - Zhou Q, Liao X, Wong K-W, Hu Y, Xiao D: True random number generator based on mouse movement and chaotic hash function.
*Inform. Sci*2009, 179: 3442-3450. 10.1016/j.ins.2009.06.005MathSciNetView ArticleGoogle Scholar - Huang Z: A more secure parallel keyed hash function based on chaotic neural network.
*Commun. Nonlinear Sci. Numer. Simulat*2011, 16: 3245-3256. 10.1016/j.cnsns.2010.12.009View ArticleMathSciNetGoogle Scholar - Deng S, Xiao D, Li Y, Peng W: A novel combined cryptographic and hash algorithm based on chaotic control character.
*Commun. Nonlinear Sci. Numer. Simulat*2009, 14: 3889-3900. 10.1016/j.cnsns.2009.02.020MathSciNetView ArticleMATHGoogle Scholar - Amin M, Faragallah OS, Abd El-Latif AA: Chaos-based hash function (CBHF) for cryptographic applications.
*Chaos Solitons Fractals*2009, 42: 767-772. 10.1016/j.chaos.2009.02.001View ArticleGoogle Scholar - Rivest R: The MD4 message digest algorithm. In
*Advances in Cryptology-CRYPTO’90*. Springer-Verlag, London; 1991:303-311.Google Scholar - Rivest R: The MD5 Message-Digest Algorithm.
*RFC 1321*1992.Google Scholar - NIST: FIPS PUB 180-1, Secure Hash Standard. 1995.Google Scholar
- Deng S, Li Y, Xiao D: Analysis and improvement of a chaos-based Hash function construction.
*Commun. Nonlinear Sci. Numer. Simulat*2010, 15(5):1338-1347. 10.1016/j.cnsns.2009.05.065MathSciNetView ArticleMATHGoogle Scholar - Liang J, Lai X-J: Improved collision attack on hash function MD5.
*J. Com. Sci. Tech*2007, 22: 79-87. 10.1007/s11390-007-9010-1View ArticleGoogle Scholar - Sasaki Y, Naito Y, Kunihiro N, Ohta K: Improved collision attack on MD5. Cryptology ePrint Archive, Report 2005/400. 2005.http://eprint.iacr.org/2005/400 Accessed 23 June 2013Google Scholar
- Wang X, Feng D, Lai X, Yu H: Collisions for hash functions MD4, MD5, HAVAL-128 and RIPEMD. Cryptology ePrint Archive, Report 2004/199. 2004.http://eprint.iacr.org/2004/199 . Accessed 23 June 2013Google Scholar
- Wang X, Yin YL, Yu H: Finding collisions in the full SHA-1. Lect.
*Notes Comp. Sci*2005, 3621: 17-36. 10.1007/11535218_2MathSciNetView ArticleMATHGoogle Scholar - Xiao D, Liao X, Deng S: One-way hash function construction based on the chaotic map with changeable-parameter.
*Chaos Soliton Fract*2005, 24: 65-71.MathSciNetView ArticleMATHGoogle Scholar - Akhavan A, Samsudin A, Akhshani A: Hash function based on piecewise nonlinear chaotic map.
*Chaos Soliton Fract*2009, 42: 1046-1053. 10.1016/j.chaos.2009.02.044View ArticleMATHGoogle Scholar - Akhshani A, Behnia S, Akhavan A, Jafarizadeh MA, Abu Hassan H, Hassan Z: Hash function based on hierarchy of 2D piecewise nonlinear chaotic maps.
*Chaos Soliton Fract*2009, 42: 2405-2412. 10.1016/j.chaos.2009.03.153View ArticleGoogle Scholar - Kwok HS, Tang WKS: A chaos-based cryptographic hash function for message authentication.
*Int. J. Bifurcation Chaos*2005, 15: 4043-4050. 10.1142/S0218127405014489View ArticleMATHGoogle Scholar - Lian S, Liu ZX: Hash function based on chaotic neural networks.
*IEEE ISCAS*2006, 237-240.Google Scholar - Peng J, Jin S-Z, Liu H-L, Zhang W: A novel hash function based on hyperchaotic Lorenz system.
*Fuzzy Inform. Eng*2009, 2: 1529-1536.View ArticleMATHGoogle Scholar - Ghaemi Bafghi A, Safabakhsh R, Sadeghiyan B: Finding the differential characteristics of block ciphers with neural networks.
*Inform. Sci*2008, 178: 3118-3132. 10.1016/j.ins.2008.02.016View ArticleMATHGoogle Scholar - Wong K: A combined chaotic cryptographic and hashing scheme.
*Phys. Lett. A*2003, 307: 292-298. 10.1016/S0375-9601(02)01770-XMathSciNetView ArticleMATHGoogle Scholar - Alvarez G, Montoya F, Romera M, Pastor G: Cryptanalysis of dynamic look-up table based chaotic cryptosystems.
*Phys. Lett. A*2004, 326: 211-218. 10.1016/j.physleta.2004.04.018MathSciNetView ArticleMATHGoogle Scholar - Xiao D, Peng W, Liao X, Xiang T: Collision analysis of one kind of chaos-based hash function.
*Phys. Lett. A*2010, 374: 1228-1231. 10.1016/j.physleta.2010.01.006View ArticleMATHGoogle Scholar - Guo W, Xiaomin W, Dake H, Yang C: Cryptanalysis on a parallel keyed hash function based on chaotic maps.
*Phys. Lett. A*2009, 373: 3201-3206. 10.1016/j.physleta.2009.07.016MathSciNetView ArticleMATHGoogle Scholar - Peng F, Qiu SS, Long M: One-way hash function construction based on two-dimensional hyper-chaotic mappings.
*Acta. Phys. Sin*2005, 54: 4562-607. [in Chinese]Google Scholar - Jafarizadeh MA, Behnia S, Khorram S, Naghshara H: Hierarchy of chaotic maps with an invariant measure.
*J. Stat. Phys*2001, 104: 1013-1028. 10.1023/A:1010449627146View ArticleMathSciNetMATHGoogle Scholar - Jafarizadeh MA, Behnia S: Hierarchy of chaotic maps with an invariant measure and their coupling.
*Physica D*2001, 159: 1-21. 10.1016/S0167-2789(01)00325-6MathSciNetView ArticleMATHGoogle Scholar - Behnia S, Akhshani A, Mahmodi H, Akhavan A: A novel algorithm for image encryption based on mixture of chaotic maps.
*Chaos Soliton Fract*2008, 35: 408-419. 10.1016/j.chaos.2006.05.011MathSciNetView ArticleMATHGoogle Scholar - Jafarizadeh MA, Behnia S: Hierarchy of chaotic maps with an invariant measure and their compositions.
*J. Nonlinear Math. Phys*2002, 1: 1-16.MathSciNetMATHGoogle Scholar - Shannon CE: Communication theory of secrecy systems.
*Bell Sys. Tech. J*1949, 28: 656-715.MathSciNetView ArticleMATHGoogle Scholar - Yang H, Wong K-W, Liao X, Wang Y, Yang D: One-way hash function construction based on chaotic map network.
*Chaos Soliton Fract*2009, 41: 2566-2574. 10.1016/j.chaos.2008.09.056View ArticleGoogle Scholar - Xiao D, Liao X, Wang Y: Parallel keyed hash function construction based on chaotic neural network.
*Neuralcomputing*2009, 72: 2288-2296. 10.1016/j.neucom.2008.12.031View ArticleGoogle Scholar - Wang Y, Wong K-W, Xiao D: Parallel hash function construction based on coupled map lattices.
*Commun. Nonlinear Sci. Numer. Simulat*2011, 16: 2810-2821. 10.1016/j.cnsns.2010.10.001MathSciNetView ArticleMATHGoogle Scholar - Johnsonbaugh R:
*Discrete Mathematics*. New York/London: Macmillan Pub. Co./Collier Macmillan Publishers; 1984.MATHGoogle Scholar - Schneier B:
*Applied Cryptography: Protocols, Algorithms, and Source Code in C*. Wiley, New York; 1996.MATHGoogle Scholar - ECRYPT I I: ECRYPT II yearly report on algorithms and keysizes. 2010.http://www.ecrypt.eu.org/documents/D.SPA.13.pdf . Accessed 23 June 2013Google Scholar
- Zhang H, Wang X, Li Z, Liu D: One way hash function construction based on spatiotemporal chaos.
*Acta. Physica Sinica*2005, 54: 4006-4011.Google Scholar - Kanso A, Yahyaoui H, Almulla M: Keyed hash function based on a chaotic map.
*Inform. Sci*2012, 186: 249-264. 10.1016/j.ins.2011.09.008MathSciNetView ArticleMATHGoogle Scholar - Marsaglia G: Diehard, a battery of tests for random number generators. 1997.http://stat.fsu.edu/pub/diehard/ . Accessed 23 June 2013Google Scholar
- Rukhin A, Sotto J, Nechvatal J, Smid M, Barker E, Leigh S, Levenson M, Vangel M, Banks D, Heckert A, Dray J, Vo S: A statistical test suite for random and pseudorandom number generators for cryptographic applications.
*NIST Special Publication 800-22*NIST Gaithersburg 2001Google Scholar - Walker J: ENT, A pseudorandom number sequence test program. 1998.http://www.fourmilab.ch/random/ . Accessed 23 June 2013Google Scholar
- Menezes A, van Oorschot P, Vanstone S:
*Handbook of Applied Cryptography*. (CRC, Boca Raton, 1996)View ArticleMATHGoogle Scholar - Damgård IB: A design principle for hash functions. In
*Advances in cryptology - CRYPTO ’89 Proceedings, Lect. Notes Comput. Sci.*. Springer, New York; 1989:416-427.Google Scholar - Goldberg D, Priest D: What every computer scientist should know about floating-point arithmetic.
*ACM Comput. Surv*1991, 23: 5-48. 10.1145/103162.103163View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.