# EC-ELGAMAL message mapping

I have been able properly set up an EC-elgamal protocol by using algorithms available in an IP that I have developed. Everything works fine, except for the fact that I haven't been able to completely "map" my message on the curve. I have converted a string message into hexadecimal ASCII, and used it as the x coordinate before the $$S = M + kY$$ (point addition) method, and have temporarily given the $$y$$ coordinate a value of my own because my FPGA isn't capable of performing square root to find the y value in $$y^2 = x^3 + ax + b$$. After the entire process, the messages sent and received are the same nevertheless therefore visually, it seems to be working well.

Can anyone tell me if "mapping" my message on the curve the way I did (ascii value for $$x$$ and a random number for $$y$$) should be legitimate or not? I am still having a hard time trying to find the purpose of the necessity of $$y$$ coordinate of the mapped message.

• Random question: is there a specific reason you aren't using ECIES instead? That's also IPR-free, and should be easier to implement... – poncho Jan 24 '19 at 15:13