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