 Open Access
 Total Downloads : 158
 Authors : Mithil Gharat, Dilip Motwani
 Paper ID : IJERTV3IS040348
 Volume & Issue : Volume 03, Issue 04 (April 2014)
 Published (First Online): 08042014
 ISSN (Online) : 22780181
 Publisher Name : IJERT
 License: This work is licensed under a Creative Commons Attribution 4.0 International License
Design of Power Efficient Symmetric Cryptography Algorithm
Mithil P. Gharat Department of Computer Engineering Vidyalankar Institute of Technology
Mumbai,India
Prof. Dilip Motwani Department of Computer Engineering Vidyalankar Institute of Technology
Mumbai,India
Abstract Use of battery operated mobile devices increasing rapidly, use of computationally intensive cryptography techniques are not much efficient on mobile devices. To overcome this problem we are proposing modifications in Diffie Hellman key exchange by merging it with RSA algorithm. To avoid man in the middle attack we try to encrypt the public components of DiffieHellman key Exchange using RSA Cryptosystem so they wont be accessible for any eavesdropper freely .RSA algorithm is used in this system also used to provide platform for authentication for users connected through insecure channels using Digital Signatures. This will also make Algorithm more complex to break while keeping computational complexity as low as possible.
Keywords KI, IR, PKC, DDH, PSS.

INTRODUCTION
The encryption algorithm is the chain of calculations that determine what ways the input plain text will be transformed into the output cipher text. There are two types of encryption: symmetric key encryption and public (asymmetric) key encryption. Symmetric key and public key encryption are used, often in conjunction, to provide a variety of security functions for network and information security.
Encryption algorithms that use the same key for encrypting and for decrypting information are called symmetrickey algorithms. The symmetric key is also called a secret key because it is kept as a shared secret between the sender and receiver of information. Symmetric key encryption is much faster than public key encryption, often by 100 to 1,000 times. Because public key encryption places a much heavier computational load on computer processors than symmetric key encryption, symmetric key technology is generally used to provide secrecy for the bulk encryption and decryption of information.
Encryption algorithms that use different keys for encrypting and decrypting information are most often called publickey algorithms but are sometimes also called asymmetric key algorithms. Public key encryption requires the use of both a private key (a key that is known only to its owner) and a public key (a key that is available to and known to other entities on the network). A user's public key, for example, can be published in the directory so that it is accessible to other people in the organization. The two keys are different but complementary in function. Information that
is encrypted with the public key can be decrypted only with the corresponding private key of the set.
Performance is the primary concern so we try to keep complexity and battery consumption to the minimum level. . When performance is the primary concern, programming in assembly language e may seem to be the obvious choice, since coding in assembly provides control over the processor. However, it is very easy to use the wrong mix of instructions and the performance is often worse than code generated by a good optimizing compiler.
We tried to analyse well known symmetric ciphers AES, DES and Blowfish.
In case Advanced Encryption Standard Algorithm (AES) [3]. Increasing the key size by 64 bits of AES leads to increase in energy consumption about 8% without any data transfer [4]. In case of AES it can be seen that higher key size leads to clear change in the battery and time consumption. It can be seen that going from 128bit key to 192bit causes increase in power and time consumption about 8% and to 256bit key causes an increase of 16%.
Data Encryption Standard Algorithm (DES) has a relatively small 56bit key which was becoming vulnerable to brute force attacks. In addition, the DES was designed primarily for hardware and is relatively slow when implemented in software [6]. While TripleDES avoids the problem of a small key size, it is very slow even in software; is unsuitable for limitedresource platforms, and may be affected by potential security issues connected with the (today comparatively small) block size of 64bits. The main disadvantage of DES is it can be cracked within three days by DES cracker.
Blowfish also improved from 224M memory size, but became steady in 352M memory size. Researchers this is because Blowfish function needs much more memory to initialize subkeys and Sboxes [10]. In all, the Blowfish encryption algorithm will run 521 times to generate all the sub keys – about 4KB of data is processed thats why it takes more time for large data. Blowfish have disadvantage in decryption process over other algorithms in terms of time consumption and serially in throughput.
We try to encrypt the public components because, The DiffieHellman key exchange is vulnerable to a maninthe middle attack. For Example an opponent Carol intercepts Alice's public value and sends her own public value to Bob. When Bob transmits his public value, Carol substitutes it with
her own and sends it to Alice. Carol and Alice thus agree on one shared key and Carol and Bob agree on another shared key. After this exchange, Carol simply decrypts any messages sent out by Alice or Bob, and then reads and possibly modifies them before reencrypting with the appropriate key and transmitting them to the other party. This vulnerability is present because DiffieHellman key exchange does not authenticate the participants.
There are two publicly disclosed prime numbers known as generator (g) and modulus (n) are used in DiffieHellman key Exchange algorithm. If these two are exchanged among parties using RSA encryption, then to find such Diffie Hellman Secret Key one has to break the RSA encryption. Thus, it will be immensely difficult for an eavesdropper to find the secret key, which can then be used by end users for encryption and decryption purposes. Of course, RSA will be employed for the User Authentication purpose as well. In this fashion the computational complexity does not increase for end users and at the same time data is also M*N times more secure; M, N are the complexities of solving DLP (Discrete Logarithm Problem) and Integer Factorization Problem respectively.
process also uses private keys to encrypt information to form digital signatures. For RSA digital signatures, only the public key can decrypt information encrypted by the corresponding private key of the set.
C. Degree of Security
While exchanging DiffieHellman public components RSA is also used for users authentication. Hence, all Man in the Middle attack can be brought to justice using Digital Signatures as evidence.
Using Brute Force attack, if somebody tries to reveal the secret key in computationally feasible time then he/she has to not only solve Integer Factorization problem in feasible time but also has to solve Discrete Logarithm problem at the same time.

ISSUES FOCUSED
There are four issues which are focused mainly to provide for better security

Secure Key Exchange
Figure 1. Key Exchange.
In our own approach we do not wish to send encrypted secret key along with encrypted data rather we try to generate same secret key at both ends using DiffieHellman key exchange policy. Moreover we exchange public components of this algorithm keeping them encrypted with RSA encryption decryption technique and therefore Secret Keys are far from being hacked.

User Authentication
RSA algorithm is used in this system to provide platform fr authentication for users connected through insecure channels using Digital Signatures. The RSA digital signature
Figure 2. The set of combination of keys.
D. Computational Complexity
Simply if we look at the computational complexities of both of RSA and DiffieHellman algorithm then we must realize that it takes more time with keys of larger size than that of smaller ones.
The algorithm will impose a computational complexity, which is equal to the multiplication of these two above mentioned algorithms because the public components of DiffieHellman are protected by RSA public key encryption


ALGORITHM
There are three basic steps that constitute the whole process of Data Encryption, Data Transfer, Data Decryption and those steps are:

RSA Key Exchange
Step 1: Generate RSA public components at user A and exchange those public components between user A & user B.
Step 2.Generate RSA private key at user A
Step 3: Generate RSA public components at user B and exchange those public components between user A & user B.
Step 4.Generate RSA private key at user B
(User A will possess public key of user B and its own private key. User B will possess public key of user A and its own private key.)

Secure Key Exchange
Step1: Set p, g where p is a randomly chosen prime modulus and g is the generator for user A.
Step2: Set x, where x is a randomly chosen large number (This is the secret of user A).
Step3: Set Ka = g^x mod p.
Step4: User A encrypts g, p, Ka with the public key of the intended recipient of the message and sends it to User B. Step5: User B receives encrypted g, p and Ka, sent by user A. User B then decrypts it and finds g, p and Ka.
Step6: Set y, a randomly chosen large number for user B. Step7: Set Kb = g^y mod p. Set DHKey = (Ka) ^y mod p Step8: User B encrypts Kb with the public key of User A. Step9: User B then sends encrypted Kb to user A.
Step10: User A receives encrypted Kb, sent by user B. Step11: User A decrypts it and finds Kb.
Step12: Set DHKey = (Kb) ^x mod p (DHKey is the secret DiffieHellman key for user
(DHKey is the secret DiffieHellman key for user B).
Using TCP connection we can send and receive data and/or keys generated through this algorithm.
As TCP is well known, it is out of the scope of this part of the discussion to elaborate on how TCP can be used to exchange Keys and/or encrypted data

Data Exchange
Step1: At first user data and/or application data (assume this user as user A) is read from the system and converted into its corresponding Byte Code.
Step2: Now the ByteCode is converted into its corresponding big integer form.
Step3: Convert DHKey into Byte code and Convert it into corresponding big integer form.
Step4. Divide the Data into Blocks of Key size.
Step5. Perform the Modulo 10 addition on each bit of data in block with DHKey until all blocks are processed this will be Encrypted message.
Step6: Transfer this message to User B.
Step7: User B performs Exact opposite operation to decrypt the data.
TABLE I. ADDITION MODULO 10


CONCLUSION
Using this algorithm we can encrypt and decrypt user and/or application data very easily and the simplicity of this algorithm is the soul of this algorithm though it creates combinational complexity for a eavesdropper to decrypt the ciphertext but for end users this algorithm never poses any complex functional activity to perform. Without knowing the DiffieHellman Key decryption of the cipher in this system is analyzed further more. The hacker has to try all sort of combination of the RSA and DiffieHellman key to find the exact combination for the specific transmission. Moreover, as we did not disclose the Public Components of DiffieHellman Part (i.e. generator and the prime modulus) the eavesdropper must have to break the RSA first to only find them and then have to counter to find DiffieHellman Secret key. If it is assumed that one 1024 bit RSA key to get broken through brute force attack on a highly sophisticated processor with great computational power, takes O (n) operations in an average case and for a DiffieHellman key (1024 bit) the same takes O (m) operations in average then for this algorithm it will take O (n*m) operations to break a set of keys. If m = n then we can say that to break a pair of keys using BruteForce Attack the complexity will rise up to O(n^2).
REFERENCES

Ruangchaijatupon, P. Krishnamurthy, ''Encryption and Power Consumption in Wireless LANsN, The Third IEEE Workshop on Wireless LANs – September 2728, 2001 Newton, Massachusetts.

J. Daemen, and V. Rijmen, Rijndael: The advanced encryption standard, Dr. Dobbs Journal, pp. 137139, Mar. 2001.

R. Chandramouli, Battery poweraware encryption, ACM Transactions on Information and System Security (TISSEC), vol. 9, no. 2, pp. 162180, May 2006.

K. McKay, Tradeoffs between Energy and Security in Wireless Networks Thesis, Worcester Polytechnic Institute, Apr. 2005.

A. Nadeem, A performance comparison of data encryption algorithms, IEEE Information and Communication Technologies, pp. 8489, 2006. 460

P. Ruangchaijatupon, and P. Krishnamurthy, Encryption and power consumption in wireless LANsN, The Third IEEE Workshop on Wireless LANs,pp. 148152, Newton, Massachusetts, Sep. 2728, 2001.

Bruce Schneier. The Blowfish Encryption Algorithm Retrieved October 25, 2008, http://www.schneier.com/blowfish.html

A. Nadeem, A performance comparison of data encryption algorithms, IEEE Information and Communication Technologies, pp. 8489, 2006.

V. Denzer and A. Ecker, Optimal Multipliers for Linear Congruential PseudoRandom Number Generators with Prime Moduli. Behaviour & Info Tech 28 (1988), pp803.

J. H. Loxton, David S. P. Khoo, G. J. Bird and J. Seberry, A Cubic RSA Code equivalent to factorization, J. Cryptology, 5 (1992), pp. 89 150.

J. Stern, Advances in Cryptology EUROCRYPT'99, vol1592, Lecture Notes in Computer Science, (1999), pp. 223238, Springer
Verlag.

N. Koblitz and A. J. Menezes, A Survey of PublicKey Cryptosystems, Mathematics of Computation, SIAM Review, 46 (2004), 599634.

A. Nicolosi, M. Krohn, Y. Dodis, D Mazi`eres, Proactive TwoParty Signatures for User Authentication, NDSS, (2003).

M. Bellare, S. Duan and A. Palacio, Key Insulation and Intrusion Resilience over a Public Channel, Lect. Notes in Com. Sc. Vol. 5473,
M. Fischlin ed, SpringerVerlag, 2009.

M. Bellare, A. Boldyreva, A. Desai and D. Pointcheval, Keyprivacy in publickey Encryption, Adv. in Cryptology – Asiacrypt 2001 Proceedings, Lect. Notes in Com. Sc. Vol. 2248, C. Boyd ed,
SpringerVerlag, 2001.

D. Boneh , G. Durfee , Cryptanalysis of RSA with private key d less than N0.292 , IEEE Tran. On Inf. Theo., Vol 46, No. 4, pp. 1339– 1349, July 2000

D. Boneh and R. Venkatesan, Breaking RSA may not be equivalent to factoring, In Proceedings Eurocrypt '98, Lect. Notes in Com. Sc.,Vol. 1233, SpringerVerlag, pp. 5971, 1998.

R. Canetti, H. Krawczyk, Analysis of KeyExchange Protocols and Their Use for Building Secure Channels., Eurocrypt, 2001. Long version available at eprint.iacr.org/2001/040.

M. Bellare, R. Canetti, and H. Krawczyk, Keying hash functions for message authentication, Adv. in Cryptology – Crypto 96 Proceedings, Lect. Notes in Com. Sc.Vol. 1109, N. Koblitz ed, SpringerVerlag, 1996.

M. Abdalla, M. Bellare and P. Rogaway, DHIES: An encryption scheme based on the DiffieHellman Problem, Lect. Notes in Com. Sc.Vol. 2020, D. Naccache ed, Springer Verlag, 2001.