0


商用密码应用与安全性评估要点笔记(SM9数字签名算法)

1、SM9标识密码算法简介

    首先有几个概念需要弄清楚:

    (1)标识identity,可以唯一确定一个实体身份的信息,且实体无法否认。比如身份证号、手机号、邮箱等。

    (2)主密钥master key MK,密码分层结构中最顶层的密钥,这里是非对称密钥就包括主私钥(由KGC随机数生成,不公开)和主公钥(由主私钥结合系统参数生产,公开)。同时,根据签名和加密用途的不同,主密钥也要分为签名主密钥对和加密主密钥对。

    (3)密钥生成中心Key generation center KGC,负责选择系统参数,生成MK并产生用户私钥的可信机构。注意在IBC体系中,KGC必须是可信的。

    (4)基于标识的密码技术identity-based cryptography IBC,是公钥密码或者非对称密码技术的一种。理论上是利用椭圆曲线双线性对。用户的公钥由用户标识和一组公开的数学参数计算得到,用户私钥则是由用户标识、一组公开的数学参数和一个域范围内的秘密值计算得到。

    (5)用户签名密钥对,包括签名私钥和公钥,其中私钥由KGC产生并下发给用户,用于数字签名和验签。

    (6)用户加密密钥对,包括加密私钥和公钥,其中私钥由KGC产生并下发给用户,用于加密、解密和密钥协商。

    IBC主要解决在具体安全应用中PKI需要大量交换数字证书的问题,使安全应用更加易于部署和使用。基本功能包括:数字签名和验证、数据加密和解密、密钥协商、密钥封装与分发。

    我国密码行业标准与SM9算法相关包括:

    GMT 0044.1-2016 SM9标识密码算法

    GMT 0044.2-2016 SM9 标识密码算法 第2部分:数字签名算法

    GMT 0044.3-2016 SM9 标识密码算法 第3部分:密钥交换协议

    GMT 0044.4-2016 SM9 标识密码算法 第4部分:密钥封装机制和公钥加密算法

    GMT 0044.5-2016 SM9 标识密码算法第5部分:参数定义

    GMT 0080-2020 SM9密码算法使用规范

    GMT 0085-2020 基于SM9标识密码算法的技术体系框架

    GMT 0086-2020基于SM9标识密码算法的密钥管理系统技术规范

    SM9算法中主私钥长度256bit、主公钥长度(签名主公钥-1024bit,加密主公钥512bit);用户私钥长度(签名私钥-512bit,加密私钥-1024bit),用户公钥长度(签名公钥-1024bit,加密公钥-512bit)。

    具体SM参数定义如下:

    ![](https://img-blog.csdnimg.cn/a4dd7fafb9664762bec9e3f163b7536b.png)

     ![](https://img-blog.csdnimg.cn/6e261d5cbcce4830828b47ebf39a8de2.png)

** 2、SM9数字签名算法**

    签名方拥有的原始数据包括有系统参数、签名主公钥、明文消息和用户签名密钥,签名流程如下。

   ![](https://img-blog.csdnimg.cn/249f6259f4c84ede8688800fa967b031.png)

    验证方拥有的原始数据则包括系统参数、签名主公钥、识别符、标识、消息明文及相应的数字签名,验签流程如下。

    ![](https://img-blog.csdnimg.cn/c457d8acc3d84c269ef42211960068cf.png)

3、SM算法安全性

    SM9采用256比特素域上的椭圆曲线时,离散对数的复杂性约为2的128次方基本运算,破解难度大大增加。同时,SM9的安全性也和嵌入次数有关,嵌入次数越大安全性越高,目前采用的次数适中。

本文转载自: https://blog.csdn.net/ryanzzzzz/article/details/129724378
版权归原作者 搞搞搞高傲 所有, 如有侵权,请联系我们删除。

“商用密码应用与安全性评估要点笔记(SM9数字签名算法)”的评论:

还没有评论