前言:前文讲了DH密钥交换协议,DH的数学基础是离散对数,而一个算法在数学上逆运算越困难,其本身被破解的难度越大。
而我们今天要讲的椭圆曲线算法,在数学上,就复杂的多。
-
椭圆曲线的数学概念
椭圆曲线是由下面的方程描述的曲线:
y² = x³ + ax + b
4a³ + 27b² !=0
比如,y² = x³ - x + 1的图像是:
椭圆曲线有这样的两个性质:
- 关于X轴对称
- 画一条直线跟椭圆曲线相交,它们最多有三个交点
-
运算
首先定义椭圆曲线上点的加法。设椭圆曲线上有两点,A和B点,那么作过这两点的直线与该曲线相交于第三点(C点),然后关于X轴对称得到D点,则D为这两个点的和,记作D=A+B。很明显,D点也在该曲线上。所以椭圆曲线上两点之和也是曲线上的点。
特别地,如果两点重合,则作椭圆曲