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 = (894136330720162, 940092249519874)
M_2 = (996678937456132, 127900381462949)
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 = (918162473805506, 69224596041652)
M_2 = (920136456230481, 940366397854266)
Decrypt the message.

3 An earlier message from Alice to Bob was signed in the following way: Message:
M_1 = (501189593173147, 403682137227036)
M_2 = (839224421625253, 921248410912109)
Signature:
(501189593173147, (494804655312612, 185040613880047), 866380907753917)

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