Encryption/Decryption of X-Ray Images Using ...

1 downloads 0 Views 374KB Size Report
... Germany: Springer-Verlag, 1999, vol. 1666, Lecture Notes in Computer Science, pp. 388–397. 11. http://mmattes.deviantart.com/art/X-Ray-Heart-121441422.
Encryption/Decryption of X-Ray Images Using Elliptical Curve Cryptography with issues and Applications Vikas Pardesi1, Aditya Khamparia1 1

Assistant Professor, CSE Department, Lovely Professional University, Punjab, India {[email protected], [email protected]}

Abstract- Elliptic Curve Cryptography is a public key cryptography scheme which is leading now days because of its great advantages (small key size, less time for encryption, no solution to Discrete Logarithmic problem, impossible time taken for brute force attack) for handheld, low memory, portable and small devices. Applying Elliptic Curve Cryptography on text and image gives almost equal performance. In this paper we are summarizing that how Elliptic Curve Cryptography encrypts and decrypt text data and image. Operations responsible for encryption are point multiplication, point addition, point doubling, and point subtraction are explained in detail. One more thing which is very necessary in decryption of the Elliptic Curve Cryptography that is Discrete Logarithmic Problem which is also explained briefly and many more comparative study about Elliptic Curve Cryptography advantages, Disadvantages, Elliptic Curve Cryptography attacks and its applications comparing with other Encryption Algorithms. Keywords- Discrete Logarithmic Problem, Elliptic Curve Cryptography, Public Key Cryptography

1 Introduction In area of information security this is very important that the information we are sharing and transferring over network with each other that must be secured in the network. So in this era we have a challenge to secure our information whether it may be in any type of data whether it is raw data, text data, image data, and audio/video data whatever it is. So from earlier days there are many security algorithms and many encryption methods came but they may have some drawbacks in implementation or in overhead or in complexity. In this paper we are summarizing whole idea about Elliptic curve cryptography how it works on text data as well as on image. Elliptic curve cryptography [1] is a public key cryptography proposed by koblitz and miller in year 1985. In the public key cryptography scheme generally those people who are taking part in the communication each one have their own secret key and each one’s public key [2] i.e. transferred over network. In Elliptic Curve Cryptography, computational operations are defined over the elliptic curve i.e., y2=(x3+ax+b) mod p, where 4a3+27b2≠0. Elliptic curve vary with the value of ‘a’ and ‘b’.

Now we are giving a brief introductory encryption and decryption of text and image. Procedure is equal likely here we are giving example of a single character (text Data) and one 2D image. In encryption process, firstly we generate point that lies on elliptic curve. From these points we take base point that is represented by BP (x, y). Base point has the initial value (x, y) that satisfies the Elliptic curve. We take another value i.e., affine point AM(x, y) it may be any point that lies on elliptic curve. Then generate public and private key of each user like if there is two user A and B then their public keys are PUA and PUB and private keys are PRA and PRB respectively. Private Key of users is a random number and public key of users is generated by performing multiplication operation with private key and base point. After generating key pairs, we take each pixel value one by one in an image or a single character ASCII value from a message. We perform multiplication operation with pixel value ‘A’ and affine point AM i.e., SM=A*AM. In Elliptic Curve Cryptography point multiplication is the basic operation which consists of two operations point addition and point doubling. By performing multiplication operation encrypt the whole message and generate Cipher Text i.e. CT = {(R*BP), (SM+R*PUB). here (R*BP) is a coordinate value it is (x1, y1) and (SM+R*PUB) is also a coordinate value it is (x2, y2) where SM=A*AM and ‘A’ is scalar value i.e., pixel value or ASCII value of data and AM is affine point. And R is a random number and PUB is public key of user B so finally cipher text is CT {(x1, y1), (x2, y2)}. In Decryption of the encrypted data we apply the private key of the user B i.e., PRB on the first element i.e., R*BP. This is subtracted from the other term (SM+R*PUB) to recover the SM. In last we apply Discrete Logarithmic problem to recover our pixel value or ASCII value.

2 Previous Analysis & Work on Elliptic Curve Cryptography Elliptic curve cryptography is a very wide area for finding many precious things which are remained unexplored. Since 1965 after proposing the Elliptic Curve Cryptography by the koblitz there are many researchers in this field contributed their work in those Alessandro Cilardo said about Elliptic Curve Cryptography engineering [8]. In this he told that in implementation of the ECC (Elliptic Curve Cryptography) there are many ECC attacks they are possible. In recent years there are many research is going on ECC they said that side channel attack and its countermeasures can be prevented with some vast and huge set of instructions or algorithm, and now days we are optimizing that algorithms.

3 Operations in Elliptical Curve Cryptography 3.1 Point Multiplication- point multiplication is the operation of elliptical curve cryptography which contains itself two operations i.e. point addition and point doubling. In point multiplication [7] operation we multiply one scalar value that may be your character ASCII value or image pixel value. E.g. point is p(x, y) that is multiplied by scalar a then we get another point k=a*p(x, y).

 Point addition – in this we add two points to get another point e.g. K(x, y) = L(x, y) + M(x, y).  Point doubling – in this we add a point to itself to get another point e.g. K(x, y) = L(x, y) + L(x, y). For example to understand the multiplication we have a scalar value i.e., 7 and point is P(x, y). Multiply 7*P(x, y). Q(x, y) = P(x, y) + 2(3(P(x, y)) Q(x, y) = P(x, y) + 2(P(x, y) + 2P(x, y))……………………………………….. (1) so we got last 2P(x, y) in this we perform point doubling operation and we get another point say P1(x, y) put it in the equation (1) i.e., Q(x, y)=P(x, y)+2(P(x, y)+P1(x, y)) now in bracket we perform point addition operation between P(x, y) and P1(x, y) and get new point p2(x, y) now equation becomes Q(x, y)=P(x, y)+2(P2(x, y)). Then again we apply point doubling and addition then we get final point Q(x, y).

3.2 Point Addition- in point multiplication we again and again using point addition so we have a formula for computing the value i.e., say two points are K(Xk, Yk) and L(Xl, Yl) and J(Xj, Yj)=K(Xk, Yk)+L(Xl, Yl) now Xj= S2-Xk-Xl mod p Yj= -Yk+S(Xk-Xj) mod p S=(Yk-Yl)/(Xk-Xl) mod p Where S is the slope of the line which is passing through point K(Xk, Yk) and L(Xl, Yl) and p is a prime number.

3.3 Point Doubling- In point doubling say one point J(Xj, Yj) that gives one point L(Xl, Yl) after doubling operation so L(Xl, Yl)=2J(Xj, Yj) Xl=S2-2Xj mod p Yl=-Yj+S(Xj-Xl) mod p S=(3Xj2+a)/(2Yj) mod p Where S is the tagent at point J and a is one of the parameter chosen with the elliptic curve and p is a prime number.

3.4 Point Subtraction- say two points K(Xk, Yk) and L(Xl, Yl) and M(Xm, Ym)=K(Xk, Yk)-L(Xl, Yl) then M(Xm, Ym)=K(Xk, Yk)+(-L(Xl, Yl)) where –L(Xl, Yl)=(Xl, -Yl mod p) where p is a prime number.

4 Procedure & Algorithm for ECC There are two steps we have to follow for fulfillment of our implementation. First one is Encryption and Decryption and in decryption we have two process first one is decryption and another is Discrete Logarithmic Approach [5] for finding the solution. Encryption- we have to encrypt so first of all we have to generate all points that satisfying the elliptical curve follow this function GetPoints (a, b, p) Step 1 take x=0 or any other positive integer

Step 2 loop until x