CrossMark

Available online at www.sciencedirect.com

ScienceDirect

Procedía Computer Science 48 (2015) 51 -57

International Conference on Intelligent Computing, Communication & Convergence

(ICCC-2015)

Conference Organized by Interscience Institute of Management and Technology,

Bhubaneswar, Odisha, India

Hybrid Encryption Scheme (HES): An Approach for Transmitting

Secure Data over Internet

Rashmi Singha,*,Isha Panchbhaiyaa,Abhishek Pandeya & R H Goudarb

aDepartment of Computer Science,Graphic Era University,Dehradun,248002,India bDept. of Computer Network Engineering, Visvesvarya Technological University, Belgaum-590018

rhgoudar@gmail.com

Abstract

Internet and network application are growing at very fast rate, so the need to protect such application are increased. This paper solves this problem by proposing two different encryption techniques. The first proposed technique focus on compression of data by half and the second technique justify Shallon's idea of diffusion by generating different cipher text character for single plaintext character for its different occurrences in the plaintext. The combinatorial effect of using existing symmetric algorithms along with the two proposed algorithms produces a Hybrid Encryption scheme that makes it difficult for adversary to learn any information from the message transmitted over an unsecure transmission medium.

© 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of scientific committee of International Conference on Computer, Communication and Convergence (ICCC 2015)

Keywords: symmetric key encipherment; network; hybrid algorithm; mono alphabetic substitution; keyed transpositio; middle value

algorithm; apply mathematical equation. 1. Introduction

Cryptography is referred as 'the study of secret'. It is used to secure data from unauthorized access and available only to an authorized entity when it is needed. It basically consists of two processes, first encryption and second is

1877-0509 © 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of scientific committee of International Conference on Computer, Communication and Convergence (ICCC 2015) doi:10.1016/j.procs.2015.04.109

decryption. Encryption is the process of converting plaintext 'unhidden' to a cryptic text 'hidden' by applying a key or process. Decryption is the reverse process of encryption. The main aim of cryptography is to maintain the confidentiality, availability and integrity of the information.

The purpose of this paper is to propose a hybrid encryption decryption algorithm to achieve the aim of cryptography. It consist of four phases, all are based on symmetric encipherrment. In the encryption process the first round is about mono alphabetic substitution. In the second round we apply transposition ciphers method.

In the third round, we will reduce the length of cipher text by half using middle value algorithm (proposed) which will be discussed later. In the fourth round(proposed), we apply unique solution mathematical linear equation of three variables to get the final cipher text. In this cipher character generated for a particular plaintext character is completely depend on the position of character in plain text which hides the relationship between cipher text and plaintext (shallon's idea).

2. Architecture

The hybrid encryption technique is composed of four phase (as shown fig 1). In the first phase the plaintext is converted into cipher text by mono alphabetic substitution. In mono alphabetic substitution the relationship between a symbol in plaintext to a symbol in cipher text is always one-one and it's various methods are additive cipher, multiplicative cipher and affine. In the second round transposition is used to generate the cipher text. For this round the cipher text of previous round serve as plaintext. Transposition can be keyless as well as keyed. In the third round the focus is made on the compression of data. Firstly the message is broken into blocks of two characters then computation is performed to generate one character for each block. In fourth phase to generate cipher text character we play mathematical equation with plaintext character position and its ASCII value.

fig. 1. Schematic diagram of four phases.

3. Algorithms

In the algorithm the first round consists of mono alphabetic substitution. Here we are using Caesar cipher for the encryption of first round.

3.1 Algorithm1:

Encryption Algorithm for 1st round:_

Input-CRYPTOGRAPHY Output-FUBSWRJUDSKB

1: Initialize a variable i=0,k=0. We already have the original string in character array org[] and we have another character array en[]. 2: Input the key 'k'.

3: Now update en[]^-(org [i] + k) mod 26.

4: Update i <-i+1.

5: Check if org[i]!=NULL if it is go to pt.3 otherwise go to next pt. 6: Stop._

Decryption Algorithm for 1st round: Input-FUBSWRJUDSKB Output-CRYPTOGRAPHY

1: Initialize i=0.We already have the encrypted string in en[] and value of key in 'k' variable. We have another character array org[]. 2: Update org[i]-^— (en[i] - k)mod 26. 3: Update H-i+1.

4: Check if en[i]!=NULL if it go to pt. 2 otherwise go to next pt.

5: Stop._

For example:

If we have to send plaintext CRYPTOGRAPHY using Caesar cipher method with key 03 then corresponding ciphertext generated will be (as shown in fig 2) and it's decryption in fig 3.

PLAINTEKT

ENCRVPTION

CIPHERTEXT

o - 02

R - 17

f1 -15

T -1S>

<3 ■Of

A ■- oo

T> - IS

11 <37

(i*-Kii>m«l ifi

(1 5-MJ33mtKl 26 (1 26 (l«H^mod 26 (OC-HJUJ mod 26 (ntflinnod 26 26

< 1 5-H33>miid 26 (":>7»i:i3>m.:-d 26

03 - F

So - U

01 - &

13 - s

Si - V

17 -EL

20 ■ TJ

CIPHERTEXT

F-02 TJ - EC 01

S-1S V-S1 R - 1*3

tj - SO S — OS

S — 13

K - 10

DECRYPTION

PLAINTEXT

(02 26

(2C> OJl.md 26

(13 03)nwtl 26

(21 - OOQmod

(IT 'JiJrtiiJ

(IDS' - 03]AU}d

(30 ■Hdwd Sf

t03 03>tv*iJ 26

<13 OTJm^d 36

tm Oijiiit-d S6

(0 3 03]i№d 26

fig. 2(a): example to show encryption and fig 2(b) showing decryption using Caesar cipher method

By the above technique we will decrypt the cipher text to the plaintext. Therefore the cipher text generated in the first round is" FUBSVRJUDSKB". This cipher text will act as plaintext for the second round. In the second round we are going to apply keyless transposition rail fence technique for the encryption of plaintext(fig 3).

U S R U 5 B

fig3: Representation of implemention of raifence.

Here the cipher text generated will be "FBVJOKUSRUSB". 3.2 Algorithm2:

Encryption Algorithm for 2nd round:_

Input-FUBSWRJUDSKB Output-FBWJDKUSRUSB

1: Initialize integer type variable i, j, c, len ,temp^— 0. We already have original string in org[] and key in k2 variable. For encrypted string we initialize character array en[] .

2: Initialize len^— strlen(org) and temp ^ (2*k2)-2.

3: Check if j < len , update c M-0 , en[n] M-org[j] and go to next pt. otherwise go to pt. 8.

4: Initialize H-j + 1 .

5: Check if (i + j )mod temp =0, if it is then en[n] A— org[i], j-— i ,n-^- n+1, else go to next pt.

6: Update j-^— c and i-4— i+1

7: Check if i < len - 1 if it is go to pt. 5, else go to pt. 3.

8: Stop._

Decryption Algorithm for 2nd round:_

Input-FBWJDKUSRUSB Output-FUBSWRJUDSKB

1: Initialize integer variable i , len ,k,m -4-0 . We already have plaintext in char array s[ ]. Initialize char array

s1[ ], s2 [ ] for temporary storage and de [ ] for decrypted string. 2: Check if i < ( strlen (s) ) / 2 then

s1[k]-4-s[i] , k-^— k+1, else go to next pt.

3: Update s1[ k] A— NULL, and initialize i-4— k .

4: Check i < ( strlen (s) ) if it is do s2[len]-^— s[ i ], len A-len+1, i --— i + 1 and repeat the pt. otherwise go to

next pt.

5: Initialize s2[ len NULL and k ,len 0. 6: Initialize m-^— strlen( s1 ) + strlen( s2 ) and i M— 0. 7: Check if i < m then go to next pt , else go to pt. 9 . 8: Check if ( i % 2) = = 0 , then do

de[ i]4-s1[ k ], k-*- k+1, H— i + 1

else do

de[ i -s2 [ len ],len A— len + 1 , i-4-i + 1 and go to pt 7 .

9: Stop._

The cipher text generated in this round will be used as plaintext for the next round. Now if the no. present in the text is even then no change will be there, but if the no. of characters present in the text is the last character present in the string at the last.

For example: - MEET ^ no change .............HELLO ^ HELLOO

We can add other characters randomly too. But it leads to some problem.

Now , break the plaintext in order to make them in 2-2 pairs. For e.g. :- HE LL OO HE will be first pair LL will be second pair OO will be third pair

Now, find out the difference between the consecutive two characters present in the pairs i.e. m= value of 2nd char in pair - value of 1st char in pair Then encrypt it according to the algorithm with conditions present in the algorithm given below from step 6 to step 12. Then decryption algorithm also explains how to decrypt the reduced cipher text. As in the algorithm given, we analyze that the cipher text will be reduced to 50%. For e.g. :- MEET will become IL.

Rules to create key during this round

As in algorithm we have seen that there is an array of keys to be sent in this round. For having same consecutive characters we insert zero to the array. For having characters in pairs like AB,PQ,ST,YZ we insert 28 and as we can insert 1 and -1 to it too but there is a problem with it. For e.g.:- AD^encrypt^B^key^(1,2) AB ^ encrypt^B ^key ^ (1)

For ADAB as a cipher text we have key like (1,2,1) and encrypted string will be BB. Then a person can perform decryption in this way too i.e. ABZC which is not the correct decryption. Same case while doing the key generation with the pairs like AC, XZ ,ZX , CA ,etc.

of characters odd then add

3.3 Algorithm3:

Encryption algorithm for 3rd round:

Input-FBWJDKUSRUSB Output-DQGTSK

1: Initialize three character array org[]^-encrypted[](of previous round), encrypted[](for encrypted string ), k[]

(for key generated ) ; the variables i , j , m ^ 0. 2: Find the length of string.

3: If l%2=0 then org[l]-- org[l - 1] and org[l+1]*-NULL else go to next pt.

4: While org[i]!=NULL, calculate the value of m as, m ^ org[i+1] - org[i] .

5: If m is equal to zero put the encrypted^]- org[i] and k[a]--- m and go to pt.13 else go to pt. 7.

6: If m=1 then encryptedfj]^ org[i] and k[a]-^— 1 and go to pt.13 else go pt.8. 7: If m= -1 then encrypted[j]-^ org[i] and k[a]^ -1 and go to the pt.13 else go to pt. 9. 8:If m=2 then encrypted[j]^ org[i] +1 and k[a]^ 27 and go to pt. 13 else go to the next pt. 9: If m= -2 then encryptedfj]^— org[i]-1 and k[a]^ -27 go to the pt. 10.

10: If m > 2 then encrypted[i]^ org[i] + (int) (m/2) and if ( m%2 = 0 ) then k[a]-- m / 2 increment the

value of a and k[a]^-m / 2 else k[a]4— m / 2 , increment the value of a and k[a]^ (m / 2) + 1 and go to

the pt.12 .

11: Encrypted [j]-^-org[i] + (int) m / 2 and if ( m% 2 = 0) then k[a]^-m / 2 and increment the value of a

and k[a]^ m / 2 else k[a]^ (m / 2) - 1 and go to pt. 12. 12: Increment the value of

-i + 2 , j-4-j + 1, a M— a + 1 and go to pt. 5.

13: Print the encrypted string .

14: Stop._

Decryption algorithm for 3rd round:_

Input-DQGTSK Output-FBWJDKUSRUSB

1: We are already with encrypted string here i.e. encrypted[ ] and its key. 2: While (encrypted[ i] != NULL) else go to pt. 11.

3: If ( k[a] = 0) then d[j]-4-encrypted[i] increment the value of j and d[j]-4-encrypted[i] and

go to pt.10 else go to the pt.4. 4: If ( k[a] = 28 ) then dfj]^— encrypted [ i] , increment the value of j and d[j] -4— encrypted [i] + 1 and go to pt. 5.

5: If ( k[a] = -28) then d[j]-^-encrypted [i] increment the value of j and d[j]-^-encrypted[i] - 1 and go to

pt.10 else go to next pt.

6: If ( k[a] = 27) then dfj]^ encrypted[i] - 1 , increment the value of j and d[j] — encrypted[i] + 1 and go to pt 10. else go to next pt..

7: If (k[a] = - 27) then d[j]-^— encrypted[i] + 1, increment the value of j and d[j]--— encrypted[i] - 1 and go to pt10 else go to next pt.

8: If (k[a] > 1) then dfj]^— encrypted[i] - k[a] and j"-— j + 1 and a -a + 1 and d[j]^ encrypted[i] + k[a]

and go to pt. 10 else go to next pt.

9 : d[j]^ encrypted[i] - k[a] , j^ j+1 , a ^ a + 1 and d[j] ^ encrypted [i]+ k[a] and go to next pt. 10: Increment the value of j , a and i by 1 and go to pt.2.

11: Stop._

Here the cipher text generated will be the plaintext of next round. 3.4 Algorithm4:

In the fourth round the final cipher text will be generated by applying linear mathematical equation, consisting three variables with its three co-efficient. Encryption Algorithm for 4th round:

Input-DQGTSK Output-ADCABB

1: Initialize i ---0 ,org[ ]-4-encrypted[](of previous round) ,encrypted[ ] (for storing the cipher text

generated), ca -A-0, cp M— 0 ,cz-^-0 and key[ -0 is an integer array for storing key.

2: Enter the value of ca , cp , cz.

3: Putting the values of ca ,cp and cz respectively in the equation calculate, k[i^- (ca * a + cp * p)/cz.

4: Encrypted[i] --- (ca*a + cp*p) % cz.

5: Increment the value of i by 1.

6 : Check if org[i]!=NULL then go to pt. 4 otherwise go to next pt.

7: Stop._

Decryption algorithm for 4th round:_

Input-ADCABB Output-DQGTSK

1: We already have encrypted string, key array and the values of ca, cp and cz. 2: Initialize i -4-0.

3: Using the value of ca, cp, cz, key[i] and encrypted[i] calculate the value of a.

a M-( ( cz * key[i] + encrypted[i]) - ( cp * p)) / ca.

4: Increment the value of i by 1.

5: Check if encrypted[i]! = NULL then go to pt.3 otherwise go to next pt. 6 :- Stop._

4. Experiments and Results:

The hybrid encryption scheme is the result of experimentation of combining two already existing algorithms(algo.1 & algo.2) with two proposed algorithm(algo.3 & algo.4 ) which compresses the data and strengthen the security of data. In the output(fig.4) we can easily see that after all encryption algorithms we are getting compressed and more secure data and after all decryption algorithms we are achieving the original text which was encrypted.

enter the o rg strin g CRYPTOG RAPHY enter the key 5

After the "first ro unci the encrypted strin g is FU BSWRIUDSKB

After the second ro und the encrypted string is FBWJDKUSRUSB

After the third round the en crypted string is DQ.GXSK

■For the fourth round enter the value of

ca,cp,cz 3 A S

After the fourth round the encrypted string is ADCABB

after solving the m at hem etical equation then

plaintext generated is

DQGTSK

After solv^ing the middle value algorithm the

plaintext generated is

FBWJDKUSRUSB

After the decryption of ' <(>r ^ (1 round plain

text generated is

FUBSWRJU DSKB

enter the key for caesar

the original plaintext generated CR YPXOG RAPHY

fig 4: output which includes all encryption and decryption algorithms together

5. Features of key

In the third round the key generated is the array of integers in which a single integer may decrypt two characters of the plaintext. And in the fourth round the key generated for every character in plaintext differ with the position of character means a single character in the plaintext may have generated different key and different encrypted text according to their position. The algorithm works upon symmetric key encipherment. Symmetric key encipherment uses a single secret key for both encryption and decryption. Encryption and decryption can be thought of as electronic locking here. In this one puts the message in a box and locks the box using the shared secret key and unlocks the box with the same key and takes out the message. The key can be exchanged securely by using well known public key encryption.

6. Conclusion

The proposed hybrid encryption scheme is an excellent combination of compression of data with the cryptography to increase the data security. In this technique we can reduce the size of data by 50% and strengthen the security by relating the plaintext character with its position in text for generating the corresponding cipher text. The present demand is for the reduction of space along with the security of data during its transmission. Our proposed technique fulfills all these requirements.

7. References

1. Himani Aggrawal and Monisha Sharma "Implementation and Analysis of various symmetric Cryptosystems" , Indian Journal of science and Technology, Vol 3 No 12( Dec 2010)

2. Petre Laud "Symmetric Encryption in Automatic Analysis for confidentiality against active adversaries" , Security and Privacy, 2004 Proceedings IEEE Symposium on. Page 71-85..

3. M.Bellar, A.Desai, E.Jokiphi and P.Rogaway " A Concrete Security Treatment oof Symmetric Encryption : Analysis oof DES module oof operation" . Proceedings of 38th Symposium on Foundations of Computer Science IEEE, 1997. Page 394-403.

4. Reza Curtmola , Juan Garay, Seny Kamara and Rafail Ostrvsky "Searchable Symmetric Encryption : Improved Definitions and Efficient Construction", CCS' 06 Proceedings of the 13th ACM Conference on Computer and Communications Security. Pages 79-88.

5. Diaa Salamna Abdul Elminaam , Hatem M Abdul Kader and Mohie M. Hadhoud " Peformance Evaluation of Symmetric Algorithm on Power Consumption for Wireless Devices ", International Journal of Computer theory and Engineering . Vol 1 No 4, October 2009, IACSIT.

6. Diaa Salamna Abdul Elminaam , Hatem M Abdul Kader and Mohie M. Hadhoud " Peformance Evaluation of Symmetric Algorithm " IJCSNS International Journal of Computer Science and Network Security Vol 8 no 12, December 2008

7. Nagesh Kumar, Jawahar Thakur and Arvind Kalia "Performance Analysis oof symmetric key in Cryptography Algorithms : DES, AES andBlowfish" ,2011 , www.ijoes.org

8. Maricel O. Balitanas "Wi-Fi Protected Access Pre-shared Key Hybrid Algorithm " Proceedings of International Journal of Advanced Science and Technology Vol 12 November 2009.

9. Ajit Singh and Rimple Gilhotra " Data Security using Private key Encryption based on Arithmatic Coding" Proceedings of International Journal of Network Security and its Application (IJNSA) Vol 3 No3 May 2011

10. J.A.storer et.al. "Data compression via textual substitution " proceedings of journal of the ACM vol. 29. Issue 4, oct 1982, pages 928951.

11. Book "Cryptography And Network Security" by Behrouz A Forouzan