I want to know how I can implement this protocol. I know how Shamir three pass protocol operates without elliptic curve, but I don't know how I can perform it with elliptic curve.
I read about this protocol; if Alice want to send to Bob then:
Alice convert the message in a point $M$ of the elliptic curve. Then she picks a random element $k$ that belongs to the finite field of elliptic curve. Then she encrypt with $k \times M$ to generate $kM$, right?
Bob picks a random element $q$ that belongs to the finite field. Then he encrpyt the point received from alice to generate $q(kM)$, for this he computes $q \times (kM)$.
Alice decrypt the message with the inverse of $k$.
It is possible? The function decrypt would be $k^{-1} \times q(kM)$? Then, Alice send $qM$ to Bob.
- Bob decrypt wit the inverse of $q$. He decrypts in the same way that Alice does.
I think that this are the steps for this protocol but it does not work in my SAGE implementation. Can somebody indicate if I missed anything?