MA478 ElGamal homework

Version: February 1, 2008

An ElGamal encryption is implemented using the curve E:y2 = x3 + x+ 60 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 = (841073427195754, 152866732227929)
M_2 = (909637075042961, 774804072630594)
Decrypt the message.

2 Alice encodes a message using ElGamal encryption for Bob, who has public keys
P= (1, 499818585323820), B = (856625492505607, 905458625144839)
You have intercepted the message. It is
M_1 = (666330160731807, 142022939494153)
M_2 = (510384010714421, 83565402159948)
Decrypt the message.

3 An earlier message from Alice to Bob was signed in the following way: Message:
M_1 = (602025063185123, 93064114023793)
M_2 = (774061256755521, 470461964022497)
Signature:
(602025063185123, (494804655312612, 185040613880047), 797600733295137)

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