设P=(x_p,y_p)是椭圆曲线E (a, b) := y^2=x^3+ax+b上的一个点,对于一个整数n,E (a, b)上存在一个点Q=(x_q,y_q)=nP。
如果给出了(x_q,y_q)和n,那么寻找(x_p,y_p)的算法是什么?
如果可能的话,
提供代码。
发布于 2020-01-10 18:37:27
对于椭圆曲线,我们可以计算任意点的顺序(特别是点nP;这在我们实际用于ECC的曲线上特别容易,因为对于小h和大素数q,这些曲线通常有一个阶hq (任意点的阶是hq的一个因子)。
所以,如果q是点nP的顺序,如果n相对于q是素数(因为我们在实践中通常有q素数),那么我们只计算n^{-1} \bmod q;然后就有(n^{-1} \bmod q)nP = P;也就是说,把nP乘以标量n^{-1} \bmod q给我们返回原来的点。
https://crypto.stackexchange.com/questions/76944
复制相似问题