Skip to content

Advertisement

  • Research
  • Open Access

A novel parallel hash function based on 3D chaotic map

EURASIP Journal on Advances in Signal Processing20132013:126

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

  • Received: 26 July 2012
  • Accepted: 6 June 2013
  • Published:

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

  • Hash function; High-dimensional chaotic map; Chaos-based cryptography

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 [17], security protocols [8, 9], asymmetric encryptions [10, 11], and hash functions [1218].

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 [1921] 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 [2325], 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, 3437].

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

Hierarchy of the high-dimensional chaotic maps with ergodic behavior in the two intervals [0,1] and [0,) 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
Φ N ( x , α ) = α 2 F 1 + ( α 2 - 1 ) F ,
where α is the control parameter. F substitutes with the Chebyshev polynomial of the first kind T N (x), and Nis the degree of Chebyshev polynomials. Hence,
Φ N ( x , α ) = α 2 ( T N ( x ) ) 2 1 + ( α 2 - 1 ) ( T N ( x ) ) 2 .
We used its conjugate or isomorphic map [39, 41]. Conjugacy means that the invertible map h ( x ) = ( 1 - x ) x maps 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]
Φ N ( x , α ) x ( n + 1 ) = 1 α 1 2 tan 2 ( N 1 arctan x ( n ) ) , y ( n + 1 ) = 1 α 2 2 ( x ( n ) ) tan 2 ( N 2 arctan y ( n ) ) , z ( n + 1 ) = 1 α 3 2 ( x ( n ) , y ( n ) ) tan 2 ( N 3 arctan z ( n ) ) ,
(1)
where
β ( x ( n ) ) = ( α 2 2 - α 2 + ϵx ( n ) ) 2 , α 2 ( x ( n ) ) = 2 β ( x ( n ) ) 1 + β ( x ( n ) ) β ( x ( n + 1 ) ) β ( x ( n ) ) , β ( x ( n ) , y ( n ) ) = ( α 3 2 - α 3 + ϵ y ( n ) ) 2 , α 3 ( x ( n ) , y ( n ) ) = 2 β ( x ( n ) , y ( n ) ) 1 + β ( x ( n ) , y ( n ) ) × β ( x ( n + 1 ) , y ( n + 1 ) ) β ( x ( n ) , y ( n ) ) ,

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 28 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
Figure 1

Block diagram.

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

The graphical display of binary sequences is shown in Figure 2. The simulation results indicate that the one-way property of the proposed algorithm is remarkably high, and any least difference of the message or key will cause huge changes in the final hash value.
Figure 2
Figure 2

Hash values under different conditions.

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 }1N);

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

Mean changed bit number B ̄ = i = 1 N B i /N;

Mean changed probability P = ( B ̄ / 128 ) × 100 % ;

Standard variance of the changed bit number ΔB = 1 N - 1 Σ i = 1 N ( B i - B ̄ ) 2 ;

Standard variance ΔP = 1 N - 1 Σ i = 1 N ( B i / 128 - P ) 2 × 100 % ;
Figure 3
Figure 3

Distribution of changed bit number. (a) Plot of B i and (b) histogram of B i .

Through the tests with 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.
Table 1

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

Δ B

6.0032

5.8662

5.7711

5.6467

5.8218

Δ P(%)

4.6900

4.5830

4.5087

4.4115

4.5483

B min

45

45

43

41

43.5

B max

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

In order to investigate the collision resistance capability of the proposed algorithm, we have performed the following test [12, 28, 29]: first, a message is randomly chosen, and the hash value is generated for it and stored in ASCII format. Then, a bit from a random position in the message is chosen and its value is changed, and a new hash value is generated for the new changed message and is stored in ASCII format. Two hash values are compared, and the number of ASCII character with the same value at the same location in the hash value is counted. The absolute difference of two hash values and the theoretical number of ω with different values during N independent experiments which is denoted by W N (ω) is calculated using the following formulas:
d = i = 1 N | t ( e i ) - t ( e i ) | ,
(2)
ω = i = 1 N f ( t ( e i ) - t ( e i ) ) , where f ( x , y ) = 1 , x = y , 0 , x y .
(3)
W N ( ω ) = N × Prob { ω } = N s ! ω ! ( s - ω ) ! ( 1 2 k ) ω ( 1 - 1 2 k ) s - ω ,
(4)
where 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].
Figure 4
Figure 4

Distribution of w . w represents the number of 8-bit subblocks with the same value at the same location in hash value (N = 10,000). (a) Decimal scale of W N (ω) and (b) logarithmic scale of W N (ω).

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 1 2 maximum value of the distribution (in the maximum value condition, all elements are equal to 255): 255 × 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 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 2 3 × 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 2128 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 2279, so the key space is very large to resist all kinds of brute force attacks.

3.9 Analysis of speed

The proposed hash function is a multi-threaded algorithm which works fine on both single and multi-core processors, while the speed of the algorithm eventually doubles on a multi-core processor. Moreover, the process time needed for generating the hash value is in direct relation with the message length; in Figure 5, we can see that the computational complexity of the algorithm is linear and almost equal to Θ(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.
Figure 5
Figure 5

Computational time vs. message size.

3.10 Uniform distribution on hash space

To check the distribution property in hash space, similar to that in [14], the following test is performed: two hash values are generated according to the method described in the previous subsection, and then, the number of the bits changed at each bit’s location is counted. Figure 6 shows the statistical results for 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.
Figure 6
Figure 6

Distribution of hash value in hash space. The minimum, maximum, and mean of the toggled bit number are 4,896, 5,124, and 50,063, respectively, for N = 10,000.

3.11 Randomness tests for the hash

Cryptographic hash functions are an important tool of cryptography and play a fundamental role in efficient and secure information processing. Cryptographic hash functions can be used to construct pseudo-random number generators. To ensure the security of a cryptosystem, the cipher must have some properties such as good distribution, long period, high complexity, and efficiency. In this algorithm, several tests of randomness are performed on a stream of random numbers generated by the main dynamical system (Equation 1) of the hash function in order to test the randomness of the presented algorithm. These tests include DIEHARD [52], NIST statistical test suite [53], and ENT test suite [54]. According to Tables 2 and 3, 4, and 5 which present NIST, DIEHARD, and ENT test results, respectively, of the sample, it can be concluded that the stream has a highly random behavior.
Table 2

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 (m=128)

 

0.911413

Success

Runs (M=10,000)

 

0.739918

Success

Long runs of ones

 

0. 66882

Success

Rank

 

0.253551

Success

Spectral DFT

 

0.5622515

Success

No overlapping templates (m=9, B=101001100)

 

0.739918

Success

Overlapping templates (m=9, M=1,032, N=968)

 

0.911413

Success

Universal (L=7, Q=1,280, K=141,577)

 

0.602458

Success

Lempel-Ziv complexity

 

0.662344

Success

Linear complexity

 

0.407091

Success

Serial

P value 1

0.602458

Success

Serial

P value 2

0.02624

Success

Approximate entropy (m=10)

 

0.299251

Success

Cumulative sum forward

 

0.534146

Success

Cumulative sum reverse

 

0.035174

Success

Random excursions

X=-4

0.637119

Success

Random excursions

X=-3

0.834308

Success

Random excursions

X=-2

0.991468

Success

Random excursions

X=-1

0.066882

Success

Random excursions

X=1

0.275709

Success

Random excursions

X=2

0.213309

Success

Random excursions

x=3

0.122325

Success

Random excursions

X=4

0.437274

Success

Table 3

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

X=-9

0.964295

Success

Random excursions

X=-8

0.213309

Success

Random excursions

X=-7

0.911413

Success

Random excursions

X=-6

0.350485

Success

Random excursions

X=-5

0.637119

Success

Random excursions

X=-4

0.834308

Success

Random excursions

X=-3

0.964295

Success

Random excursions

X=-2

0.637119

Success

Random excursions

X=-1

0.999438

Success

Random excursions

X=1

0.834308

Success

Random excursions

X=2

0.534146

Success

Random excursions

x=3

0.834308

Success

Random excursions

X=4

0.739918

Success

Random excursions

X=5

0.834308

Success

Random excursions

X=6

0.964295

Success

Random excursions

X=7

0.275709

Success

Random excursions

X=8

0.122325

Success

Random excursions

X=9

0.066882

Success

Table 4

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

Table 5

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 264 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

(1)
School of Computer Sciences, Universiti Sains Malaysia, 11800 USM Penang, Malaysia
(2)
School of Physics, Universiti Sains Malaysia, 11800 USM Penang, Malaysia

References

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. Yi X: Hash function based on chaotic tent maps. IEEE Trans. Circuits Syst. II 2005, 52(6):354-357.View ArticleGoogle Scholar
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. Rivest R: The MD4 message digest algorithm. In Advances in Cryptology-CRYPTO’90. Springer-Verlag, London; 1991:303-311.Google Scholar
  20. Rivest R: The MD5 Message-Digest Algorithm. RFC 1321 1992.Google Scholar
  21. NIST: FIPS PUB 180-1, Secure Hash Standard. 1995.Google Scholar
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. Lian S, Liu ZX: Hash function based on chaotic neural networks. IEEE ISCAS 2006, 237-240.Google Scholar
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. Shannon CE: Communication theory of secrecy systems. Bell Sys. Tech. J 1949, 28: 656-715.MathSciNetView ArticleMATHGoogle Scholar
  44. 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
  45. 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
  46. 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
  47. Johnsonbaugh R: Discrete Mathematics. New York/London: Macmillan Pub. Co./Collier Macmillan Publishers; 1984.MATHGoogle Scholar
  48. Schneier B: Applied Cryptography: Protocols, Algorithms, and Source Code in C. Wiley, New York; 1996.MATHGoogle Scholar
  49. 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
  50. 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
  51. 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
  52. Marsaglia G: Diehard, a battery of tests for random number generators. 1997.http://stat.fsu.edu/pub/diehard/ . Accessed 23 June 2013Google Scholar
  53. 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
  54. Walker J: ENT, A pseudorandom number sequence test program. 1998.http://www.fourmilab.ch/random/ . Accessed 23 June 2013Google Scholar
  55. Menezes A, van Oorschot P, Vanstone S: Handbook of Applied Cryptography. (CRC, Boca Raton, 1996)View ArticleMATHGoogle Scholar
  56. 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
  57. 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

© Akhavan et al.; licensee Springer. 2013

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.

Advertisement