Sei sulla pagina 1di 3

70 (IJCNS) International Journal of Computer and Network Security,

Vol. 2, No. 9, September 2010

A Modified Feistel Cipher Involving Modular


Arithmetic and Interlacing
V. U. K. Sastry1, D. S. R. Murthy2, S. Durga Bhavani3

Dept. of Computer Science & Engg., SNIST, Hyderabad, India,


1
vuksastry@rediffmail.com

Dept. of Information Technology, SNIST, Hyderabad, India,


2
dsrmurthy.1406@gmail.com

3
School of Information Technology, JNTUH, Hyderabad, India,
sdurga.bhavani@gmail.com

appropriately. At the end of each round of the iteration, the


Abstract: In this paper, we have developed a block cipher with
Feistel structure. In this the plain text is consisting of 256 bits resulting binary strings are interlaced in an appropriate
and the key is containing 128 bits. The process of encryption is manner. This process is expected to enhance the strength of
carried out by using modular arithmetic and interlacing the the cipher enormously.
plain text at various rounds of the iterative process. The In what follows, we mention the plan of the paper. We
avalanche effect and the cryptanalysis firmly indicate that the discuss the development of the cipher, and design the
cipher is a strong one and it cannot be broken by any algorithms for encryption and decryption in section 2. Then
cryptanalytic attack. we illustrate the cipher with an example in section 3. After
Keywords: Feistel Cipher, Modular arithmetic, Interlacing, that we perform cryptanalysis in section 4. Finally, we
avalanche effect, Cryptanalysis, Encryption and Decryption. present numerical computations and draw conclusions in
section 5.
1. Introduction
2. Development of the cipher
In a pioneering paper, sometime before the development of
DES [1, 2], Feistel [3, 4] developed a block cipher which Consider a plaintext P containing 8m characters. On using
involves an iterative procedure including 16 iterations. In EBCDIC code, we have 8m decimal numbers (8m bytes).
this, the plain text contains 2w binary bits. The procedure This can be divided into four parts wherein each one
for encryption is governed by the relations contains 2m decimal numbers. Then each substring is
P0 = w, Q0 = w, (1) further divided into two parts. Let the left and right parts of
and the first substring be denoted as P0 and Q0. In a similar
Pi = Qi-1, manner, let the portions of the other substrings be denoted
Qi = Pi-1 ⊕ F(Qi-1, Ki), for i = 1 to 16. (2) as R0, S0, T0, U0, and V0, W0 respectively. Here, P0, Q0, …,
Here, Ki is the key in the ith round of the iterative process W0 are vectors wherein each one is having m components.
occurring in the analysis; P and Q stand for the left and Let K be a square key matrix of size m.
right halves of the plain text, and ⊕ denotes the XOR In this analysis, following Feistel, the processes of
operation. The process of decryption is governed by the encryption and decryption can be described by the relations
relations Pi = Qi-1,
Qi-1 = Pi, Qi = Pi-1 ⊕ (Qi-1 K) mod 256, for i = 1 to n,
Pi-1 = Qi ⊕ F(Pi, Ki), for i = 16 to 1, (3) (4)
and the initial conditions are taken from the cipher text and
obtained at the end of the encryption. Qi-1 = Pi,
Though this process involves interchange of modified Pi-1 = Qi ⊕ (Pi K) mod 256, for i = n to 1.
text from left to right, operation with the key Ki and a (5)
number of rounds in the iteration process, this cipher was In writing these relations, the function F in (2), is
found to be a weak one and it was broken by several assumed to be in a particular form.
researchers [5]. Similar relations can be written for (Ri, Si), (Ti, Ui), and
In the present paper, our objective is to modify the (Vi, Wi). At the end of each round, after obtaining all the
Feistel cipher by taking the length of the plain text as 8m eight quantities, Pi, Qi, Ri, Si, Ti, Ui, Vi, and Wi, the binary
bytes (each byte can be represented by a decimal number bits of all the strings can be interlaced (by a procedure
lying in the interval 0 to 255) and operating on each 2m which is described later) and hence the new Pi, Qi, …, Wi
bytes simultaneously by adopting Feistel approach. A square can be obtained.
key matrix K of size m is associated separately with each 2m The flow charts concerned to encryption and decryption
bytes as a multiplicant and mod 256 is applied are presented in Fig. 1.
(IJCNS) International Journal of Computer and Network Security, 71
Vol. 2, No. 9, September 2010

Figure 1. Schematic Digram of the Cipher

Let us now describe the process of interlacing. As we


have m decimal numbers in each part, Pi, Qi, …, Wi, we can
represent them in the form of a matrix, containing binary
bits, as shown below.

(11)
This completes the process of interlacing.
It may be noted here that inverse interlacing is a reverse
(6)
process to interlacing.
In the process of interlacing, we associate the binary
In what follows, we present the algorithms for
bits given above, in a column wise manner. Thus we get the
encryption, and decryption.
new Pi as the first m columns of the matrix in (6), the new
Qi as the next m columns of the matrix in (6), and so on. For Algorithm for Encryption
example,
(7)
In a similar manner, we can obtain Qi to Wi.
Let us illustrate the above process by considering a simple
example. Let

(8)
This can be written in the binary form as shown below.

(9) Algorithm for Decryption


Now on interlacing, we get the new Pi to Wi as follows.

(10)
Here, the first row contains the first four columns of (9),
the second row contains the next four columns of (9) and so
on. Thus we get
72 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 9, September 2010

3. Illustration of the cipher If we assume that the process of encryption with each
key requires 10–7 seconds, then the time required for the
Consider the plain text given below. computation with all possible keys is equal to
“Dear brother! I have passed my B. Tech (ECE) with
distinction. All this is due to the scholarship sanctioned by
our Government. Now I want to enter into politics”
(12) As this process of computation is taking a very long
Let us focus our attention on the first 32 characters. time, the brute-force attack is totally impossible.
This is given by Let us now study the known plain text attack. In this
“Dear brother! I have passed my B” (13) case, we are having as many plain text and cipher text pairs
On using EBCDIC code, (13) can be written in the form as we require. Here, in carrying out the encryption process,
as the m decimal numbers in each of the 2m decimal
(14) numbers are multiplied by the key and as the portions of the
Let us consider a square key matrix K of size 4. We modified plain text are interlaced at the end of each round of
have the iteration process, the key K cannot be determined by any
means.
(15) In the last two cases, that is, in the chosen plain text
attack and in the chosen cipher text attack, intuitively no
On using (14) and (15) and applying the encryption special choice appears as a possible one, as the process of
algorithm, given in section 2, with n = 16, we get the cipher encryption is a complex one.
text C in the form In the light of the above analysis, we conclude that the
cipher cannot be broken by any attack.
(16)
On applying the decryption algorithm (See Section 2),
we get back the original plain text given by (13). 5. Computations and Conclusions
Now, let us study the avalanche effect for determining In this paper, we have developed a block cipher by using a
the strength of the algorithm. Let us change the 24th Feistel structure. In this, we have taken a plain text of length
character ‘s’ to ‘t’ in (13). Due to this, 162 in (14) becomes 256 binary bits and made use of a key K containing 128 bits.
163 and hence, the P0 undergoes a change of 1 binary bit. The programs for encryption and decryption are written in C
Thus the entire plain text comprising P0 to W0 also language.
undergoes a change of 1 binary bit. Now, on applying the On adopting the procedure discussed in section 3, the
encryption algorithm on the modified plain text, we get cipher text corresponding to the rest of the plain text (which
(17) can be divided into four parts) can be obtained as
On comparing the cipher texts given by (16) and (17),
after converting them into binary form, we find that they
differ by 130 bits. As a change of 1 bit in the plain text is
leading to a change of 130 bits (out of 256 bits) in the cipher
texts, we notice that the cipher is a strong one.
Now let us consider the effect of changing the key by The avalanche effect mentioned in section 3 and the
one binary bit. This can be done by replacing 126 (the 2nd cryptanalysis discussed in section 4, clearly indicate that the
row 2nd column element of the key) by 127. Now on cipher is a strong one, and it cannot be broken by any
applying the process of encryption on the original plain text cryptanalytic attack.
(14), we get the new C given by
(18)
References
On comparing the cipher text C given in (16) and (18), [1] William Stallings, Cryptography and Network Security,
we notice that they differ by 138 bits (out of 256 bits). This Principles and Practice, Third Edition, Pearson, 2003.
also shows that the cipher is a strong one. [2] Schaefer, E., “A Simplified Data Encryption Standard
Algorithm”, Cryptologia, Jan 1996.
4. Cryptanalysis [3] H. Feistel, “Cryptography and Computer Privacy”,
Scientific American, May 1973.
In the study of cryptography [6] the well known methods for [4] Feistel, H., Notz, W., and Smith, J., “Some
cryptanalysis are: Cryptographic Techniques for Machine-to-Machine
1. Cipher text only (brute-force) attack Data Communications”, Proceedings of the IEEE, Nov.
2. Known Plain text attack 1975.
3. Chosen Plain text attack [5] R. C. W. Phan, and Mohammed Umar Siddiqi, “A
4. Chosen Cipher text attack Framework for Describing Block Cipher
In all these attacks, it is assumed that the encryption Cryptanalysis”, IEEE Transactions on Computers, Vol.
algorithm and the cipher text are known to the attacker. 55, No. 11, pp. 1402 – 1409, Nov. 2006.
In the brute-force attack, as the key is containing 128 [6] D Denning, “Cryptography and Data Security”,
binary bits, the size of the key space is Addison-Wesley, 1982.
2128 = (210)12.8 ≈ 1038.4

Potrebbero piacerti anche