Secure and efficient bi-directional proxy re-encyrption technique

Rapid development of communications over internet such as online money transaction, transaction of E-mail with sensitive data (medical data) and so on has led to need for strong cryptographic technique. There has been continuous research going on to assure strong security by various cryptanalyst. However, performance, computation time and ease of use play a significant role in using the algorithm for implementation. Proxy re-encryption plays a significant role in protecting data that are stored in public environment (cloud). Many existing Proxy re-encryption technique induces high computation overhead due to adoption of public key cryptography such RSA (Rivet Shamir Adleman), ECC (Elliptical Curve Cryptography) etc. To address this work present a Bidirectional Proxy Re-encryption scheme by adopting lattice based cryptography technique. Experiment is conducted for computation overhead by varying key and data size which attained significant performance improvement over existing Proxy Re-encryption scheme.


INTRODUCTION
The wide availability low cost broadband/internet service has led to the growth of financial and business across various industries/organization. The growth of internet has led the organization to deliver customer services online such as social networking, online transaction, and customer service and so on. Internet has been integral part of every user as of today. Despite these benefit it still faces several issues and challenges such as integrity, confidentiality and privacy of data which is not trustable. To address this, cryptography mechanism has been adopted. Encryption and decryption is the integral part of cryptography mechanism. In Encryption the message are encoded by sender by applying some transformation technique and in decryption the message are decoded by receiver. The cryptographic technique has been adopted in various domains such as cloud, social networking, Email service etc. when developing cryptography mechanism generating unbreakable cipher data is an art not technology. With the availability of high computing device and cloud technologies have led to development of strong cryptography mechanism which is the need of the hour.
Let consider a scenario that a person is on vacation and he is not able to access internet/mail. You would want the server to forward your encoded mail data to the receiver B who can decrypt the cipher data using his private key. A simple way is to store the private key in mail server. In that case when user receive the mail the server decode it using private key that is stored in server and re-encrypt message using B's public key. Yet, such method is not desired solution, particularly for untrusted service provider [1] [2] [3], since the provider can obtain both your private key and actual data.
Proxy Re-Encryption [4] is an efficient strategy that assures sender secure storage and sharing of data/message on public storage environment and solves key management problems [4] [5]. Proxy Re-Encryption has been adopted by application domain ranging from encrypted email forwarding [6], vehicular ad hoc networks (VANETs) [7] [8] digital right management (DRM) [9] [10], distributed computing [11] [12], to group key management [13]. In Proxy Re-Encryption scheme a sender encode it file using public key and then store the cipher data on the semi-trusted server. When receiver request for data, the sender send the proxy key or re-encryption key associated with the intended receiver to the server as proxy. Then the receiver receives the re-encrypted cipher text then finally the receiver decrypt the cipher text with his private key to retrieve original data. The Proxy Re-Encryption technique generally assures security (1) that the proxy cannot re-encrypt the cipher data in a useful form before receiving the encryption key, and (2) that neither the receiver nor the server/proxy can obtain meaningful information of re-encrypted data.
The Proxy Re-Encryption is of two forms unidirectional and bi-directional. If re-encryption key inevitably permits the proxy to transform cipher data under into cipher data under y then it is called as unidirectional. If re-encryption key inevitably permits the proxy to transform cipher data under into cipher data under y and vice versa, then it is called as bidirectional. Any unidirectional scheme can be transformed into bidirectional but converse should hold. In [1] [3] presented a bilinear pairing unidirectional Proxy Re-Encryption to protect against CPA (Chosen Plaintext Attack). However it lacks security to protect attack against CCA (Chosen Cipher data Attack). To address this [14] presented CCA-secure bidirectional Proxy Re-Encryption technique. To address RCCA (Repayable Attack Chosen-Cipher data) security [15] presented a unidirectional Proxy Re-Encryption technique. Both these technique adopt bilinear pairing which requires high computation cost for modular exponentiation in finite fields [16] which adopts public key based cryptography mechanism.
2016 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT) 978-1-5090-5240-0/16/$31.00 ©2016 IEEE To address this lattice based cryptography mechanism is adopted by various approaches. To resist the quantum attack, [17] presented the first lattice based Proxy Re-Encryption mechanism that realizes non-interactivity and collusion resilience. Further they presented, the security proof of their methodology is given in the selective model under the Learning with Error [18] assumption.
As in [18], [19] the Learning with Error assumption analytically has strong connection to lattice hardness assumptions, which are assumed safe in various factors. Though, there are passible "attacks" on Learning with Error, as in [20] [21] [22]. Therefore when designing a Learning with Error we need consider real world environment threat as in [20] among them Search-Learning with Error is most effective attack. In [23] presented unidirectional and multiple usage Proxy Re-Encryption technique by adopting multi-linear map [24] considering strong multi-linear groups and address the issues of [14] in designing Proxy Re-Encryption unidirectional and multihop.
This work presents a Bidirectional Proxy Re-encryption scheme by adopting lattice based cryptography technique which is multihop (it supports multiple re-encryptions) which is presented in next section below.
The paper organization is as follows: In section two the proposed Bidirectional Proxy Re-encryption scheme is presented. Section three the experimental result are discussed. The last section paper is conclude with future work.

II. PROPOSED MODEL
This work present Bidirectional Proxy Re-encryption scheme by adopting lattice based cryptographic technique. In lattice based cryptographic approach Java lattice based library is used which performs the mathematical operation of lattice based cryptosystem. Let the Alice be person and bob be person . The proposed Bidirectional Proxy Re-encryption scheme consists of following entities.
: A pair of public and master key is the outcome of generate key function strategies for person n . By the use of GenerateKey() a pair of public key and private key or master key generated. Public key is the and master or private key is the which is generated based on randomly selected polynomials.
If it randomly selects a polynomial pairs of , with fixed coefficient equivalent to and the private polynomial has to be congruent to mod . Where the small polynomial. The public key consist of that polynomial p were the private key is the polynomial .
: The input for re-encryption strategy is master key and d . The reencryption key is computed among person and as yp y p . The proxy key is computed where neither proxy nor can obtain information about master key is as follows, Let choose an arbitrary and transmit to proxy and to . Similarly transmits to the proxy and then computation is done by proxy as .
: On a given public key and data a as input, the function produces a ciphertext as and produces a trivial arbitrary polynomial as output.
: On a given ciphertext and reencryption key y as input. The function generates ciphertext and generates arbitrary polynomial as output.
: On a given ciphertext and master key y as input. The function process and produces the actual data as output.
The Re-Encrypted cipher data form are represented as follows (1) When the re-encrypted cipher data is decrypted, the receiver multiplies the cipher data with its master key is as follows (2) The additional term is get ridden by obtaining mod and to obtain we required master key polynomial , therefore , which is the actual data.
To prevent the simple cipher data only attack from the receiver we include the term in the process of re-encryption. The proposed Bidirectional Proxy Re-encryption scheme is evaluated and compared with existing Proxy Re-encryption scheme interm of computation overhead for varied key size which is shown in below section.

III. EXPERIMETAL RESULT AND ANALYSIS
The experiment is conducted on windows 2007 enterprises operating system, I-5 3.2 Ghz quad core processor, CUDA NVIDIA 2GB dedicated graphic card, 8 GB Ram. The Proposed and Existing algorithm [25] is implemented by using java cryptography libraries in eclipse Neon IDE (version 4.6). Simulation is conducted by varying key size and keeping the file size constant (1024 bytes) and the computation time are noted for Encryption, Re-encryption, Decryption and Total computation time (ms). The total computation is composed of the entire process including time taken to generate key.
In Fig. 1   In Fig. 2 the key sizes are varied and simulation is conducted for both proposed and existing method. The performance improvement of proposed model for re-encryption when key size is (256-1536) is 94.32%, for (256-4094) is 95.78% and for (320-4094) is 95.47% over Existing model. An average improvement of 94.001% is achieved by Proposed Model over Existing Model interm of computation time for reencryption.   Providing security to data with least computation overhead is most desired. The existing technique adopts unidirectional based proxy re-encryption technique. To overcome the quantum security issue of public key cryptography many existing proxy re-encryption approaches have adopted lattice based cryptography mechanism which attained significant performance improvement but these techniques are unidirectional and induce decryption error for multiple reencryption. Here we proposed a Bidirectional Proxy Reencryption scheme by adopting lattice based cryptography technique which is multihop. The proposed model achieves significant performance improvement interm of computation overhead over existing model. Simulation is conducted by vary key size an average improvement of 52.83% is achieved by proposed Proxy Re-encryption model over existing model interm of computation overhead. In future we evaluate computation overhead of our model considering varied file size.