有限域上椭圆曲线点计数公式失效原因咨询
首先,你提到的公式大概率是看错或者抄错了——椭圆曲线在$\mathbb{F}_{p^2}$上的点数公式里,常数项应该是+1而不是+a,这就是导致公式无法生效的核心原因。
正确的推导与公式
已知椭圆曲线$E(\mathbb{F}_p)$的点数为$#E(\mathbb{F}_p) = p+1 - a$,其中$a$是Frobenius自同态的迹,对应的特征多项式为$x^2 - a x + p = (x-\alpha)(x-\beta)$(满足$\alpha+\beta=a$,$\alpha\beta=p$)。
对于有限域扩展$\mathbb{F}{p^2}$,点数的通用公式是:
$$#E(\mathbb{F}{p^n}) = p^n + 1 - (\alpha^n + \beta^n)$$
当$n=2$时,代入得到:
$$#E(\mathbb{F}_{p^2}) = p^2 + 1 - (\alpha^2 + \beta^2)$$
我们可以用$\alpha+\beta=a$和$\alpha\beta=p$化简$\alpha2+\beta2$:
$$\alpha2+\beta2 = (\alpha+\beta)^2 - 2\alpha\beta = a^2 - 2p$$
代入后还能得到更直观的展开式:
$$#E(\mathbb{F}_{p^2}) = p^2 + 1 - (a^2 - 2p) = (p+1)^2 - a^2 = (p+1 -a)(p+1 +a)$$
这个式子也很好记:直接用$#E(\mathbb{F}p)$乘以$(p+1+a)$即可得到$\mathbb{F}{p^2}$上的点数。
实例验证(证明错误公式的问题)
举个简单例子验证:
假设$p=5$,椭圆曲线$y2=x3+x+1$,计算得$#E(\mathbb{F}_5)=4$,所以$a=p+1 -4=5+1-4=2$。
特征多项式根$\alpha,\beta$满足$\alpha+\beta=2$,$\alpha\beta=5$,$\alpha2+\beta2=2^2-2*5=4-10=-6$。
用正确公式计算:$#E(\mathbb{F}{25})=25+1 - (-6)=32$,实际验证这个曲线在$\mathbb{F}{25}$上的点数确实是32。
如果用你的错误公式:$25+2 - (-6)=33$,结果明显偏离正确值。
内容的提问来源于stack exchange,提问作者Problemsolving

