序
这里边主要内容还是源自Diophantus Analysis,Serge Lang的书的第二章。
这个可除多项式在椭圆加密里面,关于计算有理点个数上挺重要的,是Schoof算法中的关键点。(ps:我这里扯一句,Schoof算法中原始论文中一共出现大概7次左右的typos,然鹅,国内一些关于这个算法的文章,也跟着错了。。。)
前置的一些东西可以参考如下文章:
Alepha E:复变随记(三) 聊聊模形式的“半边天”——椭圆函数zhuanlan.zhihu.com这篇文章就主要简单介绍一下可除多项式的内容了。
目录
- 可除多项式(division polynomials)
- 可除多项式的递推关系
-
上的代数形式
- 从算法复杂度上一点思考
可除多项式(division polynomials)
当初我读完Stein在他复分析里面提到的椭圆函数那些东西时,我就有个预感:这玩意(指Weierstrass函数表示)能够跨越纯代数上的一些障碍,从分析的角度出发又回到代数中。除了那它来研究曲线,根据它本身的特点,至少得有一些关于椭圆曲线计算上的东西(这么想有个好处:如果这方面有人做了,等到有需求时直接学习即可;倘若是没有人做,那不就是一块很好的处女地么?)。
要知道,在Weierstrass模型下,有如下对应
于是乎,容易让人产生这样的理想,就是对于曲线上n倍元(这就是可除多项式要做的),即
这样点的坐标可以考虑拉回到
为了不显得这种想法“理所应当”, 将椭圆曲线的解析背景和代数背景分别再列出来:
看右边的基本上看不出来有什么比较好的内在结构,而左边的在
解析背景下,有理点加法有
在代数背景下,有理点加法有
(第一行的是不同点相加,第二行的是相同点相加(2倍元))
要是真想去找倍元,从
记一个有理点群
我们可以定义这样的多项式
定义 可除多项式,其中,
(这一点的构造让我想起来判别式了——为了判断是否有重根,就将所有的根两辆做差求平方。)
能够发现,
接着拿上图举例子,于是这个平行四边形的点可以有如下对等
但是,在
所以,考虑对
- 为奇数时,所有
的因子为2重,因为
- 为偶数时,除了
以外,其他的因子为2重。这是因为处重数为1(为生成基本平行四边形的两个向量)。有两个零点并且
于是
注意,可除多项式有
这时候需要计算一下
再结合上面的讨论,则有
可除多项式的递推关系
上面说到可除多项式解析的定义,以及多项式的展开。
实际上,上面那个多项式可以看做是
也就是说,要想着把
于是乎,可以考虑
于是,
除了零点的以外,还要考虑到两边极点的问题,类似地可以得到
因为对于
然后再考虑一波重数(multiplicity)的问题,能发现
因此
是椭圆的(elliptic),无零点、无极点。根据Liouville定理,可知为常数。再通过上面写出的展开,可以得到如下在
从而有
倍元横坐标公式 (解析形式)
相似地,又可以有
倍元纵坐标公式(解析形式)
不过用上述方法只能去验证这个纵坐标的公式,如何想到呢?
接着从倍元横坐标公式出发,看看能不能得到关于可除多项式的递推关系。
由加法公式
以及
从而,可以形式上定义
从而
接着,由加法公式可以推出
令
对于
观察
但是
的零点。这个多项式的零点也都是
可除多项式递推关系 当,有
此外,将
推论
有了这样的公式,关于倍元的纵坐标公式的形式,也就不难联想到了(既然都可以猜到了,验证从上即可~)。
最开始,我们还是希望得到比较“整”的关系,毕竟还是要用到有限域上呢。
所以考虑如下对应,
原先的Weierstrass模型的椭圆曲线就变成了
同样地,可除多项式就有
我们记
根据之前的递推关系,有
因为
下面这个定理,其实综合前面的内容即可得到的
Thm 令那么有:(1)(2)为奇数时,,为偶数时,。且(3)为奇数时,,为偶数时,
在列举一个可除性的定理,证明就不写了
Thm (1)令,则为所有系数的公因子。(2)若,则(3)若,为奇素数,则在中,首项系数为,且系数互素。
Thm 多项式在中互素。Thm 令,则有
从算法复杂度上一点思考
考虑到对于有理点
是用可除多项式好还是用对半求和的方法好?
考虑单纯计算倍元的角度:
加法公式为:
常规加减乘除的复杂度就当做常数了(毕竟我也管不了编译器。。。),有限域求逆是个
然后用可除多项式来计算,则显然需要
不过看着理论如此“性感”,但是现实会很“骨感”。因为根据相关对于可除多项式的研究,要是当
那么这个可除多项式有什么用呢?
实际上,当
(