我注意到,爱德华/蒙哥马利的DBL/diffadd格式几乎比Weierstrass格式的(外汇基金)快一倍,而curve25519是令人沮丧的高性能的,这些表单之间的转换最多可以由两个ModInvs (甚至两个ModMults)覆盖。因此,像p256或Secp256k1这样的特殊椭圆曲线上的标量乘法可以以爱德华/蒙哥马利的形式转移到scalar_mult。
发布于 2019-01-24 10:57:26
曲线P-256和Secp256k1不能转换为蒙哥马利或爱德华兹形式,因为它们是素数级的。
让我们以Secp256k1为例,尝试将其转换为Montgomery曲线:
蒙哥马利曲线by^2=x^3+ax^2+x有一个2阶点,这样一个点验证了2P=\mathcal{O},或者认为它等价于P=-P,意思是(x,y)=(x,-y),所以这些点都在x-axis上。那么很明显,蒙哥马利曲线上的点(0,0)有2阶。现在给出secp256k1曲线y^2\equiv x^3+7 \pmod p,p=2^{256}-2^{32}-2^9-2^8-2^7-2^6-2^4-1,我们在x-axis上寻找点,即满足x^3 \equiv -7 \pmod p的点。这个模立方方程有无解。
在一般情况下,P-256和Secp256k1不能转换为Montgomery形式,因为它们有一个素数(\ne 2),因此它们不能有阶点2 (否则,2会将素数除以拉格朗日定理 )。
同样的推理也适用于爱德华兹曲线x^2+y^2=1+dx^2y^2,因为点(0,-1)有顺序2,点(\pm 1, 0)有顺序4。
https://crypto.stackexchange.com/questions/66715
复制相似问题