Parallel architectures and algorithms will offer a solution to the system bottleneck arising from the need to encrypt very large amount of data without compromising security. In this respect the use of cellular automata (CA) with their parallel, simple, regular and modular structure is very promising. So far proposed cryptosystems based on CA use iterations of binary, 1D CA. We extend the block-cipher algorithm, based on the backward iteration and forward iteration of so-called 'toggle' CA rules to two-dimensions. Higher dimensional CA have more complex behavior and in general their inversion is a NP problem, therefore they are potentially resistant against cryptanalytical attacks. Other advantages are substantial increase in the speed of the algorithm, parallel with the increase in the block size and key length. The algorithm allows customized block and key size. It uses two independent keys, each of them sufficient for secure encryption. This allows one of the keys to be replaced by the time stamp, user identification information or other relevant information. Hardware implementations of the algorithm are considered.
|