IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 4, Ver. I (Jul-Aug. 2014), PP 65-68 www.iosrjournals.org www.iosrjournals.org 65 | Page Implementation of Ecc Using Socket Programming In Java. 1 Ms. Shubhi Gupta, 2 Ms. Swati Vashisht 1,2 Assistant Professor, Department of Computer Science and Engineering,DIT School of Engineering, Greater Noida 201308, India Abstract: Elliptic Curve Cryptography (ECC) has attracted the attention of researchers and developers as it has got robust mathematical structure and higher security compared to algorithms like RSA (Rivest Adleman and Shameer Public key Algorithm). It increases the security compared to RSA or at least give comparable security with lesser key size than RSA. This research shows the implementation of ECC algorithm on a data that is sent from one computer device to another connected through LAN using socket programming in Java. Index terms: ECC, Socket programming, ASCII I. Introduction To secure the information secure, a science called as Cryptography is used. It is a branch of applied mathematics that emphasizes on adding security on any type of message. Cryptographic algorithm has encryption keys that change a general algorithm into a method of encryption. This „key‟ is the crux or seed of this algorithm. The Elliptic curves in Cryptography were generated by Victor Miller and N. Koblitz. It involves factorization or discrete log problem in sub-exponential time. This means smaller parameters can be used with smaller key size to perform faster computations. ECC Cryptographic System: In this type of Public key cryptography, the user or the communicating device should have a pair of key, public key and a private key. To carry the encryption and decryption process, some set of operations are performed on these keys. The underlying mathematic operation is defined over the elliptic curve y 2 = (x 3 + ax + b) mod p such that 4a 3 + 27b 2 mod p ≠ 0 where p is a large prime number and a and b are the coefficients that generates different elliptic curve points (x,y). Operation: 1. Take a large prime no. p and values for coefficients a and b such that 4a 3 + 27b 2 mod p ≠ 0. 2. Consider an equation: y 2 = (x 3 + ax + b) mod p. 3. Take all values of y between 0 to p-1 and calculate y 2 mod p. 4. Take all values of x between 0 to p-1 and calculate (x 3 + ax + b) mod p. 5. Collect values of y from step 3 corresponding to values computed in step 4. 6. Collect all points (x,y) from step 5. 7. Input a supposed value of G known here as the base point which belongs to points from step 6. 8. Calculate 2G, 3G… such that : 2G = G + G, 3G = 2G + G and so on until a value iG is found ( let i be the least positive integer) such that the value of x coordinate of this point is same as the value of x coordinate of G and the value of y coordinate is prime number minus the value of y coordinate of G. From this, Order of G, called as n is computed as i+1. For instance, If p = 7, G = (1,3) , values of 2G, 3G etc. will be calculated until the value of 3G comes out to be (1,4). Then the order, n will be 4. This addition will be done as follows: