RK algorithm : stochastic parallel methodology for symmetric key cryptography

With the enormous growth in the Internet and network, data security has become an inevitable concern for any organization. From antecedent security has attracted considerable attention from network researchers. In this perspective many possible fields of endeavour come to mind with many cryptographic algorithms in a broader way, each is highly worthy and lengthy. As society is moving towards digital information age we necessitate highly standard algorithms which compute faster when data size is of wide range or scope. On survey, numerous sequential approaches carried out by symmetric key algorithms on 128 bits as block size are ascertained to be highly in securable and resulting at a low speed. As in the course the commodities are immensely parallelized on multi core processors to solve computational problems, in accordance with, propound parallel symmetric key based algorithms to encrypt/decrypt large data for secure conveyance. The algorithm is aimed to prevail by considering 64 character (512 bits) plain text data, processed 16 characters separately by applying parallelism and finally combine each 16character cipher data to form 64-character cipher text. The round function employed in the algorithm is very complex, on which improves efficacy.


Introduction
With all of the vital personal and business data being shared on computer networks every day, security has become one of the most essential aspects of networking.No one recipe to fully safeguard networks against intruders exists.As the security technology improves and evolves over time the methods for both attack and defence grow more sophisticated.Internet has become more and more widespread, authorization to access information being compromised.The data when conveyed in the network must be adopted with some provisions and policies such as data confidentiality, data integrity, authentication, and non-repudiation in order to block from adversaries.With all this aspect network has to be designed with secure technology in prevention from enormous threats.Well-known technology to guarantee data confidentiality and fine-grained data access control is cryptography, which is important for network security.The development of cryptography has been paralleled by the development of cryptanalysis, the "breaking" of codes and ciphers.Techniques used for decrypting a message without any knowledge of the encryption details fall into the area of cryptanalysis.Right away the challenging problem is how to effectively share encrypted data.In this panorama untold cryptographic algorithms came into evolution for storing, processing and communicating sensitive or valuable information.Cryptosystems that are used to encrypt or decrypt data are taxonomy of two classes, Symmetric and Asymmetric also called as secret key cryptography and public key cryptography [1].

Symmetric Encryption
If there is occurrence for symmetric encryption, cryptosystem for enciphering and deciphering keys are either identical or simply related, between sender and recipient.Keys must be kept secret on transferring, if either is compromised secure communication is impossible in further.It was also known as conventional encryption.

Asymmetric Encryption
A public key cryptographic system that uses pair of keys -public key which is widely disseminated and private key which are only known to the owner.At this juncture unless the private key is disclosed message can't be unscrambled by any individual.This is an endeavour to guarantee privacy.The network to indulge the above said, propound numerous conventional encryption algorithms processed sequentially named underneath DES, AES, TDEA, IDEA, Blowfish, RC2, RC4, RC5, CAST 128, [2]- [6] etc. On comparison among these algorithms on data size of wide range and their ability to secure and protect data against attacks ascertained to be highly in securable which resulting at low speed.Due to continuing advancements in communications and eavesdropping technologies, business organizations and private individuals, algorithms with high degree of complexity has to be formulated for secure transmission.As transmission of data size is increasing in higher orders the process for encrypting has to be speed up on each blocks of data.In this course the sequential encryption algorithms are more protracted.In accordance, initiative towards parallelism has come forth for quick responsive.As here and now the machines are equipped with multi core processor, process for parallelism became plain sailing.Being the case proposed parallel symmetric key cryptographic technique named RK algorithm employed with round function which computes at high speed.This paper is structured as follows: Reviewed the related work on proposed algorithm for encryption, key generation and decryption in section 2, detailed construction of parallel architecture in section 3, Experimental outcomes in section 4 and potency of the algorithm in section5.

Research Method
In the proposed technique, the original text is cleaving into 64 characters' block, if exceed 64 characters, otherwise padding is done for proper block division.As symmetric encryption technique is followed by means of secret key, here the used key holds with length of 64 bits' value.

Encryption
Encryption is the most effective way to achieve data security.To have encryption on data or plain text we need secret key or password to obtain cipher text.

Algorithm
Consider first 64 characters and place these characters into P 8x8 matrix as shown in Figure 1.The 64-character plaintext is divided into four sub-blocks B1, B2, B3 and B4 for parallel execution.The 16 characters from each block is converted into equivalent binary, so each block contains 128 bits.Each sub-block is divided into two parts (64 bits each) and passed to Round Function (RF).The RF contains two shift registers.The first four bits from first shift register (SR1) is concatenated with the first four bits of second shift register (SR2).The next four bits from first shift register (SR1) is concatenated with the next four bits of second shift register (SR2).The two concatenated values are ex-ored with first round key.Two circular shift operations are perfomed to generate the input for next round.The same procedure is repeated for 8 times (8 rounds of operation).The 8 th round output is the required ciphertext.The results of all sub-blocks B1, B2, B3 and B4 are combined to generate the final output.

Decryption
Decryption is the process of taking encoded or encrypted text or other data and converting it back into text that you or the computer can read and understand.

Parallel Architecture
Data before transmitting from sender to recipient has to be encrypted by means of secret key in order to obtain cipher text.As data stream is collection of characters every single character has to be converted to binary form.During encryption technique, can either follow stream cipher or block cipher for transmission on data stream.Stream cipher encrypts by means of cryptographic key and algorithm on each binary digit of data stream, one bit at a time.With this stream cipher the key should be longer than the plain text.Most of the algorithms implemented by means of stream cipher carried out sequentially, makes computation too longer.In view of, this technique is not highly used in modern cryptography.As an alternative, block cipher technique applied to blocks on data stream as a group rather than one bit a time.The same key is shared between both ends for encryption and decryption.Here in the case the block cipher technique implemented parallel rather than sequentially, makes computation faster on each block and allow the process run concurrently [7].

Experimental setup:
Object-oriented programming is a method of programming based on a hierarchy of classes, and well-defined and cooperating objects.An instance is an executable copy of a class.Another name for instance is object.There can be any number of objects of a given class in memory at any one time.Thus makes the methods on the class to be called on different objects at same instances.The computation can contain sequential statements executed by a single thread, interspersed with parallel statements executed by multiple threads.Running on a multi-core computer, the Java Virtual Machine (JVM) schedules each thread on a separate core, thus executing the program in parallel [8] [9].The java.nio.filepackage defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.This API may be used to overcome many of the limitations of the java.io.File class.The toPath method may be used to obtain a Path that uses the abstract path represented by a File object to locate a file.The resulting Path may be used with the Files class to provide more efficient and extensive access to additional file operations, file attributes, and I/O exceptions to help diagnose errors when an operation on a file fails.public abstract class RKAlgoUtils public static byte[] getInputText() /**method reads all the input text with the Files class to operate on files, directories, and other types of files.For example, suppose we want a BufferedReader to read text from a file "text300.txt".getInputText() method gets invoked on RKAlgoUtils object from main class RKAlagorithm.*/public void instantiateBlocks() on RAlagorithm /** object reads the text from inputText and arrange the text into 4 blocks where each block arranged in 2D array form on each block object setCell2DArray() on instantiateBlocks().*/ Now the process of encryption takes a clear-text document and applies a key and a mathematical algorithm to it, converting it into crypto-text.The key generated by choosing any 8 digit Random value on // public static int getRandomNumber() // which returns the Random number on which keys K1 to K8 are generated by considering complement and shift operations.

Experimental Outcomes
Doing experimentation is not simple, have to prepare, conduct and analyze to draw general conclusions.To sketch the outcome, the experiment should be given proper setup to ensure successful experimentation.The relationship between the treatment and outcome is brought on Operating System; Windows 10 Pro, System Hardware: Processor: Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz 2.30 GHz, installed memory: (RAM): 4.00 GB, System type: 64-bit Operating System, x64-based processor, Development Platform: Java SE 8 (jdk-build 1.8.0_141-b15).Also the performance is measured and compared with stanadard algorithms like DES, Blowfish and AES.The plaintest block size of DES is 64 bits, Blowfish is 64 bits and AES is either 128 or 192 or 256 bits only, but the block size ofRK algorithm is 512 bits (64 characters X 8 bits).Even the block size is large RK algorithm shows best performance, because it is implemented using parallel approach.Table 1 shows comparison of algorithms.Figure 3 shows plaintext.Figure 4 shows ciphertext.The comparison analysis is shown in the Figure 5.

Potency of the Algorithm
In summary, the experimental results show that our scheme incurs less computational cost on encryption and decryption of data stream which ensures secure transmission.In this cryptographic technique discrete cipher text values will be generated for the plain text, which complicates the cryptanalyst to unscramble.Process carried out by many steps like converting into ASCII and binary, concatenation of bits, shift operations.The cipher text has been calculated individually for each 4*4 matrix, but data is transmitted from first value to last sequentially.Over and above that the round function employed in this algorithm is very complex to break, on which improves the potency of the algorithm.The performance analysis of this algorithm is compared with AES, Blowfish and DES.The experimental result shows that this parallel algorithm has the best performance.

Conclusion
With highly advancement of technology, society moving toward digital information age requires secure transference in the network.In provision to this, network security has come up with numerous algorithms in means of transmuted readable to unreadable form.Together with network has adopted many provisions and polices in its infrastructure to protect the network from unauthorized user accessing sensitive data.On study, acquired knowledge on many symmetric cryptographic algorithms carried out sequentially using stream cipher for encryption, which leads to high computation and less securable.As the things are moving towards parallelism, contemporary strategy has designed guarantees high security.In this paper proposed symmetric encryption technique on block cipher executing the things parallel targeting speed and energy consumption running on symmetric multi processing machines.The attackers to crack the algorithm require profound knowledge.Hence the results proved to be more efficient on compared to sequential approach.

Figure 1 .
Figure 1.Distribution and parallel Processing of Plain text into Cipher text

141 2 .
3. Key GenerationChoose any random value as Secret key.The size of key is 64 bits.The Secret key is used to generate 8 sub keys, which are used in 8 different rounds of Round Function.Each sub-key contains a complement and circular shift operation.Each sub-key is generated from the previous sub-key.Figure2shows block diagram of RK algorithm encryption.

Figure 2 .
Figure 2. Block diagram of RK algorithm encryption

FigureFigure 5 .
Figure 3. Plaintext Figure 4. Ciphertext On the generated four 64 bit block we call the generateMergeBinary() on inputBlockArray of block1 object which obtain the first 4 bits of B1S1 is append with first 4 bits of B1S2, similarly the next 4 bits of B1S1 is merged with next four bits of B1S2, which finally generates 4 values of individual four 64 bits.The same process is repeated on all four blocks by calling on individual objects, generates 16 binary data to its equivalent decimal.*/

Table 1 .
Comparison of Algorithms