A Novel Feistel Cipher Involving a Bunch of Keys Supplemented with XOR Operation

In this investigation, we have developed a novel block cipher by modifying classical Feistel cipher. In this, we have used a key bunched wherein each key has a multiplicative inverse. The cryptanalysis carried out in this investigation clearly shows that this cipher cannot be broken by any attack.


I. INTRODUCTION
The study of the Feistel cipher [1][2] laid the foundation for the development of cryptography in the seventies of the last century.In the classical Feistel cipher the block size is 64 bits, and it is divided into two halves wherein each half is containing 32 bits.The number of rounds in the iteration process is 16.The basic equations governing the Feistel cipher can be written in the form (1.1) Q i = P i-1 F (Q i-1 , K i ), (1.2) and Q i-1 = P i , (1.3) P i-1 = Q i F (P i , K i ), (1.4) where P i and Q i are the blocks of the plaintext in the i th round of the iteration process, F is a function chosen appropriately, and K i is the key in the i th round.In this analysis, the XOR operation and the permutation that is performed by interchanging two halves of the data in the iteration process play a vital role in deciding the strength of the cipher.
In the recent years, Sastry et al. [3][4][5][6][7][8][9][10][11][12] have offered several modifications to the Feistel cipher, and have studied various aspects of this cipher, including different types of permutations and substitutions.In all these investigations we have divided the plaintext into a pair of matrices of equal size, and the key is taken in the form of a matrix.
In the process of encryption, we take the key bunch as E, and represent it in the form of a matrix given by E = [e jk ].The corresponding key bunch in the process of decryption is taken as D = [d jk ].Here for a given value of the key e jk , used in the encryption, we determine the corresponding key d jk , by using the relation ( e jk x d jk ) mod 256 =1, (1.5) where d kl is the multiplicative inverse of e kl , In order to satisfy (1.5), we chose e jk as an odd integer, which lies in the interval , and thus we obtain d jk also as an odd integer lying in the interval .
Here also we adopt an iterative procedure, and make use of the permutation process that consists of the interchange of the two halves of the plaintext , of course, represented in the form of a pair of matrices.
In the present analysis, our objective is to modify the Feistel cipher by including a bunch of keys.Here our interest is to see how the different keys, occurring in the key bunch, would influence the strength of the cipher.
In what follows, we present the plan of the paper.In section 2, we introduce the development of the cipher and present the flowcharts and the algorithms corresponding to the cipher, in section 3, we illustrate the cipher with an example and examine the avalanche effect.After that, we carry out the cryptanalysis in section 4. Finally we present numerical computation and draw conclusions.

II. DEVELOPMENT OF THE CIPHER
We consider a plaintext P containing 2m 2 characters.On using the EBCIDIC code this is written in terms of numbers which are in the interval [0-255].Now we write this in the form of a pair of square matrices P 0 and Q 0 , wherein each matrix is of size m.
The basic equations governing the encryption of this block cipher are given by 2) where j= 1 to m, k = 1 to m and i =1 to n, in which n is the number of rounds.
The corresponding equations of decryption are in the form, 3) and ] ) ] mod 256 (2.4) where j= 1 to m, k = 1 to m and i = n to 1, www.ijacsa.thesai.orghere P jk i and Q jk i are the j th row k th column elements of the left and right portions of the plaintext matrix, respectively, in the i th round of the iteration process.
On using the basic relations (2.1) -(2.4), governing the encryption and the decryption, the corresponding flowcharts for the encryption and the decryption can be written as shown below.The algorithms for the encryption and the decryption are written as shown below.
A. Algorithm for Encryption 1. Read P, E, and n 2. P 0 = Left half of P.
Q 0 = Right half of P.

for i = 1 to n
Read Plaintext P and Key E Read Ciphertext C and Key D ] mod 256 www.ijacsa.thesai.orgbegin for j = 1 to m begin for k = 1 to m begin ] mod 256 end end end 6.P = P 0 Q 0 /* represents concatenation */ 7. Write (P) In what follows we illustrate the cipher with a suitable example.

III. ILLUSTRATION OF THE CIPHER
Consider the plaintext given below.
Brother!When we were very poor, by looking at some corrupt politicians and employees who earned crores and crores, we use to think how to come up in life.Though you were a graduate having technical skills, you joined naxalites thinking that only unethical rich are totally responsible for the ruination of our country.After the death of our father, I joined as a police, our uncle started liquor business!He has earned crores and crores.Though I have become a police inspector, I am helpless.I am not able to control anything!I do not know when India will change!Write a letter.Do come back.(3.1)Let us focus our attention on the first 32 characters of the plaintext (3.1).This is given by Brother!When we were very poor, ( On using EBCIDIC code, we write (3.2) in the form of a pair of square matrices given by and Let us take the encryption key bunch matrix E in the form and On using the algorithm for encryption, given in section 2, we get the ciphertext C in the form On using the keys in D, and applying the decryption algorithm on (3.6), we get back the original plaintext P given by (3.2) Let us now study the avalanche effect.On changing the first row , second column element of P 0 from 114 to 115, we get a change of one binary bit in the plaintext.On applying the encryption algorithm on this modified plaintext, using the same key bunch matrix E, we get the ciphertext C in the form On converting (3.6) and (3.8) into their binary form and comparing them, we notice that these two ciphertext differ by 133 bits out of 256 bits.This shows that the strength of the cipher is quite up to the mark.Now let us consider one bit change in the key bunch matrix E. On replacing first row , second column element of E from 53 to 52, we have a one bit change in the key matrix.On using the original plaintext (3.2) and the modified key bunch matrix, and the algorithm for encryption, given in section 2, we get the ciphertext C in the form On comparing (3.6) and (3.9), in their binary form, we find that two ciphertext matrices differ by 127 bits out of 256 bits.This also shows that the block cipher under consideration is a potential one.

IV. CRYPTANALYSIS
The different types of cryptanalytic attacks that are well known in the literature of cryptography [13] are 1.Ciphertext only attack (Brute Force Attack), 2. Known plaintext attack, 3. Chosen plaintext attack, and 4. Chosen ciphertext attack.Generally all the algorithms are designed to withstand the brute force attack and the known plaintext attack.Further, an algorithm is examined, intuitively, whether it withstands the later two attacks or not.
In this analysis, the key bunch is a square matrix containing m2 elements.In view of this fact, the size of the key space is If we assume that the time required for encryption with each key in the key space as 10-7 seconds, then the time required for all the keys in the key space is approximately equal to In this analysis, we have taken m=4.Thus the time required is 3.12 x 10 23.4 years.
As this time is very large, we cannot break the cipher by the brute force attack.
Let us now consider the known plaintext attack.If we confine our attention only to one round of the iteration process, that is when n=1, from the encryption algorithm given in section 2, we get Let us known consider the case when n=2.In this case, the equations governing the encryption are of the form ) and .The attacker also knows P jk 0 and Q jk 0 occurring in (4.4) and (4.5) as this is the known plaintext attack.Thus the attacker cannot determine the keys e jk occurring in (4.4) as P jk 1 cannot be determined by any means.
In the light of aforementioned fact, this cipher having sixteen rounds (n=16) cannot be broken by the known plaintext attack.
On inspecting the above equations arising in this analysis, we find that it is simply impossible to choose plaintext or  ----------------------years = 3.12 x 10 years www.ijacsa.thesai.orgciphertext, intuitively, and break the cipher in any way.Thus we conclude that this cipher is a strong one.

V. COMPUTATIONS AND CONCLUSIONS
In this investigation, we have developed a block cipher by selecting a bunch of keys wherein each key has its multiplicative inverse.
The programs for the encryption and the decryption are written in C language.
Let us now consider the entire plaintext given by (3.1).This can be divided into 19 blocks wherein each block is having 32 characters.As the last block is containing 24 characters, we append 8 blank characters.On using the key bunch E, given by (3.5), and carrying out the encryption process given in section 2, we get the ciphertext (excluding the portion which is already given by ( From the above analysis we conclude that the novel Feistel cipher, wherein we have made use of a bunch of keys is a strong one as the cryptanalysis shows that it cannot be broken by any attack.This is all on account of the iteration process and the multiplication by the bunch of keys.

Figure 1 .Figure 2 .
Figure 1.The Process of Encryption for Decryption 1. Read C, D, and n. 2. P n = Left half of C Q n = Right half of C 3. for i = n to 1 begin for j = 1 to m begin for k = 1 to m begin www.ijacsa.thesai.org In the known plaintext attack, the attacker knows the plaintext and the corresponding ciphertext.Thus he knows P and (4.2). in the light of this fact on obtaining the multiplicative inverse of Q jk 0 (selecting Q jk 0 as odd numbers) occurring in (4.1), the attacker can determine e jk very conveniently.Thus the cipher can be broken when n=1.