You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can see, there is currently no public interface for $E(\mathbb{F}_p)$ Point operations, but this is a highly desirable feature alongside the excellent $\mathbb{F}p$ API, and the ECDH and ECDSA APIs.
Here are some applications that need e.g. (scalar) point multiplications:
Computing Pedersen Commitments over Elliptic Curves, one needs to compute $Com(s, r) := sA + rB$ where $s \in \mathbb{F}_p$ is a (small) message, and $r \in \mathbb{F}_p$ is for blinding.
For longer messages $(m = s_1 || s_2 || ... || s_n)$, one computes Pedersen Commitments as $Com(m, r) := s_1A_1 + s_2A_2 + ... + s_nA_n + rB$
Implementing a Seed-Homomorphic PRG, one selects n random points $P_1 \cdots P_n$ as fixed system parameters, and then on input $s \in \mathbb{F}_p$, one computes $PRG(s) := (sP_1, sP_2, \cdots, sP_n)$. Of course, precomputation for those (fixed) points would be a good idea too, since the $P_i$ are being reused all the time for many different seeds $s$.
While Seed-Homomorphic PRGs are not that common (but useful), Pedersen Commitments are hugely popular. In general, computing $(s_1P_1 + s_2P_2 + ... + s_nP_n)$ is needed in many cryptographic applications.
Sadly, functions like src:edwards255.c:point_multiplication_ed25519() are static for internal use only, and are hidden deeply inside the bowels of the library.
The text was updated successfully, but these errors were encountered:
As far as I can see, there is currently no public interface for$E(\mathbb{F}_p)$ Point operations, but this is a highly desirable feature alongside the excellent $\mathbb{F}p$ API, and the ECDH and ECDSA APIs.
Here are some applications that need e.g. (scalar) point multiplications:
While Seed-Homomorphic PRGs are not that common (but useful), Pedersen Commitments are hugely popular. In general, computing$(s_1P_1 + s_2P_2 + ... + s_nP_n)$ is needed in many cryptographic applications.
Sadly, functions like src:edwards255.c:point_multiplication_ed25519() are static for internal use only, and are hidden deeply inside the bowels of the library.
The text was updated successfully, but these errors were encountered: