SM2椭圆曲线公钥密码算法ABC
|
RSA密钥强度 |
椭圆曲线密钥强度 |
攻破时间(年) |
|
512 |
106 |
104,已被攻破 |
|
768 |
132 |
108,已被攻破 |
|
1024 |
160 |
1011 |
|
2048 |
210 |
1020 |
|
算法 |
签名速度(次/秒) |
验签速度(次/秒) |
|
1024位RSA |
2792 |
51224 |
|
2048位RSA |
455 |
15122 |
|
256位SM2 |
4095 |
871 |
SM2和椭圆曲线算法是什么关系? 一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为: y2 = x3 + ax + b 在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。 椭圆曲线算法是什么原理? 本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。请参见下图:
上图为方程:y2 = x3–x的曲线。 1、P点为基点; 2、通过P点做切线,交与点 2P点,在2P’点做竖线,交与2P点,2P点即为P点的2倍点; 3、进一步,P点和2P点之间做直线,交与3P’点,在3P’点做竖线,交与3P点,3P点即为P点的3倍点; 4、同理,可以计算出P点的4、5、6、… 倍点; 5、如果给定图上Q点是P的一个倍点,请问Q是P的几倍点呢? 6、直观上理解,正向计算一个倍点是容易的,反向计算一个点是P的几倍点则困难的多。 在椭圆曲线算法中,将倍数d做为私钥,将Q做为公钥。当然,椭圆曲线算法还有更严格的计算过程,相对图示要复杂的多。 SM2算法可以进行哪些密码应用? SM2算法做为公钥算法,可以完成签名、密钥交换以及加密应用。SM2算法标准确定了标准过程: 1、签名、验签计算过程; 2、加密、解密计算过程; 3、密钥协商计算过程。 需要说明,其他国家的标准和SM2确定的计算过程存在差异,也就是说相互之间是不兼容的。 SM2算法速度快吗? 简单讲,SM2签名速度快,验签速度慢,这点和RSA算法的特性正好相反。参见表2。 另外,加解密速度和验签速度相当。 SM2签名算法支持多大的数据量,签名结果为多少字节? 签名原始数据量长度无限制,签名结果为64字节。 SM2加密算法支持多大的数据量,加密结果增加多少字节? 支持近128G字节数据长度,加密结果增加96个字节。 SM2相关算法有哪些? SM2为国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括: SM1,对称加密算法,加密强度为128位,采用硬件实现; SM3,密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》; SMS4,对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。

浙公网安备 33010602011771号