[发明专利]一种基于SM2算法的无证书安全签名方法有效
申请号: | 201710157604.0 | 申请日: | 2017-03-16 |
公开(公告)号: | CN107248909B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 熊荣华;其他发明人请求不公开姓名 | 申请(专利权)人: | 北京百旺信安科技有限公司;熊荣华 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 孙翠贤;项京 |
地址: | 100094 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sm2 算法 证书 安全 签名 方法 | ||
一种基于SM2算法的无证书安全签名方法,属于公钥密码应用领域,用于解决椭圆曲线上无双性对运算的无证书公钥密码体制中任意N(N≥2)个用户的私钥生成、并由N个用户联合完成对一个消息的SM2签名问题。在本发明中,每个用户均无法获取其他用户的私钥信息,少于N个用户的用户子集不能生成完整的数字签名,充分保证签名的安全性。攻击者也不能在未窃取全部N个私钥的情况下伪造合法签名。本发明所述安全签名过程简单,运算效率高,签名结果符合国密SM2签名算法标准。
技术领域
本发明属于公钥密码领域,特别涉及基于国密SM2算法的无证书认证系统的安全签名方法。
背景技术
公钥密码技术在计算机技术和网络技术高度发展的今天,已得到了广泛应用。数字签名技术和公钥加密技术已深入到人们的日常生活。为了保证数字签名的唯一性和签名私钥的安全性,通常由私钥所有者将签名私钥保存在密码设备内,签名运算也在密码设备内执行。所采用的密码设备在服务器端通常为密码机,在客户端为带CPU的USBKEY和IC卡等。在云计算环境和手机移动终端等环境下,使用这些密码设备来保存密钥和执行密码运算就很不方便,因而出现了将密钥保存在手机文件中并在手机上执行密码运算的应用需求。这种软环境给密钥的存储安全和使用安全带来很大隐患。为了提高密钥存储和密码运算的安全性,可以采用密钥共享的方式,由多个用户联合对同一消息签名,最后形成的签名可使用共享的公钥进行验证。对于国密SM2签名算法,由于其算法的特殊性,实现密钥共享和联合签名比较困难。此外,对于一种无双性对运算的无证书公钥密码体制(参见申请号为201410772127.5的专利),由多方联合完成基于SM2算法的签名则更加困难,目前尚未发现解决这种应用需求的方法。
发明内容
本发明针对无双性对运算的无证书公钥密码体制,提出一种用户密钥共享方法,在无证书密钥生成中心的协助下,N(N≥2)个用户分别生成不同的私钥,并生成一个共享公钥。在需要对消息作数字签名时,由多方联合完成对消息的SM2签名,签名依赖方可用共享公钥按SM2验证签名算法进行验证。这种密钥共享和签名方法满足以下要求:
(1)N个用户对各自的私钥具有完全自主权,其他用户或任何第三方(包括无证书密钥生成中心)对该私钥都不可知。
(2)多方合作完成的数字签名符合国密SM2签名标准要求,签名依赖方可使用共享公钥进行验证。
(3)少于N个用户合作不能构造完整合法的SM2签名。
本发明所涉及到的椭圆曲线参数按国密SM2算法标准设置。有限域上的椭圆曲线记为E(Fq),其基点为G,而G的阶为素数n。
本发明中,无证书密钥生成中心称为KGC,N个用户分别记为U1,U2,…,UN,他们共享一个标识ID,h(x)为SM3杂凑函数。
一、密钥生成
本发明所述生成无证书共享密钥的方法涉及KGC和用户U1,U2,…,UN,具体技术方案描述如下。
G01所述KGC设置系统私钥sM和系统公钥Ppub,完成系统建立。
G02所述用户U1随机选取k1∈[1,n-1],计算P1=k1G,发送P1到用户U2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百旺信安科技有限公司;熊荣华,未经北京百旺信安科技有限公司;熊荣华许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710157604.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多用户MIMO的上行DMRS传输方法
- 下一篇:前导符号的生成方法