You are on page 1of 8

International Journal of Engineering Research and Applied Science (IJERAS)

ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 10

Cellular Automata in Public Key Cryptography
Satyabrata Roy
1
, Subrata Nandi
1

1
Department of Computer Science and Engineeering, KIIT University, Bhubaneswar, India.
satya2k6ster@gmail.com, subrotoster@gmail.com


ABSTRACT: This paper presents a symmetric key cryptography technique that uses cellular automata(CA). Proposed
cryptosystem has been implemented in C. State transitions of programmable cellular automata (PCA) are the basis to define
certain fundamental transformations to encrypt and decrypt in the cryptographic system. Different rule configurations are used
to form group cellular automata that would be used in encryption and decryption.
Keywords- Cryptography, Cellular Automata, Programmable Cellular Automata, Symmetric Key Cryptography, Encryption,
Decryption.
1. INTRODUCTION

In modern era with meteoric rise of global electronic communication, essence of fast and secure techniques to protect large
amount of information transmitted through communication channel has become a must. Encouraging areas of cryptographic
algorithms covers two broad categories: processing of big-data at real time and that of small data at real time.
Of late, many researchers have found analogy between bio-inspired systems like cellular automata(CA), chaos and
cryptography[6]. Many a characteristics of cellular automata can be corresponded with the essential cryptographic properties i.e.
Balancedness, correlation-immune, nonlinearity, easy to implement in hardware. CA cryptosystems can give similar performances
compared to classic methods that are based on computational techniques. The cryptosystem proposed here uses a single block of
one dimensional programmable cellular automata(PCA).
The outline of this paper is as follows. The following section describes fundamentals of the proposed work. We have discussed
some basics of cellular automata and programmable cellular automata. Section III presents the idea of using PCA theory to
construct a block encryption technique. This section presents the configuration of the entire PCA based encryption system. Section
IV contains experimental results. Section V presents the conclusion of this paper and future research direction.
2. CELLULAR AUTOMATA FUNDAMENTALS

A Cellular Automata (CA) is an infinite regular lattice of simple finite state machines that changes their states synchronously,
according to a local update rule that specifies the new state of each cell based on the old state of its neighbors. S. Wolfram
popularized CA[3] which was pioneered by J. V. Neumann[1]. Here we can consider an example of 2 states (0 and 1) and 3
neighborhood one dimensional CA .

TABLE 1. RULES FOR NEXT STATE UPDATES
Rules 111 110 101 100 011 010 001 000
51 0 0 1 1 0 0 1 1
60 0 0 1 1 1 1 0 0
102 0 1 1 0 0 1 1 0
153 1 0 0 1 1 0 0 1
195 1 1 0 0 0 0 1 1


International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 11

The top row displays all the three possible states of the three neighboring cells at time t and the 2
nd
, 3
rd
,and 4
th
row give the
corresponding state of the x-th cell at time t+1. Suppose we consider an array of n cell with its degree n-1, and its cell value is
a
1,
a
2,
.........,a
n-1,
where a
j
={0,1}.
CA rule =

=

1
0
n
i
i
i
x a where x=2.
Rule 51 : ) ( ) (
1
x P x P
t t
=
+

Rule 60 : ) 1 ( ) ( ) (
1
=
+
x P x P x P
t t t

Rule 102: ) ( ) 1 ( ) (
1
x P x P x P
t t t
+ =
+

Rule 153: ) ( ) 1 ( ) (
1
x P x P x P
t t t
+ =
+

Rule 195: ) 1 ( ) ( ) (
1
=
+
x P x P x P
t t t

The state transition of a CA can be expressed by matrix representation:

| | | | | | ) ( ) (
1
x P T x P
t t
=
+
(1)

Where P
t
(X) and P
t+1
(X) describe the CA state at t - th and (t+1) - th clock cycle. T is the characteristic matrix of CA, which
contains rules of all cells. The characteristic matrix T is a nn (for n cells) square matrix constructed according to the rule of each
cell in a CA. The i-th row assigns a rule applicable to the i-th cell If the next state of the i-th cell depends on a certain cell, them the
latter's corresponding position in matrix T is set to '1' , otherwise it is set to '0'. Figure 1 depicts the structure of cellular automata
cells.


Fig. 1 Cellular automata structure

2.1 Group CA
A CA is called a group CA is called group CA if Det[T]=1 and if all the states of a CA under its rule matrix form a single
cycle or multiple cycle such that there exists a m such that
| | I T
m
= ( I is the identity matrix) (2)
| | | | | | ) ( ) ( x P T x P
t
n
n t
=
+
(3)
Where n is the order of the group.
International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 12


2.2 Additive and Non Additive CA
If the rules of the CA cell involves only EXOR logic, it is called linear CA. A CA having all cells linear rule is called linear CA.
Rules involving EXNOR logic is called Complemented Rules. A CA having combination of EXNOR and EXOR logic is called
Additive CA. The rules with AND-OR logic is called Non additive CA[4].
2.3 Programmable Cellular Automata
Concept of programmable cellular automata was incepted in [2]. PCA gets its importance where the cell of a CA and applied
combinational logic in it is not fixed. It is controlled by the number of control signals in a way such that different CA rules can be
explored with the help of the control signals.
Figure 2 describes the structure of a PCA cell. According to the figure there are three control switches such as c1,c2 and
c3.Using any two of them and other being stopped at a time we can generate the necessary non-complemented and complemented
rules of CA. This structure add huge flexibility. This parallel, high complexity, cascadable and local interconnections features
help us to categorize CA and PCA an ideal model for cryptography.



Fig. 2 Sample cell of a PCA

2.4 Periodic Boundary vs. Null Boundary CA
A CA is called null boundary CA when its extreme neighbors are considered to have value zero, on the contrary, a periodic
boundary CA has its extreme cells as adjacent[4].

3. PCA EENCRYPTION TECHNIQUE
In this paper we have experimented on a one dimensional PCA based symmetric key cryptosystem.

3.1 Theorem 1
If a null boundary uniform or hybrid CA configured with rules 51, 153, and 195 is a group CA, then its state transition diagram
consists of cycles of even length[2].
We have used complemented rules 153, 51 to form group cellular automata of cycle length 8 to encrypt the plaintext and
decrypt the ciphertext. The scheme described in this paper can mathematically be derived as follows:

Ciphertext, P E C
key
=
Plaintext, C E P
key
1
=
where P is a block of plaintext, C is a block of ciphertext, E is a state transition function, key is the secret key(s). The
characteristic matrix T of the CA rules in the fundamental state transition function consists of the following features:
International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 13


( )
1
2
,
. ,

=
=
=
n n
n n
n
T T or
I T T or
I T

where 2n is the cycle length or group order of the CA. There are 256 available combinations of eight cell one dimensional CA
when rules 51,153(195) are applied. Out of these 256 combinations we have used the combination <11110000> where 1 denotes
rule 153 and 0 denotes rule 51.

Our encryption technique consists of two major parts; rule scheduling algorithm and encryption algorithm.


3.2 Rule Scheduling Algorithm
Here all the cellular automata rules, depending on the control signals, are applied on each cells of PCA. A multiplexer has been
used to select these rules.
Step 1: If select bits of multiplexer are 00 or 01, select rule 51.
Step 2: If select bits of multiplexer are 10, select rule 151.
Step 3: Otherwise select rule 195, i.e. if those bits are 11, rule 195 is selected.

3.3 Encryption Algorithm
Input: m numbers of plaintext blocks.
Step1: A block is loaded into PCA.
Step 2: A particular rule configuration is applied to each cell
depending on the rule scheduling algorithm.
Step 3: Run the PCA for four clock cycles.
Step 4: Send one byte of encrypted message to I/O.
Step 5: Repeat step 1 to step 4 until m-blocks are encrypted.

3.4 Decryption Algorithm
Input: m number of ciphertext blocks.
Step1: A block is loaded into PCA.
Step 2: Same rule configuration is applied to each cell
depending on the rule scheduling algorithm.
Step 3: Run the PCA for another four clock cycles.
Step 4: Send one byte of decrypted message to I/O.
Step 5: Repeat step 1 to step 4 until m-blocks are decrypted.

International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 14


Fig. 3 Rule Scheduler
4. EXPERIMENTAL RESULTS
This cryptosystem is implemented in Turbo C. We have chosen C because of its inherent ease to implement in hardware. We
have also used Matlab R2010a for generating patterns of CA rules. 156 combinations of eight length CA rules[5] have been
experimented among which one rule configuration is chosen as the key.
Matlab simulation of the rules i. e. time-space diagrams are given below:


Fig. 4 Rule 51

International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 15


Fig. 5 Rule 153

Fig. 6 Rule 195
Block diagram of encryption and decryption scheme is as follows:


International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 16


Fig. 7 Block diagram of encryption and decryption
Basic logic for the encryption and decryption is shown in the above figure. 8 rounds have been performed with various results. In
the 4 th round the ciphertext is generated and in the 8 th round the plaintext corresponding to the ciphertext is received to ensure
the correctness of the algorithm.

The plot of number of lines vs. execution time is given below :


Fig. 8 No. of lines vs. execution time graph.
We have tested the algorithm using Turbo C and the result is shown below:

International Journal of Engineering Research and Applied Science (IJERAS)
ISSN : 2349-4522
Vol. 1, Issue 1, 2014

All rights reserved by www.ijeras.org 17


Fig. 9 Experimental result.

5. CONCLUSION AND FUTURE WORK
This paper demonstrates the PCA based symmetric key block encryption algorithm. It gets a wide area of application such as
medical data encryption, image encryption, and all the classical cryptographic fields. The time complexity of this algorithm is
O(nm) where n is the half of the group order of CA and m is the total number of blocks. In future, the algorithm complexity can
be reduced by using parallel programming and 2D-PCA. It can also be implemented using VLSI very efficiently and economically
that would find its application in privileged computing environments and embedded systems.

REFERENCES
[1] J. von Neumann, Theory of Self Reproducing Automata, edited and completed by Burks, A. W. (Ed.), Univ. of Illinois press, London, 1966.
[2] S. Nandi, B. K. Kar, P. P. Chaudhuri, Theory and applications of cellular automata in cryptography, IEEE Transactions on Computers, 43(12), 1994, pp.
1346-1356.
[3] S. Wolfram, A new kind of science, Wolfram Media Inc., ISBN: 1-57955-008-8, 2002.
[4] Debdeep Mukhppadhyay, "Design and analysis of cellular automata based cryptographic algorithms", Doctoral thesis, Indian Institute of Technology,
Kharagpur, 2007.
[5] Petre Anghelescu, Emil Sofron, Cristian-Iulian Rncu, Vasile-Gabriel Iana, "Programmable cellular automata based encryption algorithm", Semiconductor
Conference, 2008, vol. 2, pp. 351-354.
[6] A. Fuster-Sabater, P. Cabalerro-Gil, Chaotic Cellular Automata with cryptographic application", 9th international conference on Cellular Automata for
Research and Industry, Springer- Verlag, Berlin, Heidelberg, LNCS6350,2010, pp. 251- 260.