MA478 ElGamal homework

Version: February 1, 2008

An ElGamal encryption is implemented using the curve E:y2 = x3 + x-64 modulo p where p=1015+91.

1 You choose the point P=(1, 499818585323820) and s=2007, so the B=sP and P are your public keys.
The message is encrypted by converting the characters to three character ASCII codes and concatenating them. (e.g. HI become 072073) This integer is converted to a point of E(Fp) using the Koblitz algorithm described in class.

You receive the message
M_1 = (929441914414761, 397868834876657)
M_2 =(754720454274946, 640597987944175)
Decrypt the message.

2 Alice encodes a message using ElGamal encryption for Bob, who has public keys
P= (1, 499818585323820), B = (718083622456360, 451478465189579)
You have intercepted the message. It is
M_1 = (826792400744676, 837320932094286)
M_2 =(13807498208065, 8695096682904)
Decrypt the message.

3 An earlier message from Alice to Bob was signed in the following way: Message:
M_1 = (570728127871238, 766299950011152)
M_2 = (898332219876506, 414829223022425)
Signature:
(570728127871238, (494804655312612, 185040613880047), 352675448478945)

Alice is using the same elliptic curve, the function f(M)= the x-coordinate of M_1, the generator A= (1, 499818585323820), and B = (517140597259274, 508718343621762). Now that you have decoded the message from 2, sign it so that it appears that Alice has signed the message.
Go to