Elliptic curve, JAVA Programming

Assignment Help:
In this project you need to write a program called "ECC.java"to implement Elliptic Curve encryption/decryption.

Specifically, your program will read parameters, plaintext and ciphertextfrom a file named "input.txt" (under the same directory).Then your program needs tocreate a file named "output.txt" (under the same directory) and prints the public key, private key, encryption and decryption results to "output.txt". (Please check the attached sample files "input.txt" and "output.txt".)

In "input.txt":

1. First line is aprime number q. Thus GF(q) is the ground field.

2. Second line are two integers a and b,separated by one blank space. Thus the elliptic curve Eq(a, b) is: y2 = x3 + ax + b.

3. Thirdline are two integers x1 and y1,separated by one blank space. Thus the base point is: G = (x1, y1).

4. Fourth line is an integer nA. Thus private key is nA.

5. Fifth line are two integers m1 and m2,separated by one blank space. Thus the point of the plaintext is Pm = (m1, m2).

6. Sixth line is the randomly generated positive integer k.

7. Seventh line arefour integers c11, c12,c21, and c22, separated by one blank space. Thus the point of the ciphertext is Cm = (c1=(c11, c12),c2=(c21,c22)).

In "output.txt":

1. First line (two integers) is the public key.

2. Second line (one integer) is the private key.

3. Third line (four integers)is the point of the ciphertextencrypted fromPmusing public key and k in input.txt. Suppose the point of the ciphertext Cm = (kG, Pm+kPB), then the first two integers are the coordinates ofkG and the latter two integers are the coordinates ofPm+kPB.

4. Fourth line (two integers)is the point of the plaintext decrypted fromCmusing private key in input.txt.

Related Discussions:- Elliptic curve

Bluej, how to write a program to assign value of variable age and print if ...

how to write a program to assign value of variable age and print if person is major.

Develop student portal, Develop Student Portal Project Description: T...

Develop Student Portal Project Description: Technology to be used: Java, Portlets, Liferay, functions in Oracle DB, Boostrap. We need develop two pages, a header and foote

Explain the phase compile- java program development, Explain the phase Comp...

Explain the phase Compile- Java Program Development In Phase 2, programmer gives the command javac to compile the program. Java compiler translates the java program into byte

Object-based programming, JavaScript is an extremely powerful object-based ...

JavaScript is an extremely powerful object-based (or prototype-based) language. It is not a full-blown OOP (Object-Oriented Programming) language, like Java, however it is an objec

#title.swithcase, 2. Problem Description: A Java program needs to be writte...

2. Problem Description: A Java program needs to be written to display the result of following operations based input character. The table for input character with operations is : I

Create a gui in java, Fill in the necessary parts to create a GUI that use...

Fill in the necessary parts to create a GUI that uses the CardDeck class.  In your GUI you should have a text field for each hand, two buttons and a text area.   Your program s

Java, Ask question Write an inheritance hierarchy for classes Quadrilateral...

Ask question Write an inheritance hierarchy for classes Quadrilateral, Trapezoid, Parallelogram, Rectangle and Square. Use Quadrilateral as the superclass of the hierarchy. Create

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd