MATERIALS AND METHODS

Problem statement: The strength of the block ciphers depend on the degree of confusion and diffusion induced in the cipher. Most of the transformations used for this purpose are well known to every one and can be broken by a crypt analyzer. Therefore, in order to counter attack the crypt analyzer, there is a need for better transformations in addition to the existing one. Approach: We tried to use key based random interlacing and key based random decomposition for this purpose. So that, a crypt analyzer cannot understand how interlacing and decomposition is done in every round unless the key is known. Results: The strength of the cipher is assessed by avalanche effect which is proved to be satisfactory. Conclusion/Recommendations: Key based random interlacing and decomposition can be used for introducing confusion and diffusion in block ciphers. The cryptanalysis carried out in this regard shows that the cipher cannot be broken by any cryptanalytic attack.


INTRODUCTION
In the survey of literature of cryptography, majority of block ciphers are based on the feistel cipher (Tavares and Heys, 1995;Stallings, 2003).In this process, bits of plaintext undergo a series of permutations, substitutions and exclusive OR operations.This creates confusion and diffusion in cipher which is achieved by the classical round function F of feistel structure.
In our recent investigations (Kumar and Kumar, 2008;Kumar and Sastry, 2009); we have demonstrated how a large block cipher of 256 bits can be generated using key based random permutations and involving interlacing and decomposition in feistel structure; providing good strength to cipher.
In the present study, our interest is to develop a block cipher of 256 bits by using a stronger version of interlacing and decomposition.This is accomplished by using key based random interlacing and key based random decomposition.This ensures that interlacing and decomposition creates more confusion as they are different in each round and depends on key.An attacker cannot understand how interlacing and decomposition is done in each round unless the key is known.

Key based random decomposition used during encryption:
Let us consider a block of plaintext 'P' of 256 bits.Let C 0 = P is the initial plaintext.Let B 0 0 , B 0 1 , B 0 2 and B 0 3 be the 64 bits blocks obtained after decomposition.Let 'K' be the key containing 16 integers.
Let d i = K i mod 4. Such that d i = {0, 1, 2, 3} represents the starting block B 0 d i in ith round into which bits are to be decomposed first.Initially, we place the first 64 bits of 'C 0 ' in d i th block by placing the bits from left to right order if K i is even and by following right to left order if K i is odd.We then place the next 3 sets of 64 bits of 'C 0 ' in the respective blocks whose block No = (d i + x) mod 4.
Such that, x = {1, 2, 3} and by reversing the previous order of placing the bits for every new block that we are decomposing into.Due to key based random decomposition, an attacker cannot guess the order of bits getting into each block unless the key is known.

See algorithm
Interlacing during encryption: Let C i 0 , C i 1 , C i 2 and C i 3 be the four 64 bit blocks representing the intermediate cipher obtained after i th round encryption.We need to combine these four blocks and bring the 256 bits required for next round, which is represented as 'C i '.This is done by interlacing which is similar to the one we already published in our previous study (Kumar and Sastry, 2009).
Here, we collect first bit of all four blocks and place them in Ci.Similarly, we collect the second bit from all four blocks and place them in C i .Continue this process, till all the bits are taken from C i 0 , C i 1 , C i 2 and c i 3 and we get the 256 bit C i for next round, see algorithm.
Consider i th round in the Fig. 1; Let K i be some even number.Therefore the starting order of placing bits is left to right for block B di .Such that d i = (K i mod 4) = 2.Therefore, first decompose 64 bits into B 2 with Left to right order next into B 3 with right to left order next into B 0 with left to right order and finally into B 1 with right to left order.

Decomposition
used during decryption: Decomposition during decryption is simple and it's the reverse transformation of interlacing used during encryption.Let C i be the cipher text of 256 bits obtained after i th round.Collect the first four bits from C i and place one bit each in B 0 0 , B 0 1 , B 0 2 and B 0 3 respectively.Continue this process till all these bits are taken from C i and we get the 64 bit blocks B 0 0 , B 0 1 , B 0 2 and B 0 3 for decryption during i th round, see algorithm.

Key based random interlacing used during decryption:
Key based random interlacing used during decryption is the reverse transformation of key based random decomposition done during encryption.Let C i 0 , C i 1 , C i 2 and C i 3 be the four 64 bit blocks representing the intermediate cipher obtained after decryption in i th round.We need to interlace the bits of these four blocks to form a 256 bits block for decryption in next round.If c i j is the j th block obtained from ith round, then select the block such that, j = K i mod 4, collect the 64 bits following left to right order if K i is even and right to left order if K i is odd.Place these bits in C i sequentially.
Select the next three blocks such that: j = ((K i mod 4) + x) where, x = {1, 2, 3} and by reversing the previous order of collecting the bits from each block.Place them sequentially in C i and we get the 256 bit block to be decrypted in next round.Hence, we get the required plaintext after 16 rounds, see algorithm.
Figure 1 shows the process involved in encryptiondecryption in one single round.Similar process is carried out in 16 rounds during encryption-decryption.Due to the key based random decomposition and key based random interlacing demonstrated in Fig. 1 and 2.An attacker cannot trace the way bits are mixed in each round.This can be done only if the entire key sequence K is known.

Development of cipher:
Let us consider a block of plaintext 'P' consisting of 32 characters.By using the EBCDI code, each character can be represented in terms of 8 bits.Then the 32 characters of plaintext will yield a block of 256 bits represented as C 0 .
Let 'K' be the key containing 16 integers.Then the 8 bit binary equivalent of these integers will give us a block of 128 bits represented as 'k'.
Let the first 32 bits of 'k' be treated as 'k 1 .
The next 32 bits of 'k' be treated as k 2 .
Similarly, we get two more keys 'k 3 ' and 'k 4 '.
As we use four different blocks B 0 , B 1 , B 2 , B 3 of 64 bit each for encryption, k 1 , k 2 , k 3 , k 4 are used as the keys for these blocks respectively.
We perform the required transformations on k 1 , k 2 , k 3 , k4 to generate the keys for respective rounds denoted as kr m 1 , kr m 2 , kr m 3 , kr m 4 .Such that if kr m i is the round key, then 'i' indicates the block and 'm' indicates the round.Kumar and Kumar, (2008) for required transformations on key.
Decompose C 0 into four blocks of 64 bits each.Let the blocks obtained after key based random decomposition be represented as B 0 0 , B 0 1 , B 0 2 and B 0 3 .Therefore: Where: m = The round after which key based random decomposition is performed i = The block number; i = 0 to 3 C m = Key based random decomposition Encryption in the first round is done in the following way: The round key for 'n th ' round on i th block and n = m+1 After encryption in n th round, we get ciphertext as four blocks c n 0 , c n 1 , c n 2 , c n 3 .Next we perform the interlacing after encryption: Here: i = 0 to 3 = The cipher block n = 1 to 16 = The round after which interlacing is performed > c n i < = Represents interlacing.
Similarly, if C 16 is the cipher text obtained after encryption.We continue the process of decryption illustrated in Fig. 4 for sixteen rounds to get the original plaintext.

Algorithms:
Algorithm for encryption: Let K be an array containing 16 integers.
Let d i be an array containing 16 numbers.Such that, d i = K i mod 4 such that, d i = {0, 1, 2, 3}.BEGIN C 0 = P // initialize 256 bits plaintext for i = 1 to 16

Algorithm for decryption:
BEGIN C 16 = cipher text // initialize 256 bits cipher text for i = 16 to 1 Fig. 3: The process of encryption We get the 256 bit cipher block C 1 after first round by applying interlacing described in Fig. 1 and 3 In order to decrypt the cipher text, use the decryption algorithm; follow the transformations described in Fig. 2 for sixteen rounds.Thus, we get the required plaintext.

DISCUSSION
Cryptanalysis: To asses the strength of our encryptiondecryption algorithms, we first show that brute force attack is not possible on our algorithm, next we show that even the well known "known plaintext attack" cannot break our cipher, followed by an analysis for avalanche effect to prove the strength of the cipher.

Brute force attack:
According to brute force attack, if key space is small, then one can test all possible combinations of keys on encryption-decryption algorithms in some amount of time which acceptable to break the cipher.Therefore, key space should be large enough so that testing of all possible key combinations will take lot of time which is not acceptable in breaking a cipher.
As we have used 128 bit key in each round, the key space is: 2 128 ≈ (2 10 ) 13 ≈ (10 3 ) 13 ≈ 10 39 Let us assume testing of one key on a computer takes 1 nano second.Then testing of 10 39 keys will take [(10 39 )/(10 9 × 60 × 60 × 24 × 365)] years, which is equal to more than a centaury.Since one cannot spend so much time in breaking the cipher, brute force attack is not possible on our algorithm.

Known plaintext attack:
According to known plaintext attack, if enough number of plaintext -cipher text pairs are available then, one can understand the transformation used in developing the cipher.Our classical feistel cipher is prone to known plaintext attack due to the linearity that exit in transformations during encryption.Since we have used random key based decomposition and interlacing before and after encryption respectively.In every consecutive round, we have restricted the bits to get into different random blocks basing upon the key and the round.Hence we have successfully introduced a high degree of nonlinearity in our algorithm due to which more confusion and diffusion is added.Thus, known plaintext attack is not possible on our algorithm as an attacker is unaware of the way bits are scattering in to different blocks in different rounds.In this study, we prove that the strength of the cipher is good when we use key based random decomposition, key based random interlacing, interlacing and decomposition in our algorithm.
Avalanche effect: According to avalanche effect, for a plaintext P if C1 is an equivalent cipher then by keeping the key constant, if there is one bit change in plaintext P and we get an equivalent cipher as C2.Then the strength of the good if C1 and C2 differ by around 50% of the bits.Similarly, the algorithm can even be tested for a one bit change in key.
Let the plaintext be: From above two ciphers, we find that 134 bits differ out of 256 bits.Since around 50% of the bits differ in corresponding ciphers for a one bit change in plaintext; we say that strength of the cipher is good.Now let us keep the plaintext as constant and change the key by one bit.This can be accomplished by changing the key character from 'H' to 'I' as their ASCII values differ by one bit.Let the corresponding cipher obtained after 16 rounds of encryption be: In this case, we readily notice that 126 bits differ out of 256 bits.Therefore for a change in one bit in a key there is a difference of 50% of bits in the corresponding ciphers.Thus the avalanche effect good for our ciphers when key based random decomposition, key based random interlacing, decomposition and interlacing is used in our encryption-decryption algorithms.

CONCLUSION
In conventional feistel cipher, we observed that known plaintext attack is possible because a set of bits will undergo into similar transformations and enter into same substitution box in each round.This makes the cryptanalysis work easy.In our recent research (Kumar and Kumar, 2008;Kumar and Sastry, 2009), we proved how "random key based permutations and substitutions" bring variable transformations in each round (Hussain and Ajilouni, 2006) In the present study, we have used a similar strategy "key based random interlacing and key based random decomposition" to strengthen the cipher further and to make the cryptanalysis more difficult.The results of avalanche effect seen indicates that the key based random interlacing and key based random decomposition introduced to counter attack the known plaintext attack provides good strength to the cipher.

Fig. 1 :
Fig. 1: Illustration of key based random decomposition and interlacing during encryption

P
= {The big brown fox swam in water} Let the key be: K = {He drowned in it} Then by following the process of encryption described in algorithm and Fig. 1.We get the following cipher after us change the plaintext by one bit.This can be done by changing the first letter in plaintext from 'T' to 'S' as the ASCII values of 'T' and 'S' differ by one.By keeping the key as constant.Let the cipher text obtained for this new plaintext after 16 rounds of encryption be: