I want to implement a crypto protocol using Elliptic Curve Cryptography. However, it requires a division which I cannot handle.
In multiplicative notation, it requires:
- Let $\mathbb{G}=\left \langle g \right \rangle$ be a finite cyclic group of prime order $p$.
- select $P \in_{R} \mathbb{G}$ and $a \in_{R} \mathbb{Z}_{p}$ and
- compute $S=P^\frac{1}{a}$.
In https://math.stackexchange.com/questions/471207/conversion-between-multiplicative-and-additive-group-notation, I learned that $S=P^\frac{1}{a}$ means $S=\frac{1}{a}P$ in additive notation. I only know point addition and point multiplication. Is there a way to calculate S?
As far as I can tell the operation being referred to is raising the point $P$ to the power $a^{-1} \in \mathbb{Z}_p$. Calculating this inverse is as Amzoti says just modular inversion, which should be fairly easy to do with the Euclidean algorithm. Then just raise $P$ to the calculated power, which can be done simply, or a bit quicker if you wish.
The reason it is written this way is probably to make it easier to read, compare $P^{(a+z)^{-1}}$ to $P^{1/(a+z)}$ as is written in the source.