Note 4/20/17: Due to circumstances I have had to move my web pages here.

Choose one of the two following elliptic curves:
 Curve over GF(p) Given a prime p, the elliptic curves modulo p that we use are of the form: y2 = x3 + ax + b. The curve and key information used for this page is: Curve over GF(2m) Given a field GF(2m) and a irreducable polynomial, the curve is of the form: y2 + xy = x3 + ax2 + b. The curve and key information used for this page is:

Select a point corresponding to a message you want to send. This particular approach is using elliptic curves to simulate ElGamal encryption.

• To encrypt the message, the sender first chooses a secret random number r. Then the sender takes the public key (E, e1, e2), the message P and calculates C1=r*e1 and C2=P+r*e2, and sends C1 and C2 as the message.
• To decrypt the message, calculate C2-d*C1 = P+r*(d*e1) - d*(r*e1) to get the original point P.

Note that there is no obvious way of mapping messages to points (Not all values for x or y correspond to valid points). This, along with the fact that symmetric key methods such as DES or AES are generally faster, means that ellipitic curve cryptography is rarely used for actually encrypting messages. Also, ElGamal used in this way is considered susceptible to some attacks, so should be avoided.

Message:
Sender selected value r:

Encrypted Message: C1: , C2:

The details are at the bottom of the page

Details: