本文共2042字,阅读全文约需10分钟。
前言
上回书我们说到,在常见的三种公钥密码学算法中,椭圆曲线密码学在相同的安全等级下有着更短的密钥长度,而一些比较常见的非对称密码(如SM2等)均属于椭圆曲线密码,在我们开始学习SM2算法之前,让我们先花一点时间来看看,究竟什么是椭圆曲线密码,它又是如何实现单向函数的?
一、椭圆曲线是什么?
简单地来讲,椭圆曲线密码体制中使用的椭圆曲线为y2=x3+ax+b方程表示的曲线,此椭圆曲线关于X轴对称,且满足约束条件4a3+27b2≠0。
由于椭圆曲线上的全体点构成一个加法群,简要地来讲,椭圆曲线的加法运算可以进行以下理解:
计算A+B的结果,其中A与B均为椭圆曲线上的点:
①过A、B点作直线,此直线交曲线于点C
②作C点关于x轴的对称点C’,由椭圆曲线的性质可知C’点一定在椭圆曲线上
③上一步中得到的C’点即为所求,即C’=A+B
特殊情况说明:
(1)当直线AB与椭圆曲线无额外交点时(如A+(-A)场景),