Computational & Technology Resources
an online resource for computational,
engineering & technology publications
PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY
Edited by: B.H.V. Topping, G. Montero and R. Montenegro
Cellular Automata Encryption System
E. Franti1 and M. Dascalu2
1IMT Bucharest, Romania
E. Franti, M. Dascalu, "Cellular Automata Encryption System", in B.H.V. Topping, G. Montero, R. Montenegro, (Editors), "Proceedings of the Fifth International Conference on Engineering Computational Technology", Civil-Comp Press, Stirlingshire, UK, Paper 38, 2006. doi:10.4203/ccp.84.38
Keywords: cryptography, parallel computing, cellular automata, hardware-software co-design.
This paper presents a complex project for the development and design of a cellular automata based cryptographic system. Cryptography is a field of major scientific and technical interest nowadays, mainly because of the increased security demands of different communication systems. The novelty and the main interest in our project is the orientation towards the hardware implementation. Special software has been developed for the analysis of different encryption-decryption strategies with cellular automata. The main issues of cellular automata hardware design are also discussed for the selected cryptosystems. The result is a fast, cheap, efficient and versatile cryptographic system implemented on a FPGA Spartan III platform. In this age of information, communications and electronic connectivity, security is a topic of general interest that should never be underestimated. The security of data bases, of data communications, of internet connections, of scientific research and of personal e-mail and phone calls are examples for cases in which the encryption of data-information plays a major role. Therefore, cryptography has become an important field of theoretical research and applications development, not only in military communications as it was at its origins. Because of its importance, cryptography is nowadays a science by itself, strongly related to other modern research fields as complexity theory, chaos, dynamical systems, computing theory etc. The state-of-the art for the field of cryptography is probably classified as it has military applications, but for the public domain a good reference can be found in [1,2].
Basically, cellular automata are parallel systems that consist of a typically large number of finite automata (finite state machines) as elementary "cells" . The cells are locally connected, in other words the global network supports only local connections. The computing task performed by cellular automata is generally conceived as the global evolution of its configuration, starting from the initial configuration (input data) and leading to an intermediate or final configuration or attraction cycle that are interpreted as a result. The cellular automata model is inspired from the natural model of complex systems that often consist of a large number of simple basic elements, having only local interactions that lead to a complex global behaviour. The strong point of the encryption-decryption process is the algorithm for generating the evolutive key starting from an initial key. Even a weak encryption algorithm may become extremely strong if we use a fluid key with a high degree of invulnerability. For this reason, a great part of the research effort was concentrated on the algorithm for generating the evolutive key. The final solution is based on using the cellular automata and gives a special constructive simplicity, simultaneously with a very high complexity of the evolution of the keys.
For the encryption process was chosen the RC4 algorithm. This algorithm starts with the fact that the input data are represented by a row of 32 multiple numbers of bits, in case of encryption and 64 in the case of decryption. The encryption-decryption key is a row of 64 multiple numbers of bits. The method of the evolutive key generation (implemented and tested by the authors) is based on using the cellular automata for changing the key according to a preset algorithm, during the process of message encryption. The system of evolutive keys implies the continuous change of the key by a predefined law (through the algorithm) in a huge space. Such an algorithm with evolutive keys may be efficiently implemented for real time comunication systems (of data or voice) only on parallel computing systems like cellular automata. The software realized in this phase of our project uses cellular automata with an additional memory layer defined with specific facilities for the generators of the evolutive keys for cryptographic applications.
The hardware implementation is the final stage of the project. The block scheme includes a central unit (CU) (that generates the configuration signals for the word dimension, the synchronization signals and the rules for the cellular automata), the cellular automata (CA) lattice that occupies most of the chip area, the block generator (BG) that divides the original data stream in blocks or words of given dimension and a RC4 circuit. The FPGA platforms used offered the main advantage to be able to test, optimize and adapt at the application type, the encryption systems with parallel computing architectures which will be developed in the future stages of this project. In this direction, it is well known that only 10-15% from the encryption algorithms theoreticaly developed can be used in practical applications, and finally, just a quarter of these can be implemeted. The utilization of the cellular automata for generating evolutive keys, offers a large field for investigation for the development of high efficiency algorithms and encryption keys.
purchase the full-text of this paper (price £20)