SM2椭圆曲线公钥密码算法

SM2椭圆曲线公钥密码算法

国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。关于算法标准,请参见《国家密码管理局公告(第 21 号)》,网址为http://www.oscca.gov.cn/

SM2算法和RSA算法有什么关系?

SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。

为什么要采用SM2算法替换RSA算法?

随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。

RSA密钥强度椭圆曲线密钥强度攻破时间(年)
512106104,已被攻破
768132108,已被攻破
10241601011
20482101020

表1 算法攻破时间

算法签名速度(次/秒)验签速度(次/秒
1024位RSA279251224
2048位RSA45515122
256位SM24095871

表2 算法性能

SM2和椭圆曲线算法是什么关系?

一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:

y2 = x3 + ax + b

在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。

椭圆曲线算法是什么原理?

本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。请参见下图:

椭圆曲线算法

图1 椭圆曲线算法原理

上图为方程: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位。


https://www.wosign.com/SM2/SM2.htm

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,用于实现数字签名、密钥交换和数据加密等功能。相比于RSA算法SM2算法基于椭圆曲线上点群离散对数难题,具有更高的密码强度。\[1\] 关于SM2算法的移植,目前已经在我国的密码应用领域得到广泛应用。国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求在建和拟建公钥密码基础设施电子认证系统和密钥管理系统中使用SM2算法。同时,自2011年7月1日起,投入运行并使用公钥密码的信息系统也应使用SM2算法。\[2\] SM2算法的移植工作主要包括将算法应用到相应的系统和设备中,并确保其安全性和性能。移植过程中需要考虑算法的实现细节、密钥管理、算法性能优化等方面的问题。同时,还需要进行相关的测试和验证,确保移植后的算法能够正常运行并满足安全需求。 总之,SM2椭圆曲线公钥密码算法已经在我国得到广泛应用,并且有相关的政策要求在密码应用系统中使用该算法。移植工作需要考虑算法的实现和性能优化,并进行相应的测试和验证。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* *3* [sm2国密算法的纯c语言版本,使用于单片机平台(静态内存分配)](https://blog.csdn.net/qq8864/article/details/100582268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值