介绍一种门限SM2密码方案

        中科院信息工程研究所的科研人员林璟锵、马原、荆继武等设计了一种 SM2 门限密码算法实现方案,他们在 2014 年 8 月向国家知识产权局提交了专利申请,名称是《适用于云计算的基于SM2算法的签名及解密方法和系统》,授权公告号是:CN 104243456 B,该专利的内容已在国家知识产权局的网站上公开,可以在网站 http://epub.sipo.gov.cn/ 上查到。

        门限密码算法通常用 (n, k)形式表示,n 表示参与者的个数, k 表示门限值(也被称为阈值),表示要完成秘密运算时最少需要的参与者个数。在攻击者能够攻破或完全控制的参与者个数少于 k 个的前提下,门限密码算法依然能够保持其安全性。

        接下来介绍一下这种 SM2 门限密码方案的原理:它是一种(2,2)门限密码方案,即需要两个参与方,才能完成用到私钥的密码运算(如签名、解密)。具体包含三个算法:
        1)公钥及私钥份额生成算法:当需要生成 SM2 非对称密钥时,由两个参与方各自独立生成一个私钥份额(或称为私钥片段、私钥分量),双方通过交互通信、传输一些辅助计算数据,由其中一方合并辅助数据生成 SM2 公钥。只要这两个参与方不串通,就没有办法恢复出完整的 SM2 私钥。在攻击者至多只能攻破其中一个参与方的情况下,攻击者也没有办法恢复出完整的 SM2 私钥。SM2私钥分量及公钥的生成过程如下图所示:

 

        2)门限签名算法:当需要对消息进行 SM2 签名时,两个参与方分别使用各自持有的签名私钥片段,计算生成签名片段,然后双方交互传输签名片段等辅助计算数据,由其中一方对收到的数据进行合并计算,生成 SM2 签名。SM2门限签名的过程如下图:

 

        3)门限解密算法:当需要对 SM2 密文进行解密时,两个参与方分别使用各自持有的解密私钥片段,计算生成明文片段,然后双方交互传输明文片段等辅助计算数据,由其中一方对收到的数据进行合并计算,生成解密后的明文。SM2门限解密的过程如下图:

 

        对于 SM2 加密、验证 SM2 签名这两种密码运算,其计算过程与 GB/T 32918-2016 《信息安全技术 SM2椭圆曲线公钥密码算法》中定义的加密和验签运算方式完全一致,并没有做过特殊的处理,所以在此不再赘述。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值