FORMATION OF AN IMPROVED RC6 (IRC6) CRYPTOGRAPHIC ALGORITHM

IRC6 cryptosystem is an improvement on RC6 which was developed in the course of this research to guard against crypto-analytical attack. This is achieved by doubling its security at little or no computational cost. RC6 is an improvement on RC5, and RC5 was an improvement on RC4. IRC6 is designed to meet the requirements of increased security and better performance. Object-oriented analysis and design methodology (OOADM) together with Java programming and Development technologies were used to implement both Normal RC6 algorithm and improved RC6 (IRC6) cryptographic algorithm in this research in order to achieve the research goal which is to show the significant improvement of IRC6 over normal RC6 by carrying out performance evaluations of the two algorithms. The developed IRC6 was also evaluated to have transparent cipher-text and thereby found to survive any crypto-analytical attack.


INTRODUCTION
Security of data has always being the greatest challenge in IT world today. Revester code version 6 (RC6) among other cryptographic algorithms has been tipped for security inversion which necessitate this review and improvement of the existing RC6 cryptographic algorithm [1]. RC6 is an improvement over RC5, and RC5 is an improvement over RC4. RC6 was designed to meet the requirements of increased security and better performance [2]. RC6 makes use of data dependent rotations. One new feature of RC6 is the use of four working registers instead of two. While RC5 is a fast block cipher, extending it to act on 128-bit blocks using two 64-bit working registers [3]. RC6 modified its design to use four 32-bit registers rather than two 64-bit registers. This has the advantage that it can be done two rotations per round rather than the one found in a half-round of RC5 [4]. Two components of RC6 that were absent from RC5 are a quadratic function to mix bits in a word more effectively and a mixed rotation that is used both to hinder the construction of good differentials and linear approximations and also to ensure that subsequent data dependent rotation amounts are more likely to be affected by any ongoing avalanche of change [5]. The research illustrates the features of enhanced RC6 techniques.

II. LITERATURE REVIEW
An initial analysis of the security of RC6 and its resistance to the basic forms of differential and linear cryptanalysis was given in [2]. [6] in their research titled the block encryption algorithm combined with the logistic mapping and SPN structure shows that S-boxes have good confusion effects and Pboxes have good diffusion effects. But it limitations implies that it has to compromise and perform a balancing act between S and P boxes as well as balancing the security as well.
Existing RC6 block Cipher cryptographic algorithm was analyzed in a research carried out by [7] in which it was established that it is a secured, compact and simple block cipher. It offers good performance and considerable flexibility.
Hash RC6 -Variable length hash algorithm using RC6 was equally studied by [8] which show that it is possible to generate hash algorithm using symmetric block cipher without any limitation. [9] in their research on a comparative survey on symmetric key encryption algorithms shows that RC6 cryptography provides number of security goals to ensure the privacy of data, on-alteration of data and so on. Due to the great security advantages of cryptography it is widely used today but with its limitations which shows that it is impossible for a hacker to decrypt RC6 algorithm. An enhanced RC6 algorithm with the same structure of encryption and decryption was carried out by [10] which yielded to Feistel structure that has the same algorithm between encryption and decryption. The features of the SPN structure in their research has a different algorithm between encryption and decryption. The limitation of this research lies in the area which increases twice when compared with the Feistel one when SPN structure in implemented via hardware.

A. Description of Normal RC6 (NRC6) Cryptographic Algorithm
RC6 is a fully parameterized family of encryption algorithms. A version of RC6 is also specified as RC6-w/r/b where the word size is w bits, encryption consists of a number of rounds r, and b denotes the encryption key length in bytes. RC6 is targeted at w = 32 and r = 20, the parameter values specified as RC6-w/r are used as shorthand to refer to such versions. For all variants, RC6-w/r/b operates on four w-bit words using the following six basic operations: a + b: Integer addition modulo 2w a − b: Integer subtraction modulo 2w a b: Bitwise exclusive-OR of w-bit words a × b: Integer multiplication modulo 2w a <<< b: Rotate the w-bit word a to the left by the amount given by the least significant lg w bits of b a >>> b: Rotate the w-bit word a to the right by the amount given by the least significant lg w bits of b (where lg w denotes the base-two logarithm of w).
RC6 exploits data-dependent operations such that 32-bit integer multiplication is efficiently implemented on most processors. Integer multiplication is a very effective diffusion, and is used in RC6 to compute rotation amounts so that these amounts are dependent on all of the bits of another register. As a result, RC6 has much faster diffusion than RC5 and RC4.
 Key Schedule The key schedule of RC6-w/r/b is practically identical to that of RC5-w/r/b. In fact, the only difference is that in RC6w/r/b, more words are derived from the user-supplied key for use during encryption and decryption. The strength of the improved version of the techniques is based on the double cryptographic hashing of the key which is denoted by "key = hash(i)" to sustain crypto-analytical attack on cypher text during transmission of data to the cloud.

IV. PERFORMANCE EVALUATION OF RESULT AND DISCUSION
The performance of the IRC6 implemented in this research is evaluated against the normal RC6 (NRC6) and the overall research goal is equally evaluated. Table 1 is used to evaluate the efficiency of both normal and improved RC6 (IRC6) algorithm. Data contained in tables 1 were obtained by running the NRC6 algorithm against IRC6 version which were designed and implemented in this research to achieve the research goal. The modules considered include the key generation, encryption and decryption modules of the new system. Parameters considered in the system evaluation are the start time, end time and time lag of each module of the new system. Key generation time lags were observed to be negligible in both NRC6 and IRC6 due to small character length in key size. Also decryption time lags were equally observed to be negligible due to data have being read into buffer memory during encryption, close to system core readily for processing. Time lags in encryption modules in both NRC6 and IRC6 shows that the difference between the algorithm in terms of memory, time and computational complexity is negligible which implies that the security of the system is improved with little or no cost. The graphical representation of this improvement is shown in figure 1 below.

Figure 1: Performance Metrics between NRC6 and IRC6
Again, the encrypted cipher of IRC6 is quite difference from that of NRC6. It is not transparent and survives cryptoanalytical attacks during data transmission.

V. CONCLUSION
Since it has been established that data security in IT world today is one of emerging and greatest challenging treat faced by IT industries. The best method of mitigating these challenges is to review and improve the existing solutions. This was the motivation into this research and improvement of the existing RC6 cryptographic algorithm was achieved with great success. The significant security improvement achieved in this research at little or no cost is mind bugging and can be adapted as a security model or subsystem to secure many other IT applications.