Research Article  Open Access
Hongjun Liu, Abdurahman Kadir, Chao Ma, Chengbo Xu, "Constructing Keyed Hash Algorithm Using Enhanced Chaotic Map with Varying Parameter", Mathematical Problems in Engineering, vol. 2020, Article ID 4071721, 10 pages, 2020. https://doi.org/10.1155/2020/4071721
Constructing Keyed Hash Algorithm Using Enhanced Chaotic Map with Varying Parameter
Abstract
A keyed hash algorithm is proposed based on 1D enhanced quadratic map (EQM) with varying parameter. Three measures, including assigning unique onetime keys, key expansion, and hash length extension, are taken to enhance its security. First, the message is transformed into a parameter sequence for the EQM to be absorbed, and then the extended keys are generated as the initial values of the EQM. Finally, the EQM is iterated with redundant loops to transform the variable values into a hash value. The algorithm is so flexible that it can generate hash value with different lengths of 256, 512, 1024, or more bits through a parameter switcher, and redundant loops can eliminate the transient effect of chaos and mitigate the increasing threat of the sidechannel attack. Security evaluations and comparison demonstrated its practicability and reliability.
1. Introduction
Hash algorithm is widely used for assuring data integrity in cryptography [1]; it can map a message with arbitrary length to a hash value with fixed length. If the input message is unknown, it is extremely difficult to reconstruct via its hash value. In theoretical cryptography, the security level of a hash algorithm could be defined by three properties [2]: preimage resistance, second preimage resistance, and collision resistance. None of the existing hash algorithms is secure absolutely. Even if a hash algorithm has not been broken up to now, a successful attack against a weakened variant may result in its abandonment, such as the theoretical weaknesses of SHA1 were found in 2005 [3], a successful attack on MD5 in 2008 [4], and Google announced a collision in SHA1 in 2017 [5]. Although some recognized hash algorithms, such as SHA2, SHA3, and SM3, are still secure up to now, however, all kinds of attacks on them are going on and on [6].
Many hash algorithms based on chaotic maps have been proposed [7]; however, some 1D chaotic maps, such as logistic map and tent map, are typically insecure or slow, and most of these hash algorithms have been broken successfully. Xiao et al. [8] constructed a hash algorithm based on the piecewise linear chaotic map with changeable parameter; however, Guo et al. [9] analyzed its weakness and utilized weak keys to construct a collision successfully. Kwok and Tang [10] designed a hash algorithm based on a highdimension chaotic map, and a compression function was developed according to the diffusion and confusion properties of the chaotic map; however, Deng et al. [11] analyzed the potential flaws in this hash algorithm and took corresponding measures to enhance the influence of a singlebit change in the message on the changes in the final hash value. Liu et al. [12] proposed a keyed hash function using a hyperchaotic system with timevarying parameter perturbation, which is flexible and has a larger key space. Teh et al. [13] designed a keyed hash function based on the logistic map with fixed point representation. Li et al. designed four 128bit parallel hash functions based on crosscoupled map lattices [14], tent map [15], circular shifts [16], and dynamic Sbox [17] with varying parameters.
An attacker can crack the hash value of a short password using a precomputed rainbow table [18]. Petr et al. [19] designed a secure and efficient hash function with extra padding against rainbow table attacks to block rainbow table attacks by adding additional identification information to extend the key length.
Herein, we design a novel keyed hash algorithm and take three measures to resist some known attacks. We use a preencoding process to obtain the Unicode of each character in the message, transform it into a parameter sequence for the EQM to absorb, output the extended keys to serve as initial values, and use the generation process to generate a hash value with flexible length by the EQM. Redundant iterations are deliberately designed, which can both eliminate the transient effect of the chaotic map and mitigate the increasing threat of the sidechannel attack. Performance evaluation demonstrated the effectiveness and flexibility of the proposed hash algorithm.
The remainder of the paper is organized as follows: Section 2 briefly introduces the EQM. Section 3 presents the hash algorithm. In Section 4, we present the experimental evaluation, and in Section 5, we present our conclusion.
2. The EQM
The classical quadratic map can be expressed using equation (1) [20]:where the control parameter and state variable . The bifurcation diagram, phase diagram, and Lyapunov exponent shown in Figure 1 demonstrate that equation (1) has abundant bifurcations and dense windows; hence, the distribution of state points is not uniform, and its randomness is not good.
(a)
(b)
(c)
Based on equation (1), we constructed a 1D EQM using equation (2):where the range of control parameter is extended to and the exponent . The bifurcation diagram and the phase diagram shown in Figures 2(a) and 2(b) demonstrate that the EQM has ergodicity and better randomness, and it is surjective within the interval . Figure 2(c) demonstrates that the Lyapunov exponent increases gradually with the increase of [21]; hence, the map achieves chaotic state. The state variable and exponent can serve as keys.
(a)
(b)
(c)
3. Hash Algorithm
Input: message with characters, which can be singlebyte or multibyte, and theoretically, the length of the message can be infinite. A unique onetime 256bit key is assigned according to each user’s identification. Output: hash value H with lenbit. A hash algorithm H (M, len, key) can be described as follows: Step 1 (message preencoding): for each character , , transform it into a corresponding Unicode value using equation (3) to obtain and serve as varying parameter of equation (2). It should be noted that even if is a null string, we can pad four specific characters of “====” to it. Step 2 (key derivation): transform a 256bit key into its hexadecimal number , and then generate four initial values , , , and using equation (4) and exponent sequence as salt using equation (5): Step 3 (message absorption): iterate equation (2) 16 rounds with initial parameter sequence , exponent , and initial value , from the second round, set , and so on. Similarly, iterate equation (2) with and initial values , , and , respectively. Finally, we can obtain four variable values , , , and to serve as new initial values of equation (2) with exponent . Step 4 (hash value generation): after iterating equation (2) 300 times to eliminate the transient process, continue to iterate it times using four initial values , , , and with the salt sequence as salt in turn to obtain four variable sequences , , , and , . Transform them into unsigned integers within the interval [0, 255] using equation (6) to generate two groups of hash value and in hexadecimal form using equation (7), and concatenate them to obtain the final hash value :
The flowchart of the proposed hash algorithm is shown in Figure 3.
4. Experimental Evaluation
4.1. Key Space
The proposed hash algorithm has a onetime 256bit external key ; hence, the key space [22], which is large enough to resist the bruteforce attack [23].
4.2. Hash Sensitivity to Message and Keys
A good hash algorithm based on the chaotic map, should be very sensitive to any small change of the input message and initial conditions [12]. In the following tests, M1 represents the original input message, M2, M3, and M4 represent minor modifications to M1, and M5 represents a minor change to K. The original message M1: “as of 2018, the development of actual quantum computers is still in its infancy, but experiments have been carried out in which quantum computational operations were executed on a very small number of quantum bits. Both practical and theoretical research continue, and many national governments and military agencies are funding quantum computing research in additional effort to develop quantum computers for civilian, business, trade, and environmental and national security purposes, such as cryptanalysis. A small 16qubit quantum computer exists and is available for experiments via the IBM quantum experience project.” M2: replace the first character “A” of M1 with “a.” M3: replace the last character “.” of M1 with “,”. M4: add a blank space to the end of M1. M5: change one bit to K.
The 256, 512, and 1024bit hash values in hexadecimal form are given in Table 1, and the results of Hamming distance demonstrate that any slight modifications on messages or key will lead to about 50% difference in the hash value.

4.3. Statistical Distribution of Hash Value
The hash value generated by a good hash algorithm should be evenly distributed. Here, we use Figure 4 to show the distributions of the message M1 and hash values of H1_{256} and H1_{512}; from Figure 4(a), we can find that the ASCII values of M1 are localized within some specified intervals, while the hash values shown in Figures 4(b) and 4(c) distribute uniformly. In addition, we utilize the hash algorithm to calculate the 256, 512, and 1024bit hash values of a null string; from Figure 5, we can infer that the distributions of hash values are also uniform.
(a)
(b)
(c)
(a)
(b)
(c)
4.4. Statistical Analysis of Confusion and Diffusion
The hash value of a good hash algorithm should be confused and diffused completely [12], and the ideal result is that onebit change to the input bits would lead to 50% change in the output bits. Here, we conducted a large number of experiments to analyze its performance. First, a random message M with the size of is generated, and lenbit hash value is calculated. Second, a single bit in M is changed, and a new lenbit hash value is calculated. Two hash values are compared bit by bit to obtain the total number of changed bits. The experiment is repeated N = 5000 times with len = 256bit, 512bit, and 1024bit, respectively.
The corresponding histogram distribution of the total number of different bits is plotted in Figure 6, which demonstrates that the total numbers of changed bits concentrate around the ideal number 128bit, 256bit, and 512bit, i.e., about 50% bits are changed; hence, the results of diffusion and confusion are ideal.
(a)
(b)
(c)
The following statistics are used to test the performance of the hash algorithm. Here, len is the length of the hash value, N is the number of tests, B_{i} denotes the number of different bits between the hash values obtained in the ith test, denotes the minimum number of different bits, denotes the maximum number of different bits, denotes the mean changed bit number, denotes the mean changed probability, denotes the standard deviation of numbers of changed bits, and denotes the standard deviation [13].
Tables 2–4 are statistical results obtained by changing one bit to M1 randomly and executing the hash algorithm N times to obtain hash values with different hash lengths of 256, 512, and 1024bit. Every time, the total number of changed bits between the new and the original hash values is calculated.



Tables 5–7 are the comparison results with other hash algorithms, and the results demonstrate that, for all the values belonging to N, the mean changed bit number is very close to the ideal number of changed bits , from which we can infer that the hash algorithm has strong capability of confusion and diffusion. Meanwhile, the mean changed probability P is very close to the ideal value of 50%, which is one of the desired features of confusion. Another good feature of the hash algorithm is that both and are very small for all the tests, which means that the confusion and diffusion capability is very stable.
4.5. Collision Analysis
4.5.1. MeetintheMiddle Attack
To seek a collision, the meetinthemiddle attack is conducted on intermediate variables, and a collision could be found if two intermediate variables match [22, 23]. This type of attack is invalid for the proposed hash algorithm, due to the initial values of EQM serving as keys, which can make the inverse computation extremely difficult. Hence, the proposed hash algorithm can resist the meetinthemiddle attack.
4.5.2. Collision Analysis
To perform a collision analysis, message M1 with the length of L = 50 len is randomly generated, and its lenbit hash values are calculated and stored in ASCII form (8bit per character). Then, we randomly change one bit to M1, calculate its hash value, and compare two hash values to obtain the absolute difference between two hash values using the following equation [12]:where and denote the ith ASCII character of two hash values and the function maps an ASCII character to its decimal value. The theoretical value of average absolute distance per character is 85.3333.
In Table 8, we present the minimum, maximum, and mean values of the absolute difference between two hash values, from which we can infer that when we set h = 256 and 512, the results of the proposed hash algorithm are as good as some existing hash algorithms, such as SHA2, SHA3, and other chaosbased hash algorithms.

4.6. Rainbow Table Resistance Analysis
Rainbow table is a practical example of space/time tradeoff; it uses more computer processing time at the cost of less storage when calculating a hash value on every attempt or less processing time and more storage when comparing to a simple lookup table with one entry per hash. Use of a key derivation function that employs a salt makes this attack ineffective [19]. In the proposed hash algorithm, we took two measures to make the rainbow table attack ineffective. (1) Onetime keys: we assign different onetime keys by the key sequence sampled from noise to different users according to their identifications. (2) Random salt: as for equation (2), we add salt derived from the key in each iteration through perturbing the exponent to make the rainbow table attack ineffective.
4.7. Speed Analysis
In order to analyze the computation speed, we implemented the proposed hash algorithm on a PC with 2.50 GHz Intel Core i76500U, 16G Memory and Windows 10 operation system, and the tested message consists of 20,000 ASCII characters; the speed is about 131.2 Mbps with N = 2048. Experiments showed that the running speed is unaffected by the hash value length.
4.8. Computational Complexity
The computational complexity [16] of the proposed hash algorithm depends on the message length and iterations of the EQM. For any message M with the character length n, there are n times to transform it into a parameter sequence, and the time complexity is O(n). For the EQM, there are n + 300 + len/16 iterations with varying parameter; hence, the time complexity is O(n). There are 140 times of addition, multiplication, and modular, hex conversion, and XOR operations, which have nothing to do with n; hence, the corresponding time complexity is O(1). Therefore, the total computational complexity of the proposed hash algorithm is O (n).
5. Conclusion
A novel hash algorithm is constructed based on the EQM; three measures, including assigning unique onetime keys adaptively, key expansion, and hash length extension, are taken to resist against the rainbow table attack. Three steps of message preencoding, message absorption, and generation of hash value are implemented. The hash algorithm is so flexible that it can be keyed or unkeyed and can generate 256bit, 512bit, 1024bit, or longer hash value through a parameter switcher. Any characters, including singlebyte and doublebyte characters, can be transformed into a parameter sequence for EQM to absorb. Simulation results and performance analysis demonstrated the effectiveness and flexibility of the proposed hash algorithm. In the future, we intend to research chaosbased parallel hash algorithm that can resist attacks from the quantum computing.
Data Availability
The data used to support the findings of this study are included within the article.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Authors’ Contributions
Hongjun Liu was the major contributor and contributed to algorithm design; Abdurahman Kadir contributed to algorithm optimization; Chao Ma was responsible for statistics of experimental results; and Chengbo Xu contributed to diagram design.
Acknowledgments
This research was supported by the National Natural Science Foundation of China (no. 61662073).
References
 M. Nofer, P. Gomber, O. Hinz, and D. Schiereck, “Blockchain,” Business & Information Systems Engineering, vol. 59, no. 3, pp. 183–187, 2017. View at: Publisher Site  Google Scholar
 M. J. Schiereck, Sha3 Standard: PermutationBased Hash and ExtendableOutput Functions, Federal Inf. Process. Stds. (NIST FIPS)202, Gaithersburg, MD, USA, 2015.
 X. Wang, Y. L. Yin, and H. Yu, “Finding collisions in the full SHA1,” Advances in CryptologyCRYPTO 2005, vol. 3621, pp. 17–36, 2005. View at: Publisher Site  Google Scholar
 A. Sotirov, M. Stevens, J. Appelbaum et al., “MD5 considered harmful today, creating a rogue CA certificate,” in Proceedings of the 25th Annual Chaos Communication Congress, Leipzig, Germany, January 2008. View at: Google Scholar
 T. FoxBrewster, Google Just “Shattered” an Old Crypto AlgorithmHere’s Why That’s Big for Web Security, Forbes, Waltham, MA, USA, 2017.
 J. Guo, G. Liao, G. Liu, M. Liu, K. Qiao, and L. Song, “Practical collision attacks against roundreduced SHA3,” Journal of Cryptology, vol. 33, no. 1, pp. 228–270, 2019. View at: Publisher Site  Google Scholar
 M. A. Liu, S. Jamali, and N. Khasmakhi, “A novel keyed parallel hashing scheme based on a new chaotic system,” Chaos, Solitons & Fractals, vol. 87, pp. 216–225, 2016. View at: Publisher Site  Google Scholar
 D. Xiao, X. Liao, and S. Deng, “Oneway Hash function construction based on the chaotic map with changeableparameter,” Chaos, Solitons & Fractals, vol. 24, no. 1, pp. 65–71, 2005. View at: Publisher Site  Google Scholar
 W. Guo, X. Wang, D. He, and Y. Cao, “Cryptanalysis on a parallel keyed hash function based on chaotic maps,” Physics Letters A, vol. 373, no. 36, pp. 3201–3206, 2009. View at: Publisher Site  Google Scholar
 H. S. Kwok and W. K. S. Tang, “A chaosbased cryptographic hash function for message authentication,” International Journal of Bifurcation and Chaos, vol. 15, no. 12, pp. 4043–4050, 2005. View at: Publisher Site  Google Scholar
 S. Deng, Y. Li, and D. Xiao, “Analysis and improvement of a chaosbased Hash function construction,” Communications in Nonlinear Science and Numerical Simulation, vol. 15, no. 5, pp. 1338–1347, 2010. View at: Publisher Site  Google Scholar
 H. Liu, A. Kadir, and J. Liu, “Keyed hash function using hyper chaotic system with timevarying parameters perturbation,” IEEE Access, vol. 7, no. 1, pp. 37211–37219, 2019. View at: Publisher Site  Google Scholar
 J. S. Teh, K. Tan, and M. Alawida, “A chaosbased keyed hash function based on fixed point representation,” Cluster Computing, vol. 22, no. 2, pp. 649–660, 2019. View at: Publisher Site  Google Scholar
 Y. Li and G. Ge, “Cryptographic and parallel hash function based on cross coupled map lattices suitable for multimedia communication security,” Multimedia Tools and Applications, vol. 78, no. 13, pp. 17973–17994, 2019. View at: Publisher Site  Google Scholar
 Y. Li, “Collision analysis and improvement of a hash function based on chaotic tent map,” Optik, vol. 127, no. 10, pp. 4484–4489, 2016. View at: Publisher Site  Google Scholar
 Y. Li and X. Li, “Chaotic hash function based on circular shifts with variable parameters,” Chaos, Solitons & Fractals, vol. 91, pp. 639–648, 2016. View at: Publisher Site  Google Scholar
 Y. Li, G. Ge, and D. Xia, “Chaotic hash function based on the dynamic SBox with variable parameters,” Nonlinear Dynamics, vol. 84, no. 4, pp. 2387–2402, 2016. View at: Publisher Site  Google Scholar
 J. Horálek, F. Holík, O. Horák, L. Petr, and V. Sobeslav, “Analysis of the use of rainbow tables to break hash,” Journal of Intelligent & Fuzzy Systems, vol. 32, no. 2, pp. 1523–1534, 2017. View at: Publisher Site  Google Scholar
 H.J. Petr, S. Hong, and J. Shin, “A novel secure and efficient hash function with extra padding against rainbow table attacks,” Cluster Computing, vol. 21, no. 1, pp. 1161–1173, 2018. View at: Publisher Site  Google Scholar
 F. J. S. Moreira, Chaotic Dynamics of Quadratic Maps, IMPA, Colchester, UK, 1993.
 H. Liu, Y. Zhang, A. Kadir, and Y. Xu, “Image encryption using complex hyper chaotic system by injecting impulse into parameters,” Applied Mathematics and Computation, vol. 360, pp. 83–93, 2019. View at: Publisher Site  Google Scholar
 A. Xu, H. Yahyaoui, and M. Almulla, “Keyed hash function based on a chaotic map,” Information Sciences, vol. 186, no. 1, pp. 249–264, 2012. View at: Publisher Site  Google Scholar
 A. Kanso and M. Ghebleh, “A fast and efficient chaosbased keyed hash function,” Communications in Nonlinear Science and Numerical Simulation, vol. 18, no. 1, pp. 109–123, 2013. View at: Publisher Site  Google Scholar
 G. Bertoni, J. Daemen, M. Peeters, and G. Van Assche, “The keccak sponge function family, 2011, submission to NIST’s SHA3 competition,” 2011. View at: Google Scholar
Copyright
Copyright © 2020 Hongjun Liu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.