# Constructing Keyed Hash Algorithm Using Enhanced Chaotic Map with Varying Parameter.

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 SHA-1 were found in 2005 [3], a successful attack on MD5 in 2008 [4], and Google announced a collision in SHA-1 in 2017 [5]. Although some recognized hash algorithms, such as SHA-2, SHA-3, 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 1-D 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 high-dimension 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 single-bit 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 time-varying 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 128-bit parallel hash functions based on cross-coupled map lattices [14], tent map [15], circular shifts [16], and dynamic S-box [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 side-channel 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]:

[x.sub.i+1] = [gamma] - [x.sup.2.sub.i], (1)

where the control parameter [gamma] [member of] [0, 2] and state variable x [member of] [-2, 2]. 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.

Based on equation (1), we constructed a 1-D EQM using equation (2):

[x.sub.i+1] = sin([gamma] - [2.sup.k] [([gamma] - [x.sup.2.sub.i]).sup.2]), (2)

where the range of control parameter y is extended to [0, 18] and the exponent k [member of] [7,1000]. 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 x [member of] [-1,1]. Figure 2(c) demonstrates that the Lyapunov exponent increases gradually with the increase of [gamma] [member of] [0,18] [21]; hence, the map achieves chaotic state. The state variable x and exponent k can serve as keys.

3. Hash Algorithm

Input: message M with n characters, which can be single-byte or multibyte, and theoretically, the length of the message can be infinite. A unique one-time 256-bit key is assigned according to each user's identification.

Output: hash value H with len-bit.

A hash algorithm H (M, len, key) can be described as follows:

Step 1 (message pre-encoding): for each character m(i) [member of] M, i = 1, 2, ..., n, transform it into a corresponding Unicode value using equation (3) to obtain r (i) and serve as varying parameter [gamma] of equation (2). It should be noted that even if M is a null string, we can pad four specific characters of "====" to it.

[mathematical expression not reproducible]. (3)

Step 2 (key derivation): transform a 256-bit key into its hexadecimal number K = (k(1), k(2), ..., k(64)), and then generate four initial values [x.sub.0] (1, 1), [x.sub.0] (2, 1), [x.sub.0] (3, 1), and [x.sub.0] (4, 1) using equation (4) and exponent sequence S = {[s.sub.1], [s.sub.2], ..., [s.sub.16]} as salt using equation (5):

[mathematical expression not reproducible], (4)

%[s.sub.1] = [4.summation over (i=1)] k(i), [s.sub.2] = [8.summation over (i=5)] k(i), ..., [s.sub.16] = [64.summation over (i=61)] k(i). (5)

Step 3 (message absorption): iterate equation (2) 16 rounds with initial parameter sequence r(i), exponent k = [s.sub.1], and initial value [x.sub.0] (1, 1), from the second round, set r(i) = [x.sub.1] (1, i), and so on. Similarly, iterate equation (2) with r(i) and initial values [x.sub.0] (2, 1), [x.sub.0] (3, 1), and [x.sub.0] (4, 1), respectively. Finally, we can obtain four variable values [x.sub.r] (1, n), [x.sub.r] (2, n), [x.sub.r] (3, n), and [x.sub.r] (4, n) to serve as new initial values of equation (2) with exponent k = [s.sub.2].

Step 4 (hash value generation): after iterating equation (2) 300 times to eliminate the transient process, continue to iterate it len/16 times using four initial values [x.sub.r] (1, n), [x.sub.r] (2, n), [x.sub.r] (3, n), and [x.sub.r] (4, n) with the salt sequence k [member of] {[s.sub.1], [s.sub.2], ..., [s.sub.16]} as salt in turn to obtain four variable sequences [x.sub.TS] (j), [y.sub.TS] (j), [z.sub.TS] (j), and [u.sub.TS] (j), j [member of] [1, len/16]. Transform them into unsigned integers within the interval [0, 255] using equation (6) to generate two groups of hash value [H.sub.1] and [H.sub.2] in hexadecimal form using equation (7), and concatenate them to obtain the final hash value H = [H.sub.1] [parallel][H.sub.2]:

[mathematical expression not reproducible], (6)

[mathematical expression not reproducible]. (7)

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 one-time 256-bit external key K; hence, the key space S = [2.sup.256] [22]. which is large enough to resist the brute-force 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 16-qubit 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 1024-bit 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.sub.256] and [H1.sub.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 1024-bit hash values of a null string; from Figure 5, we can infer that the distributions of hash values are also uniform.

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 one-bit 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 L = len * 50 is generated, and len-bit hash value is calculated. Second, a single bit in M is changed, and a new len-bit 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 = 256-bit, 512-bit, and 1024-bit, 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 128-bit, 256-bit, and 512-bit, i.e., about 50% bits are changed; hence, the results of diffusion and confusion are ideal.

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.sub.i] denotes the number of different bits between the hash values obtained in the i-th test, [B.sub.min] denotes the minimum number of different bits, [B.sub.max] denotes the maximum number of different bits, [bar.B] denotes the mean changed bit number, P denotes the mean changed probability, [DELTA]B denotes the standard deviation of numbers of changed bits, and [DELTA]P 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 1024-bit. 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 [bar.B] is very close to the ideal number of changed bits len/2, 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 [DELTA]P and [DELTA]B 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. Meet-in-the-Middle Attack. To seek a collision, the meet-in-the-middle 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 meet-in-the-middle 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 len-bit hash values are calculated and stored in ASCII form (8-bit per character). Then, we randomly change one bit to M1, calculate its hash value, and compare two hash values to obtain the absolute difference d between two hash values using the following equation [12]: len/8

d = [len/8.summation over (i=1)] [absolute value of dec([e.sub.i]) - dec([e'.sub.i])], (8)

where [e.sub.i] and [e'.sub.i] denote the i-th ASCII character of two hash values and the function dec 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 SHA-2, SHA-3, and other chaos-based 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) One-time keys: we assign different one-time 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 k 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 i7-6500U, 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 one-time keys adaptively, key expansion, and hash length extension, are taken to resist against the rainbow table attack. Three steps of message pre-encoding, 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 256-bit, 512-bit, 1024-bit, or longer hash value through a parameter switcher. Any characters, including single-byte and double-byte 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 chaos-based parallel hash algorithm that can resist attacks from the quantum computing.

https://doi.org/10.1155/2020/4071721

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

[1] M. Nofer, P. Gomber, O. Hinz, and D. Schiereck, "Blockchain," Business & Information Systems Engineering, vol. 59, no. 3, pp. 183-187, 2017.

[2] M. J. Schiereck, Sha-3 Standard: Permutation-Based Hash and Extendable-Output Functions, Federal Inf. Process. Stds. (NIST FIPS)-202, Gaithersburg, MD, USA, 2015.

[3] X. Wang, Y. L. Yin, and H. Yu, "Finding collisions in the full SHA-1," Advances in Cryptology-CRYPTO 2005, vol. 3621, pp. 17-36, 2005.

[4] 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.

[5] T. Fox-Brewster, Google Just "Shattered" an Old Crypto Algorithm-Here's Why That's Big for Web Security, Forbes, Waltham, MA, USA, 2017.

[6] J. Guo, G. Liao, G. Liu, M. Liu, K. Qiao, and L. Song, "Practical collision attacks against round-reduced SHA-3," Journal of Cryptology, vol. 33, no. 1, pp. 228-270, 2019.

[7] 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.

[8] D. Xiao, X. Liao, and S. Deng, "One-way Hash function construction based on the chaotic map with changeable-parameter," Chaos, Solitons & Fractals, vol. 24, no. 1, pp. 65-71, 2005.

[9] 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.

[10] H. S. Kwok and W. K. S. Tang, "A chaos-based cryptographic hash function for message authentication," International Journal of Bifurcation and Chaos, vol. 15, no. 12, pp. 4043-4050, 2005.

[11] S. Deng, Y. Li, and D. Xiao, "Analysis and improvement of a chaos-based Hash function construction," Communications in Nonlinear Science and Numerical Simulation, vol. 15, no. 5, pp. 1338-1347, 2010.

[12] H. Liu, A. Kadir, and J. Liu, "Keyed hash function using hyper chaotic system with time-varying parameters perturbation," IEEE Access, vol. 7, no. 1, pp. 37211-37219, 2019.

[13] J. S. Teh, K. Tan, and M. Alawida, "A chaos-based keyed hash function based on fixed point representation," Cluster Computing, vol. 22, no. 2, pp. 649-660, 2019.

[14] 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.

[15] Y. Li, "Collision analysis and improvement of a hash function based on chaotic tent map," Optik, vol. 127, no. 10, pp. 4484-4489, 2016.

[16] Y. Li and X. Li, "Chaotic hash function based on circular shifts with variable parameters," Chaos, Solitons & Fractals, vol. 91, pp. 639-648, 2016.

[17] Y. Li, G. Ge, and D. Xia, "Chaotic hash function based on the dynamic S-Box with variable parameters," Nonlinear Dynamics, vol. 84, no. 4, pp. 2387-2402, 2016.

[18] J. Horalek, F. Hollk, O. Horak, 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.

[19] 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.

[20] F. J. S. Moreira, Chaotic Dynamics of Quadratic Maps, IMPA, Colchester, UK, 1993.

[21] 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.

[22] 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.

[23] A. Kanso and M. Ghebleh, "A fast and efficient chaos-based keyed hash function," Communications in Nonlinear Science and Numerical Simulation, vol. 18, no. 1, pp. 109-123, 2013.

[24] G. Bertoni, J. Daemen, M. Peeters, and G. Van Assche, "The keccak sponge function family, 2011, submission to NIST's SHA-3 competition," 2011.

Hongjun Liu, [ID] (1,2) Abdurahman Kadir, [ID] (3) Chao Ma, (1) and Chengbo Xu (1)

(1) School of Mathematical Sciences, University of Jinan, Jinan, Shandong 250022, China

(2) Shandong Famous Teacher's Workshop, Weifang Vocational College, Weifang, Shandong 262737, China

(3) School of Information Management, Xinjiang University of Finance and Economics, Urumqi 830012, China

Correspondence should be addressed to Hongjun Liu; wfliuhongjun@126.com

Received 9 December 2019; Revised 26 April 2020; Accepted 14 May 2020; Published 20 July 2020

Caption: Figure 1: Bifurcation diagram, phase diagram, and Lyapunov exponent of equation (1).

Caption: Figure 2: Bifurcation diagram, phase diagram, and Lyapunov exponent of equation (2).

Caption: Figure 3: Flowchart of the hash algorithm.

Caption: Figure 4: Distribution of M1 and its 256- and 512-bit hash values.

Caption: Figure 5: Distribution of 256-, 512-, and 1024-bit hash values of a null string.

Caption: Figure 6: Distribution of the total number of different bits. (a) 256-bit hash value. (b) 512-bit hash value. (c) 1024-bit hash value.
```Table 1: The corresponding hash value under different conditions
and Hamming distance.

Hamming
Message              Hash value in hexadecimal format         distance

37F6221D725A63337128

CCA2C19060DAAA24C62

[H3.sub.256]   0FD77424F0640281DA91ACB2836416D382A0CCD15522D    120
9B876B75A15CC68E60D

[H4.sub.256]   FA4B99531FD9978E0B40AF6B800F0592F2FDF06EF6EA6    142

[H5.sub.256]   FCACEDF832033220D6D3FB589966278D644F7548EDE9     137
F3C2192D457DBC99E115

[H1.sub.512]   28EB279A3633EB07A253B2C1F1ABDD111903DEA29F667     0
B62A39D234434EE09D4D4262D645150C62CDC687D9802
B13CFB20CFE079CF01A1CD7DC811CB58D1A0BB

[H2.sub.512]   EF6634EABC0BCD0371A69EE1A9E03F36E21A6D28A60A9    236
34B393C76A66CF89C1EBA1659024A2ED832B8053C8E41

EC6B517A6F3E3DE3B4FE4B23F85846212C0ED8

[H4.sub.512]   CE146D559E4705C31DDCC5948A0F8D0485599C3BC6D6A    264
1CD6F10AFDF09387E9961EFE55A49A5E5A2A6B0B77233
9776B0445D27DEE4C3F7EF5E85F9DEA81BDA13

[H5.sub.512]   13D4A9E9D793F8F2722623480F2621AF8432F46028D22    260
2032BFD10C3E4BB1F9A22D61FD6208E871ACFFC9DC42
C503EDD8BD1A5BE27E9611AA282FE303D1BD71B

[H1.sub.1024]  D9D5507D603DD2D341CDB1640BCEC032365A30AE9EF14     0
6591BE4D78CE19E8DF5BF35AE3B7
5D207A07F8352B88E824D1B013A5094FE3CBAE39C4A2
11BCA1A0CD957AED7918CC55CBB35E0F4D4F69A27F5CA
1657A5CF6B960908AF4861199C868C6013F437616EF
916010

[H2.sub.1024]  19410779749888635E7934935B3D0342BD7A7C2269D5     477
72414F8B6781F571C074E6FE4261BD9712FE255422AC
A52CD1D2D64DAE420AC1257EFA24EBDEFA12374CDFB90
4C9B5
1B36D3853BEF658050C6F48EDE783EF1869CA33816E6
39459AF958372E7F7D3662CD9B89F890B17FEC2AFA6F
8B4C89FDE9AF3E79FA7D8D86BDF779

[H3.sub.1024]  ED2F304D1B9A0003E9811930DA7E1224DE7AAE268E18     503
AC0FE801A47202DB6B7833C6930C4DB478B2EA3D946A
5CD87C3E49BFFB4C8F5D66376F326EA140F58442D9CD
FDBEC1D18E39033C90870F26F214528D8410BD757307
6FCE4B1B447866C83832663A684DBA3D6FF15C460F7
50B419C

[H4.sub.1024]  85D92E2E37F5E76A224B8F8228E6085CAEEBF1EC2E71     488
9DA30817E00AB30505675AC9A1EF6482002EF0BDDA46
6D0F1BA9953D927C35BB07C4AA6BF1832881933B11C
583ED1CED4C025EE622A0EC4F520CABE5197569006F3
661B8349C20DEB3BC27197
80AC152E93D2AFD97284048BB3A46337508AC8E795F     515
133B1DC8F65E0D04C33D48FC2EE4B5AC7531DD3EE3E9
34C7249041A325A44CDC9DCC6B1B59A715D6FE4AE5
727191A8ED83BF
CAFB6DCE46C57AC329E5D84D2DA1CD1571B1C6D58DB
C10929CB9437224EC2C1B92C1CC2FD00D039A684DDD
00235F69A579183AA05E84E1314

Table 2: Statistical result for a 256-bit hash value.

N = 256   N = 512   N = 1024   N = 2048   N = 4096

[B.sub.min]       107       99         99         99         99
[B.sub.max]       145       150       150        152        153
[bar.B]         128.87    128.32     128.29     128.15     128.05
P(%)             50.34     50.12     50.11      50.06      50.02
[DELTA]B         7.59      7.95       7.81       7.80       7.86
[DELTA]P(%)      2.96      3.11       3.05       3.05       3.07

Table 3: Statistical results for a 512-bit hash value.

N = 256    N = 512    N = 1024   N = 2048   N = 4096

[B.sub.min]        229        222        220        220        220
[B.sub.max]        289        293        293        299        299
[bar.B]           257.21     257.26     256.47     256.08     255.99
P(%)              50.23      50.24      50.09      50.01      49.99
[DELTA]B          11.33      11.56      11.48      11.42      11.30
[DELTA]P(%)        2.21       2.26       2.24       2.23       2.21

Table 4: Statistical results for a 1024-bit hash value.

N = 256    N = 512    N = 1024   N = 2048   N = 4096

[B.sub.min]       470        469        462        456        451
[B.sub.max]       549        555        562        562        567
[bar.B]          511.33     511.03     511.41     511.70     512.20
P(%)             49.93      49.90      49.94      49.97      50.02
[DELTA]B         15.84      15.52      15.94      16.16      16.11
[DELTA]P(%)       1.55       1.51       1.56       1.58       1.57

Table 5: Comparison with other algorithms for 256-bit hash value
and N = 2048.

Hash algorithm       [B.sub.min]    [B.sub.max]    [bar.B]     P(%)

SHA2-256                 100            155         127.98    50.00
SHA3-256 [24]            100            154         127.96    49.98
[6]                      101            168         128.08    50.03
[22]                     103            155         128.81    49.93
[23]                     102            161         128.00    50.00
Our hash algorithm        99            152         128.15    50.06
(256-bit)

Hash algorithm       [DELTA]B     [DELTA]P(%)

SHA2-256                8.10          3.16
SHA3-256 [24]           8.04          3.14
[6]                     8.12          3.21
[22]                    8.13          3.18
[23]                    8.02          3.13
Our hash algorithm      7.80          3.05
(256-bit)

Table 6: Comparison with other algorithms for 512-bit hash value
and N = 2048.

Hash algorithm       [B.sub.min]    [B.sub.max]    [bar.B]     P(%)

SHA2-512                 215            292         256.27    50.05
SHA3-512                 216            287         254.75    49.76
[22]                     219            296         255.89    49.98
[23]                     223            296         256.10    50.02
Our hash algorithm       220            294         255.69    49.94
(512-bit)

Hash algorithm       [DELTA]B     [DELTA]P(%)

SHA2-512               11.51          2.25
SHA3-512               11.32          2.21
[22]                   11.27          2.20
[23]                   11.12          2.17
Our hash algorithm     11.45          2.24
(512-bit)

Table 7: Comparison with other algorithms for 1024-bit hash value
and N = 2048.

Hash algorithm       [B.sub.min]    [B.sub.max]    [bar.B]     P(%)

[22]                     450            565         511.89    49.99
[23]                     461            572         512.06    50.00
Our hash algorithm       450            562         511.72    49.97
(1024-bit)

Hash algorithm       [DELTA]B     [DELTA]P(%)

[22]                   16.08          1.57
[23]                   15.96          1.55
Our hash algorithm     15.90          1.55
(1024-bit)

Table 8: Absolute difference for hash values for N = 10,000.

Mean
d per
Absolute difference            Maximum d  Minimum d  Mean d  character

256-bit [22]                     4,118      1,758    2,878    89.938
256-bit [23]                     4,138      1,686    2,732    85.375
SHA2-256                         3,757      1,786    2,776    86.746
SHA3-256                         3525       1,825    2,741    85.675
Our hash algorithm (256-bit)     3,931      1,573    2,754    86.081
512-bit [22]                     7,369      3,958    5,476    85.563
512-bit [23]                     7,210      3,971    5,463    85.359
SHA2-512                         7,132      3,840    5,430    84.852
SHA3-512                         6,481      5,678    5,612    87.684
Our hash algorithm (512-bit)     7,036      4,532    5,642    87.293
Our hash algorithm (1024-bit)   13,041      8,439    10,781   84.226
```
No portion of this article can be reproduced without the express written permission from the copyright holder.

Title Annotation: Printer friendly Cite/link Email Feedback Research Article Liu, Hongjun; Kadir, Abdurahman; Ma, Chao; Xu, Chengbo Mathematical Problems in Engineering Report 9CHIN Aug 31, 2020 4494 Predictive Modelling and Surface Analysis for Optimization of Production of Biofuel as A Renewable Energy Resource: Proposition of Artificial Neural... Local Exact Controllability to the Trajectories of Burgers-Fisher Equation. Algorithms Applied research Cryptography Hashing (Computer programming) Hashing (Computers)