【技术实现步骤摘要】
一种基于SM2算法的协同盲签名方法和系统
[0001]本专利技术实施例涉及信息安全
,尤其涉及一种基于SM2算法的协同盲签名方法和系统。
技术介绍
[0002]随着社会经济的发展,以及计算机和通信技术的发展,越来越多的人们通过手机、电脑等计算机设备收发和处理各种信息,以满足如购物、转账、办公等各种生活需求。
[0003]为了提升信息收发、处理和存储等环节的安全性,出现了防御技术和加密技术等相关技术。其中,作为信息安全领域的核心技术之一,加密技术在电子商务、电子政务、移动办公等场景应用广泛。特别地,国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法SM2由于具有安全性高、处理速度快、机器性能消耗小等优点,被广泛的推广和应用,为我国信息安全发挥了重要作用。
[0004]在SM2算法的前期应用中,通常通过配置密码芯片或者TF卡、USBKey等形式的硬件密码模块实现私钥的安全存储和使用,私钥不能从硬件密码模块中导出。但是,随着SM2算法的普及,SM2算法逐步渗透到电子商务、移动办公、车联网等新应用场景。与之对应的是,由于前期缺乏相应的设计或者成本等原因,多数情况下并没有在计算机设备配置相应的硬件密码模块,因此,只能依赖于软件密码模块来完成密码运算,私钥则需要存储在计算机设备的本地存储介质中,易被攻击者通过一些方式窃取。同时,在移动支付、电子商务、电子投票等场景下,出于公平公正、隐私保护等需求,期望协作方并不知道消息内容,且在签名被公开后,协作方不能追踪签名,也即保证消息内容的隐私性。然而, ...
【技术保护点】
【技术特征摘要】
1.一种基于SM2算法的协同盲签名方法,其特征在于,应用于进行协同签名的发起方,所述发起方与进行协同签名的协作方共享SM2椭圆曲线系统参数,所述SM2椭圆曲线系统参数包括:G和n;所述G表征SM2椭圆曲线的基点,所述n表征所述G的阶,所述方法包括:向所述协作方发送协同密钥对生成请求;接收所述协作方响应所述协同密钥对生成请求反馈的协作方公钥P1,其中,所述协作方在接收到所述协同密钥对生成请求后生成所述P1的过程包括: 生成第一随机数d1,d1∈[1,n
‑
1];计算第一椭圆曲线点P1,将所述P1作为所述协作方公钥;若所述P1满足椭圆曲线方程,生成第二随机数d2,d2∈[1,n
‑
1];利用所述P1、所述d2、所述G和第二椭圆曲线点P
A
之间的第一关系式计算所述P
A
,将所述P
A
作为协同密钥对的公钥;当需要对第一消息M进行协同签名时,向所述协作方发送协同签名请求;接收所述协作方响应所述协同签名请求反馈的协作方临时公钥Q1,其中,所述协作方在接收到所述协同签名请求后生成所述Q1的过程包括:生成第三随机数k1,k1∈[1,n
‑
1];计算第三椭圆曲线点Q1=[k1]G,将所述k1作为协作方临时私钥,所述Q1作为所述协作方临时公钥;若所述Q1满足椭圆曲线方程,生成随机数集合,所述随机数集合中的任一随机数k
a
∈[1,n
‑
1];利用所述Q1、所述P1、所述G、所述随机数集合中的随机数和第四椭圆曲线点Q2之间的第二关系式计算所述Q2,记Q2=(x1,y1);计算所述M的消息摘要e;计算第一部分签名r=(e+x1) mod n;若r≠0,利用所述r、所述n、所述随机数集合中的随机数和中间签名r
´
之间的第三关系式计算所述r
´
;若r
´
≠0,将所述r
´
发送给所述协作方;接收所述协作方基于第四关系式计算得到的协作签名s
´
,其中,所述第四关系式用于表征所述d1、所述k1、所述r
´
、所述n和所述s
´
之间的运算关系;利用所述d2、所述随机数集合中的随机数、所述s
´
、所述r、所述n和第二部分签名s之间的第五关系式计算所述s;若s≠0且s+r≠n,输出(r, s)作为所述M的签名;其中,所述第一关系式、所述第二关系式、所述第三关系式、所述第四关系式和所述第五关系式的设计使得所述s与所述P
A
对应的私钥、所述Q2对应的完整k、所述r和所述n之间满足标准SM2算法签名公式。2.如权利要求1所述的方法,其特征在于,所述随机数集合中的随机数为k2和k3;所述第一关系式为:P
A
=[d2‑1]P1‑
G;所述第二关系式为:Q2=[k2]P1+ [k2]Q1+[k3]G;所述第三关系式为:r
´
= (k2‑1·
(r+k3) ) mod n;所述第四关系式为:s
´
=(d1·
(k1+r
´
) ) mod n;所述第五关系式为:s=(d2·
k2·
(1+s
´
)
‑
r) mod n。3.如权利要求1所述的方法,其特征在于,所述随机数集合中的随机数为k4和k5;
所述第一关系式为:P
A
=[d2‑1]P1‑
G;所述第二关系式为:Q2=[k4]P1+ [k4]Q1+[k4·
k5]G;所述第三关系式为:r
´
= (k4‑1·
(r+(k4·
k5) ) ) mod n;所述第四关系式为:s
´
=(d1·
(k1+r
´
)) mod n;所述第五关系式为:s=(d2·
k4·
(1+s
´
)
‑
r) mod n。4.如权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:计算第五椭圆曲线点P2=[d2‑1]G,将d2‑1作为发起方私钥,P2作为发起方公钥;在发起方需要向第三方发送第二消息M
´
时,利用d2‑1对第二消息M
´
进行签名,利用P2进行验签。5.如权利要求1至3任一项所述的方法,其特征在于,若s≠0且s+r≠n,输出(r, s)作为所述M的签名,包括:若s≠0且s+r≠n,利用所述P
A
验证(r, s)是否为所述M的签名;如果(r, s)是所述M的签名,则输出(r, s)作为所述M的签名。6.一种基于SM2算法的协同盲签名系统,其特征在于,所述系统包括:发起方和协作方,所述发起方包括第一签名模块和第一通信模块,所述协作方包括第二签名模块和第二通信模块;所述发起方和所述协作方共享SM2椭圆曲线系统参数,所述SM2椭圆曲线系统参数包括:G和n;所述G表征SM2椭圆曲线的基点,所述n表征所述G的阶;所述第一通信模块用于向所述协作方发送协同密钥对...
【专利技术属性】
技术研发人员:刘熙胖,廖正赟,雷宗华,彭金辉,
申请(专利权)人:郑州信大捷安信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。