DEVELOPMENT AND INVESTIGATION OF THE KEY STREAM GENERATORS ON THE BASE OF CELLULAR AUTOMATA

1PhD, Associate professor, Associate professor of software department, Chernivtsi Yu. Fed’kovych National University, Chernivtsi, Ukraine 2PhD, Associate professor, Associate professor of software department, Chernivtsi Yu. Fed’kovych National University, Chernivtsi, Ukraine 3Assistant professor of software department, Chernivtsi Yu. Fed’kovych National University, Chernivtsi, Ukraine 4Dr. of Science, Professor, Head of the software department, Chernivtsi Yu. Fed’kovych National University, Chernivtsi, Ukraine

Today most of us are living in the information society. The result of this is a large amount of information, which is transmitted by the telecommunication systems. With an open data also increase amounts of confidential information, requirements for protection of which considerably amplified. Such tendency is observed in Ukraine, especially with the introduction of the personal data protection law. If at the beginning of the computer systems development means for protection of the files, which are transmitted by the network, were used, then today on foreground is protection of information in real time.
At the same time, in Ukraine smart cards are rapidly introduced into the daily life. Now the introduction of electronic passports, medical cards, student tickets and classification books is discussed. The number of different mobile devices is rapidly increasing. Most of these gadgets have limited computing resources, but they also need to protect data transmitted open communication channels. In any protection system, such as authentication, PINcode verification and so on, generators of pseudorandom sequences are used. Limitedness of computing resources requires the development of simple generating systems, which would easily compute in parallel. Speed parameters of protection systems and their optimization for specialized real time tasks become crucial. The best for these goals cellular automaton fit.
The main purpose of this paper is the development of the binary key stream generators based on cellular automata, investigation its statistical characteristics and linear complexity.

PROBLEM STATEMENT
Let us call the one-dimensional cellular automaton the array C[i], where і=[0, n-1], each element of which are logical zero or one. The automaton state at each time determined by the all its elements states. Automaton transition in a next state is determined by so-called transition rules, which are determined by the elements (cells) interaction with other cells that are at some distance from the selected cell. Elementary interaction rules, defined in [1], set the cell interaction with nearest neighbors.
For example, the famous rule «30» may be written as a Boolean function: or as an arithmetic function: To avoid the first and last cell's problem automaton is «rolled» in the torus.
Researchers can also design your own transition rules that take into account the interaction with randomly or pseudo-selected cells, or with no-neighboring cells. This makes the CA modifications and their use almost unlimited.

REVIEW OF THE LITERATURE
The first conclusions about the usage of CA for pseudorandom binary sequences generation in cryptographic purposes are found in the Stephen Wolfram work [1]. Soon investigations aimed at proving of the feasibility of specific applications realization appear [2][3][4][5][6]. In the past ten years there have been publications that describe specific generation or encryption algorithms based on the cellular automata. Among these works are articles of S. K. Rososhek et al [7] and Jegadish Kumar K. J. [8] which describes the symmetric encryption systems based on twodimensional CA. B. M. Suhinin article [9] is about developed hardware implementation on PLD of a high-speed pseudorandom binary sequences generator on the basis of  CA. Norziana Jamil article [10] is devoted to the development and researching of hash function, which uses elementary CA rules for mixing bits of a message. However, despite of the use of the elementary rules of CA cell interactions in the cryptographic purposes, their statistical properties are insufficiently studied. For example, there is no rigorous justification for the certain rules using, the possibility of their combinations using, compatibility, linear complexity, and other characteristics that may influence on the effectiveness of one-dimensional CA application.
Elementary rules of CA interaction were identified and classified by Stephen Wolfram in [11]. Totally 256 rules of the cell interaction, divided into several classes are allocated. Each class is formed of the, so-called, statistically equivalent rules, i.e. those that can be derived from each other using simple logical change -conjunctive, reflexive and conjunctive-reflexive. Also in [1] mentions that the rule «30» by its statistical characteristics can produce qualitative generator of pseudorandom binary sequences. Therefore, for research were selected all rules belonging to one class with the rule «30» («86», «135», «149») and a few others for comparison [12].
Conducted researches prove that all rules which are in a same class with the rule «30» have such statistical properties [8], which allow use them in different modifications for developing of the cryptoresistant pseudorandom binary sequences generator. As modifications, various options of array outputting, the initial generator state effect and etc. were investigated [13].

MATERIALS AND METHODS
The next question that should be explained -how these characteristics can be improved by using combinations of cell interaction rules. In [14][15] it is shown that the best results show a combination of rules that belong to the same class, and combined rules must also have good statistical properties. So we have to use a combination of rules «30», «86», «135», «149».
The sequences bits were combined in the following way. We use four cellular automata that implement these intercellular rules. Each CA output bits was selected by the formula: The output bits was combined each other in various ways, but the best statistical characteristics was demonstrated by generator, which sequence was formed by the rule: Another way to study the suitability of CA to generate high-quality pseudorandom key sequences was designing of intercellular interaction alternative rules.
We can propose the following rule. CA contains cells with logical «1» and «0». We use the address array A[i] to select the interacting cells. This array contains decimal numbers (cell's addresses) from 1 to n, pseudo-random filled and duplicated in the buffer array В [i]. Cells interact by the simple rule on the base of XOR. Interacted cells are selected as follows: ; ' These steps continue as long as necessary for encryption or investigation of the statistical and other generator's characteristics. We have investigated the statistical characteristics and the linear complexity of the obtained key sequences. In the last case we've used the Berlekamp-Massey algorithm [16].
In all cases we have a binary stream, which have been used as key stream in G. Vernam cipher (one-time pad).

EXPERIMENTS
Computer programs that implement the proposed generators and encryption systems have been developed. In all cases, we've used cellular automata length of 256 bits.
Statistical investigations of the obtained sequences were performed by the NIST STS technique, which is usual for pseudorandom generators testing [17].
According to this technique it was generated the binary sequences with the length of 10 8 bits each. The sequences were fed to the input of NIST STS v.1.8 as a text file. Statistical suite divided these sequences at the 100 equal parts of 10 6 bits each, making it possible to explore the 100 sequences.
These sequences have been tested by 16-th different groups of tests: frequency and block-frequency tests; cumulative-sums test; runs and longest-run tests; binary matrix rank test; digital Fourier transform; nonperiodic-and overlapping-templates tests; universal test; randomexcursions tests; serial test; Lempel-Ziv test; linearcomplexity test.
Because of these tests are running with different parameters, we've obtained the vector with 189 values.
Details of the method are described in [11], but we can assume that the whole key sequence have passed the statistical test only if at least 96 of the 100 investigated parts have passed the test.
NIST STS returns the sequence statistical portrait in the text file «FinalAnalysisReport», and than we have built the resulting histograms are shown below.
Additionally we performed linear-complexity tests by the Berlekamp-Massey algorithm for the 256-, 2560-and 25600-bits key sequences. In all cases, we have generated 10 sequences and calculated linear complexity for each of them.

RESULTS
Statistical testing results are shown in the fig. 1-2.
The results of linear-complexity investigations are shown in fig. 3. We've studied the various elementary rules for cellular automaton length of 256 bits. As a final result of our research, we have developed software for secure data exchange. The software allows you to share encrypted audio information in real time and provides secure text messages (chat) and file exchange. We have used the G. Vernam cipher on the base of developed key sequence generators.
The results of the statistical tests of the input text and encrypted file are shown in fig. 4-5.

DISCUSSION
One can see from fig. 1-2, the developed generators have successfully passed all of the statistical NIST tests. In the first case, almost all tests passed with the value >0.97 and only two of them are below this mark.
In the second case (see fig. 2) only five tests are passed with the value 0.96 and rest of them -with the value 0.97 or higher.
These results indicate the high statistical characteristics of the developed generators.
The high statistical characteristics are confirmed by large values of linear complexity. As one can see from fig. 3, the linear complexity values are located near the half of CA length: ~128 for 256-bit CA; ~ 1280 and 12800 -for 2560and 25600-bit CA respectively. It is known (see [18]) that the high linear complexity values are traditional for binary pseudorandom generators, which was demonstrated in our paper. Moreover, the NIST STS also has a linear-complexity test, and all our generators have passed it with the value not less than 0.98. High linear complexity values was shown by those generators, which not demonstrated the satisfactory statistical characteristics, such as rules «22», «54», «73», «150», «158». Perhaps in the future one can use these rules in the hash function or block ciphers construction as an additional diffusion or confusion element.
The statistical portraits of the input text and encrypted by stream cipher file are shown in fig. 4-5. It was necessary to perform such investigations in order to assess the quality of encryption subsystem in the actual operating conditions. Fig. 4 shows that the input file (Microsoft Word document) passed only three from 189 NIST STS tests. The encrypted file passed all 189 tests (see fig. 5). This fact confirms the results of statistical investigation of the generator on the base of (2), which was used in this software.
The aim of this development was to show the potential of the developed generator applying in the stream data exchange systems. This software gives an opportunity of the real time data exchanging for the network users. It can provide secure voice communication or protected text messages transmission (chat) or other files exchange. The software architecture is client-server and can be used in peer-to-peer networks [19].
When two subscribers open the connection generation and synchronization of encryption key using Diffie-Hellman-Merkle algorithm is implemented. The received general key is used for stream encryption based on cellular automata system initialization, or for symmetric cryptosystem based on Blowfish encryption algorithm session key creation.
CONCLUSION Summarizing the conducted researches, we can make the following conclusions.
1. For the first time the systematic researches of the statistical characteristics of the pseudorandom binary sequences generators on the basis of elementary CA were conducted. The possibility of modified cell interaction rules application for pseudorandom sequences generating is shown.
2. It was shown that one of the effective ways to increase such generators cryptoresistance is a combination of different cell interaction rules.
3. For the first time the simple interaction rule on the base of XOR was proposed. This rule allows generating binary sequences with good statistical characteristics.