有趣的椭圆曲线加密
一、概述 椭圆曲线加密算法依赖于椭圆曲线理论,后者理论涵盖的知识比较深广,而且涉及数论中比较深奥的问题。经过数学家几百年的研究积累,已经有很多重要的成果,一些很棘手的数学难题依赖椭圆曲线理论得以解决(比如费马大定理)。 本文涉及的椭圆曲线知识只是抽取与密码学相关的很小的一个角落,涉及到很浅的理论的知识,同时也是一点比较肤浅的总结和认识,重点是利用椭圆曲线结合数学技巧阐述加密算法的过程和原理。 本文特意构造有比较多的实例方便理解其过程和原理。 二、椭圆曲线 椭圆曲线方程来源于椭圆积分,后者来最初来源于计算椭圆周长的问题,有一段时间的历史了,在欧拉时期就开始研究。椭圆周长没有精确的初等函数的公式表示,只有近似的公式表示,精确的椭圆周长可以用不定积分表示。 现在一般将形如如下形式的积分定义为椭圆积分: $f(x)=\int_{c}^{x}R\left [ t,\sqrt{P(t)} \right ]d_{t}$ 其中$R$是其两个参数的有理函数,$P$是一个无重根的3或4阶多项式,而$c$是一个常数。椭圆曲线方程与$P(t)$表现形式比较相像。 数学上的椭圆曲线一般由如下形式给出: $E:y^{2}=x^{3}+ax^{2}+bx+c$,其中判别式$\Delta (E)=-4a^{3}c+a^{2}b^{2}-4b^{3}-27c^{2}+18abc\neq 0$