椭圆曲线的数字签名算法

椭圆曲线的定义
1985年,Koblitz和Miller独立地提出了椭圆曲线公钥密码体制(ECC),安全性基于椭圆曲线群上的离散对数问题的难解性,该问题目前最好的解法是指数级时间的算法。
一般认为,RSA和DH密钥交换协议需用1024比特以上的模数才安全,但对ECC,只要160比特的模数就可达到同样级别的安全性。

椭圆曲线指的是由Weierstrass方程

所确定的曲线

椭圆曲线上的加法运算

可以证明,有限域上的椭圆曲线在我们定义的加法运算下构成群。
既然构成群,就必然有零元和负元,这里的零元就为无穷远点O,P的负元就是它关于x轴的对称点,记为–P。

称n为点P的阶,记为n=ord(P)。
由阶为n的点P在上述加法定义下生成的循环群<P>是椭圆曲线群(E(F), +)的一个n阶子群。
设E是有限域F上的椭圆曲线,G是E的一个循环子群,点P是G的一个生成元,即G={kP: k≥1},在已知P,Q的条件下,求解整数n,使得nP=Q的问题,称为椭圆曲线E上的离散对数问题。
今天的课程就到这里啦,下一堂课我们将学习基于椭圆曲线的数字签名算法中的SM2算法,带大家继续了解数字签名,敬请期待!