数学模型到真正的计算模型

椭圆曲线加密算法基本上属于有限域在几何上的衍生, 因此比较侥幸的,朴素的数学模型可以很简单地离散化并在计算机上实现, Ed448使用了edwards curve format,自然而然将原本需要考虑0 division的问题简化成了单一的formulas

https://github.com/twstrike/ed448

但是在实现了bigNum版本之后,我们发现未经优化的算法性能非常底下,所以花了一半时间在理解Montgomery ladder,karatsuba, precalculation,以及constant time的算法上,这部分的内容更类似于一种底层的算法优化,甚至与任何数据结构无关,而是纯数学变换问题,同样的原因,我们还尝试了汇编语言,但是效果并不显著,可以看出来最底层的运算在传统高耗时耗能软件的构建中可能存在非常大的优化空间,尤其是量子计算机之后,我们或许可以看到一个完全断层的技术门槛,就像当年核武诞生引发的差距一样。

或许又一天,我们的孩子不再用“加减乘除”这样的基本算数构建起他们到数学世界,而是增加了若干量子运算来为各种算法打开新的思路,这样的未来,真的让人兴奋而又恐慌。