[发明专利]SM9联合数字签名方法和装置在审
申请号: | 201711009887.0 | 申请日: | 2017-10-25 |
公开(公告)号: | CN107864037A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 程朝辉;劳阳;杜峰 | 申请(专利权)人: | 深圳奥联信息安全技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 深圳市明日今典知识产权代理事务所(普通合伙)44343 | 代理人: | 王杰辉 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm9 联合 数字签名 方法 装置 | ||
技术领域
本发明涉及到数字签名领域,特别是涉及到一种SM9联合数字签名方法和装置。
背景技术
SM9标识密码算法是一种基于双线性对的标识密码算法,它可以把用户的身份标识用以生成用户的公、私密钥对,主要用于数字签名、数据加密、密钥交换以及身份认证等。现有数字签名过程中,如果密钥丢失,会影响签名的安全性。因此标识私钥需要进行严格保护。在移动设备等不安全环境下进行私钥的有效保护面临挑战。
发明内容
本发明主要提供一种方法简单、安全的SM9联合数字签名方法和装置。
为了实现上述发明目的,本发明提供一种SM9联合数字签名方法,包括以下步骤:
S1、签名客户端获取其标识ID_A对应的标识私钥S_A的第一分片子密钥M,其中,所述标识私钥S_A的第二分片子密钥N由所述签名客户端对应的签名服务端获取;其中,密钥生成中心随机选择主密钥,生成系统参数组;
S2、使用所述第一分片子密钥M对消息m生成部分签名X后,传递标识ID_A、m和X到所述签名服务端;其中,所述签名服务端使用所述第二分片子密钥N对所述部分签名X进行变换后生成所述标识私钥S_A对所述消息m的完整签名Y,并验证签名Y的正确性,如果验证成功则返回签名Y给签名客户端;
S3、接收所述签名服务端返回的签名Y。
进一步地,所述系统参数组包括<E,e,P1,P2,[s]P1,g=e(P1,[s]P2),H>,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P1表示s个P1相加,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上。
进一步地,所述步骤S1中,所述标识私钥S_A的计算方法,包括:
S_A=[s/(H(1||ID_A)+s)]P1。
进一步地,所述步骤S1中,所述第一子密钥M和第二子密钥N的获取方法,包括:
方法1)、所述签名服务端随机生成1<a<q,设置N=a,计算M=[a]S_A,发送M到签名客户端;或者,
方法2)、所述签名服务端生成秘密kdfs,根据派生函数F,派生a=F(kdfs,FI),设置N=a,计算M=[a]S_A,发送M到签名客户端;其中FI包括标识ID_A、请求时间t或请求次数C;F是标准的密钥派生函数KDF、哈希函数或加密函数中的一种;或者,
方法3)、利用不同于所述签名客户端和签名服务端的第三方随机生成1<a<q,设置N=a,计算M=[a]S_A,发送M到签名客户端,发送N到签名服务端;或者,
方法4)、利用不同于所述签名客户端和签名服务端的第三方生成秘密kdft,根据派生函数F,派生a=F(kdft,FI),设置N=a,计算M=[a]S_A,发送M到签名客户端,发送N到签名服务端。
进一步地,所述步骤S2中,所述签名客户端部分签名X的获取方法,包括:
随机生成1<r<q,
计算ω=gr;
计算h=H(02||m||ω);
计算l=(r-h)mod q;
计算S=[l]M;
生成签名X=(h,S);
进一步地,所述步骤S2中,返回签名客户端的所述签名Y的获取以及验证方法,包括:
通过所述签名服务端计算[N]S;
通过所述签名服务端生成签名Y=(h,[N]S);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳奥联信息安全技术有限公司,未经深圳奥联信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711009887.0/2.html,转载请声明来源钻瓜专利网。