A Grey Pseudo Random Numer Generator Yi-Fung Huang 1 Kun-Li Wen 2 Chu-Hsing Lin 3 Jen-Chieh Chang 4 1, 3, 4 Department of Computer Science and Information Engineering Tunghai University, Taichung, Taiwan yifung@thuedutw, chlin@thuedutw, g942817@thuedutw 2 Department of Electrical Engineering, GSRC, Chiennkuo Technology University, Changhua, Taiwan klw@ccckitedutw Astract In this paper, we apply the Grey Theory to the generation of pseudo random numers and propose a Grey Pseudo Random Numer Generator The experimental result shows that the grey pseudo random numer generator has some advantageous features The generated pseudo random numer sequences pass the FIPS PUB 140-2 tests By using Chi-square test on 120,000 generated grey pseudo random numer sequences, each sequence contains 2,500 integers, we have 98% of them are acceptale through the goodness-of-fit tests Besides, the generated sequence has long period; the length of the period exceeds 10 16 ytes Keywords and Phrases: Pseudo random numer generator, cryptographically secure pseudo-random sequence, Grey Theory, Grey pseudo random numer generator (GPRNG), FIPS 140-2, Chi-square test 1 Introduction Pseudo random numer sequence has very important applications in cryptography such as key generation There are some conventional methods for generating pseudo random numer sequences: Linear Feedack Shift Register (LFSR) [1~3], Linear Congruence Generator (LCG) [4~6], Nonlinear Random Numer Generator [7] For application purpose, a sequence is cryptographically secure pseudo-random sequence if it has two properties: It looks random It passes all the statistical tests of randomness that we can find (2) It is unpredictale It is not periodic with reasonale length enough for applications[8] It is not easy to design a secure and fast pseudo random numer generator [9] In this paper, we propose a Grey Pseudo Random Numer Generator (GPRNG) that can generate pseudo random numer sequence and pass the statistical tests of FIPS PUB 140-2 (Federal Information Processing Standards Pulication 140-2) [10] and Chi-square test In summary, our proposed method has the following features: 171
The generated pseudo random numer sequences can staly pass all the tests in FIPS PUB 140-2 and the passing rate could e over 999% under 120,000 data tests (2) By using Chi-square test on the 120,000 pseudo random numer sequences generated y our method, each sequence contains 2,500 integers; we have acceptance rate of 98% (3) The generated grey pseudo random numer sequence has long period; the length of the period exceeds 10 16 yte (4) If there is a tiny difference etween two input data, the pseudo random numers generated will e entirely different and irrelevant We develop a software program to implement our method for the generation of sequences, called grey pseudo random numer sequences The generated grey pseudo random numer sequences are suject to the FIPS PUB 140-2 random numer tests and Chi-square Test In Section 2, the mathematical ackground for the GPRNG is riefly descried The GM(1,1) grey model, ladder increase, inner product operation and mod operation are integrated and applied in the GPRNG Method for finding the length of the period of grey pseudo random numer sequence is also discussed In Section 3, we show the experimental results Finally, we give some conclusion 2 Grey Pseudo Random Numer Generator The Grey Theory is proposed in 1982[11], the word grey means in-completeness and un-determinaility It is applied to handle some of in-complete and un-determinale prolems The grey prediction [12] is a domain of the grey system, which is used for anticipating the future status of any grey condition GM(1,1) [13,14,15] is one of the mathematical models of grey prediction The GM(1,1) is a model of predicting process, which uses an accumulated generation operation (AGO) and some equations to produce an infinite grey sequences In this paper, we apply the features of GM(1,1) to design our GPRNG Based on the GM(1,1) model, y giving a finite original sequence X, called the initial sequence, we create an infinite pseudo random numer sequence Before we start it, we first define some notations: n : the length of a grey sequence (2) AGO : Accumulated Generation Operation (3) X : the i-th AGO grey sequence ( ) (4) x i ( k) : k-th element of the i-th AGO grey sequence ˆ i ( ) (5) X : i-th prediction AGO grey sequence (6) xˆ ( i ) ( k) : k-th element of the i-th prediction AGO grey sequence (7) Y : i-th modified AGO grey sequence ( ) (8) y i ( k) : k-th element of i-th modified AGO grey sequence 172
21 The creation of an infinite grey numer sequence Step 1 Initial grey sequence X is given y a user X = ( x, x (2), x (3),, x ( n)) x ( 0) ( k) R +, 1 k n Step2 1 st AGO grey sequence X is computed from X y using X = ( x, x (2), x (3),, x (n)) (2) k ( 1) x k = ( ) x ( h), 1 k n = 1 h Step 3 1 st prediction AGO grey sequence X ) is calculated as follows Xˆ = (xˆ, xˆ (2), xˆ (3),, xˆ (n), xˆ (n + 1)) (3) xˆ ]e a +, 0 k n a ak (k + 1) = [x, and according to GM(1,1) model, the solution of a and is a = ( B B) ( x (2), x (3), x (4),, x ( n)) A =, T 1 B T A 1 (x + x (2)) 2 1 (x (2) + x (3)) 2 B = 1 (x (n 1) + x (n)) 2 Step 4 1 st modified AGO grey sequence Y is otained from y Y = (y, y (2), y (3),, y (n)) (5) (k) = xˆ (k + 1),1 k n Step 5 When j 2, the AGO grey sequence X is as elow x (j) k (k) = = i 1 y X (j) (j) (j) (j) (j) = (x,x (2),x (3),,x (n)) (6) (j 1), 1 k n Step 6 When j 2, the prediction AGO grey sequence Xˆ is as elow xˆ Xˆ = (xˆ, xˆ (2),xˆ (3),, xˆ (n), xˆ (n + 1)) (7) ]e a +, 0 k n a ak (k + 1) = [x and according to GM(1,1) model, the solution of a and is a = ( B B) T 1 B T A ˆX 1 1 1 (4) (8) 173
( i 1) ( i 1) ( i 1) ( i 1) T = ( y (2), y (3), y (4),, y ( n, A )) 1 (x + x (2)) 2 1 (x (2) + x (3)) 2 B = 1 (x (n 1) + x (n)) 2 Note that, if a equal to 0, otained from equation (4) or (8), then we have to set a to e 05 and if xˆ ( i ) ( k) is less than 0 for some k, otained from equation (3) or (7), then we set xˆ ( i ) ( k ( ) ) to e xˆ i ( k) Step 7 When i 2, the modified AGO grey sequence Y is as follows Y y ( k) = xˆ ( k + 1), 1 k n = ( y, y (2), y (3),, y ( n)) (9) As finishing the Step 7, we can increase the variale-i y 1, and then go ack to Step 5, keep on producing the next grey sequence; therefore, we have an infinite grey sequence In Section 22, we let Ψ = Ψ, Ψ, Ψ,, Ψ,) e the pseudo random numer sequence ( 1 2 3 m generated y the GPRNG Parameter q is used for assigning the length of pseudo random numer sequence Now let us give some symols used in the following algorithm: Ψ = Ψ, Ψ, Ψ,, Ψ,) ( 1 2 3 m : pseudo random numer sequence (2) q : a parameter used for assigning the length of pseudo random numer sequence (3) Max(Sequence) : the maximum element of a given sequence 22 The algorithm of grey pseudo random numer generator 1 1 1 Step 1 Setting the initial value of count variale i = 1, from equation to equation (5), we have X Y = n k= 1 ψ x 1 X Y mod 256 = (10) (k) y Step 2 For i = i + 1, from equation (6) to equation (9), we have Step 3 For Y If ( Max( Y EndIf ψ t X Y mod 256 (k) = (11) X Y = (y =, y n k = 1 x (2), y ) ) > 256, then (k) y (k) (3), L, y (n)) Ψ ( X Y ) mod 256 (12) 0 = y k) = ( y ( k) + ψ k) mod 26, 1 k n (13) ( 0 174
+ Step 4 If t < q,q Z, then ack to the Step 2 Else go to the Step 5 Step 5 End of procedure Although the sequence Ψ = Ψ, Ψ, Ψ,, Ψ,) is finite, the user can assign the value of ( 1 2 3 q q, when q, the system will approach to an infinite pseudo random numer sequence We note that the grey sequence increased y AGO, make Y like a ladder, the data ecome larger and larger To avoid this situation to e out of control, we need some kind of adjust to keep the value of grey sequence under reasonale range In Step (3) of the Section 22, we take a equation to adjust every sequence elements in Y, in case of the element of Y is larger than 256 We use the inner product and some mathematical methods in Step and (2), to turn our grey sequence with real numers into an integer a pseudo random numer Eventually, we will get an infinite pseudo random numer sequence if we run the pseudo random numer generation algorithm y setting q to e 3 Experimental results For testing and verifying the features of the proposed GPRNG, we develop a program toolox in this paper The main menu is a multiple pages Microsoft window screen, as shown in Fig 1 We may input 5 to 10 real numers to each field appeared in the main menu Fig 1 Main menu of the grey pseudo random numer generator The input real numers are the initial grey sequence for activating the GPRNG The histogram as displayed on the first page of the screen is the result of the generated grey pseudo random numers under Chi-square statistical test The values of the grey pseudo 175
random numers generated y GPRNG ranged from 0 to 255 Therefore, we define 8 numers as one unit There would e 32 units ranged from 0 to 31, as displayed along the X-axis in the histogram The repeat times, called counts, of occurrence for each unit would e plotted against the Y-axis For each experiment we conducted, there would e 2,500 grey pseudo random numers generated The mean value of occurrence of each unit is 78125 times The result of the goodness-of-fit tests is indicated on the top of the histogram The FIPS PUB 140-2 contains the following four methods in testing the randomness: 1 Monoit Test, 2 Poker Test, 3 Runs Test, and 4 Long Run Test The FIPS PUB 140-2 page (as shown in Fig 2) is the results for the four kinds of testing as mentioned aove As we know, the grey pseudo random numers are generated sequentially, if there are two different reseeds Y and Y (j) such that Y = Y (j), j is the smallest integer that greater than i, then the period is equal to ( j i ) After the massive computation for different seeds input, the lengths of periods are different ut always greater than 10 16 ytes 4 Conclusions In this paper, we propose a pseudo random numer generator y applying the Grey Theory From the experiments, we can see that the GM(1,1) produces a certain degree of variation etween the pseudo random numers generated Ladder increase and inner product operation intensify the variation of the uncertainty And the mod operation will pull the pseudo random numer ack to our desired range (0-255) Different input to the algorithm would generate different grey pseudo random numer sequences and determine the quality of the sequence of pseudo random numers generated After massive data is randomly input into the grey sequence (aout 120,000 entries of data), and the output of grey pseudo random numer sequence is compiled into statistical form, we have the following result: The passing rate under FIPS PUB 140-2 tests is as high as 999%; (2) The acceptance rate of the Chi-Square Test is higher than 98%; (3) Under the massive computation y different seed inputs, it shows that the length of period for the generated grey pseudo random numer sequence exceeds 10 16 ytes, (4) Due to the AGO operation on each new reseed, the output of grey pseudo random numer is very sensitive to the input seed After the several statistical tests, we can claim that GPRNG has very high quality However, the arithmetic calculations of the algorithm are somewhat complicated How to simplify the arithmetic calculations ut not loss the variance and entropy of the GPRNS is an interesting topic for further research 176
Fig 2 The results of FIPS PUB 140-2 tests Reference [1] S Palit, B K Roy, Cryptanalysis of LFSR-Encrypted Codes with Unknown Comining Function, International Conference on the Theory and Application of Cryptology and Information Security, 1999, pp 306-320 [2] K Ichino, K Watanae, M Arai, S Fukumoto and K Iwasaki, A Seed Selection Procedure for LFSR-ased Random Pattern Generators, Design Automation Conference 2003, Proceedings of the ASP-DAC 2003, Asia and South Pacific, Jan 2003, pp 869-874 [3] C H Chen, Synthesis of Configurale Linear Feedack Shifter Registers for Detecting Random-pattern-resistant Faults, Proceedings of the 14 th international symposium on Systems synthesis, International Symposium on Systems Synthesis, 2001, pp 203-208 [4] J Boyar Plumstead, Inferring a Sequence Generated y a Linear Congruence, Proceedings of 23 rd IEEE Symposium on the Foundations of Computer Science, 1982, pp 153-159 [5] J Boyar, Inferring Sequence Produced y a Linear Congruential Generator Missing Lower-Order Bits, Journal of Cryptology, vol 1, no 3, pp174-184, 1989 [6] A Pfeiffer, Overview of the LCG Application Area Software Projects, Nuclear Science Symposium Conference Record, 2004 IEEE, Oct 2004, pp 2020-2023 177
[7] E L Key, An Analysis of the Structure and Complexity of Nonlinear Binary Sequence Generators, IEEE Trans Information Theory, vol IT-22, no 6, Nov 1976, pp 732-736 [8] B Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2 nd Edition, John Wiley & Sons, Inc, 1996 [9] P Hellekalek, Good Random Numer Generator Are (not so) Easy to Find, Mathematics and Computers in Simulation, vol 46, June 1998, pp 485-505 [10] Federal Information Processing Standards Pulication 140-1, Security Requirements for Cryptographic Modules, Cryptographic, Computer Security, National Institute of Standards and Technology (NIST), http://csrcnistgov/pulications/fips/fips1401htm [11] K L Wen, Grey Systems: Modeling And Prediction,Yang s Scientific Research Institute, AZ, USA, Octoer, 2004 [12] H K Chianq, C H Tseng, Integral Variale Structure Controller with Grey Prediction for Synchronous Reluctance Motor Drive, IEE Proceedings, Electric Power Applications, vol 151, issue 3, pp 349-358, May 2004 [13] K L Wen, Study of GM(1,N) with Data Square Matrix, Journal of Grey System, vol 13, no 1, pp41-48, 2001 [14] H K Chiou, G H Tzeng and C K Cheng, Grey Prediction GM(1,1) Model for Forecasting Demand of Planned Spare Parts in Navy of Taiwan, MCDM 2004, Whistler, B C Canada August 6-11, 2004 [15] C C Tong, J W Dai, T C Chang and K L Wen, A New Algorithm in Throughput Prediction of ALOHA protocol y using GM(1,1) Model, System, Man, and Cyernetics, 2001 IEEE International Conference, vol 4, pp 2105-2109, 2001 178