买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】签名制作数据安全受控的SM9数字签名生成方法及系统_武汉理工大学_202210656980.5 

申请/专利权人:武汉理工大学

申请日:2022-06-10

公开(公告)日:2024-04-02

公开(公告)号:CN115150062B

主分类号:H04L9/06

分类号:H04L9/06;H04L9/08;H04L9/32

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2022.10.25#实质审查的生效;2022.10.04#公开

摘要:本发明涉及SM9数字签名生成方法:签名装置有非秘密PA=[c‑1]dA,有秘密cA=Ec,其中dA为用户SM9签名私钥,c为[1,n‑1]内的签名装置未保存的秘密,n为SM9双线性映射群的阶,E·是采用同态加密算法的加密运算,签名辅助系统有解密运算的私钥;对消息M签名时,签名装置、签名辅助系统在[1,n‑1]内随机选择整数r1、r2,在不暴露各自秘密的情况下,计算得到w=g^b1r1+b2r2,其中b1=1或c‑1,b2=1或c‑1,h=H2M||w,n,利用同态加密运算计算得到s2=r1b1c+r2b2c‑hcmodn或s2=r1r2bc‑hcmodn,S=[s2]PA,则h,S为针对消息M的数字签名。

主权项:1.一种签名制作数据安全受控的SM9数字签名生成方法,其特征是:签名装置有非秘密PA=[c-1]dA,有秘密cA=Ec,其中dA为用户的SM9签名私钥,c为[1,n-1]内的签名装置未保存的秘密,c-1为c的模n乘法逆,n为SM9双线性映射群G1、G2、GT的阶,n为素数,E·是采用同态加密算法的加密运算;签名装置有非秘密gc=g^c-1,其中,^表示幂运算,g=eP1,Ppub,P1为G1中的生成元,Ppub为主公钥;所述签名装置是签名者即SM9签名私钥dA的拥有者的计算装置;所述同态加密算法为加法同态加密算法或全同态加密算法;签名辅助系统有与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥,或者与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥被签名辅助系统的密钥加密,其中签名辅助系统的密钥包括对称密钥或公钥;所述签名辅助系统是辅助、协助签名装置完成数字签名生成的计算装置或系统;若与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥被签名辅助系统的密钥加密,则签名装置还有被加密的与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥的密文dE;当需要使用用户的SM9签名私钥dA针对消息M进行数字签名时,签名装置和签名辅助系统按如下方式生成数字签名:签名装置在[1,n-1]区间内随机选择一个整数r1;签名辅助系统在[1,n-1]区间内随机选择一个整数r2;签名装置和签名辅助系统在不暴露各自秘密r1、r2的情况下完成如下计算:签名装置在确保签名辅助系统不重新选择r2的情况下,利用g、gc,通过与签名辅助系统交互计算得到w=g^b1r1+b2r2,其中b1=1或c-1,b2=1或c-1,而b2=1仅在E·对应的同态加密算法是全同态加密算法时适用,b1、b2用于选择w的计算式;签名辅助系统在确保签名装置不重新选择r1的情况下,利用g、gc,通过与签名装置交互计算得到wf=g^b1r1+b2r2;签名装置、签名辅助系统分别检查w、wf是否为单位元,若w和或wf为单位元,则签名装置、签名辅助系统重新选择r1、r2,重新计算w、wf,直到w和wf为非单位元;或者,签名装置和签名辅助系统在不暴露各自秘密r1、r2的情况下完成如下计算:签名装置在确保签名辅助系统不重新选择r2的情况下,利用g、gc,通过与签名辅助系统交互计算得到w=g^br1r2,其中b=1或c-1,b用于选择w的计算式;签名辅助系统在确保签名装置不重新选择r1的情况下,利用g、gc,通过与签名装置交互计算得到wf=g^br1r2;若b=1,则按w=g^br1r2、wf=g^br1r2方式计算w、wf仅在E·对应的同态加密算法是全同态加密算法时适用;签名装置利用消息M计算得到h=H2M||w,n,其中H2为SM9中规定的杂凑函数,M||w表示将w转化成字串后与M的字串合并,n为SM9密码算法中群G1、G2、GT的阶;签名装置检查w与g^h是否相等,若w=g^h,则签名装置和签名辅助系统重新选择r1、r2,重新计算w、wf,直到w≠g^h;签名装置按如下方式之一计算s1:s1计算方式一:w按计算式w=g^b1r1+b2r2计算得到且b2=c-1;签名装置利用h、cA、r1通过同态加密算法计算得到s1=Er1b1c-hcmodn;s1计算方式二:w按计算式w=g^b1r1+b2r2计算得到,且b2=1时E·对应的同态加密算法是全同态加密算法;签名辅助系统计算c2=Er2,将c2发送给签名装置;签名装置利用h、cA、r1、c2通过同态加密算法计算得到s1=Er1b1c+r2b2c-hcmodn;s1计算方式三:w按计算式w=g^br1r2计算得到,且b=1时E·对应的同态加密算法是全同态加密算法;签名辅助系统计算c2=Er2,将c2发送给签名装置;签名装置利用r、cA、r1、c2通过同态加密算法计算得到s1=Er1r2bc-hcmodn;签名装置将h、PA、s1、IDA或hID发送给签名辅助系统,其中,IDA是用户的标识,hID=H1IDA||hid,n;若与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥被签名辅助系统的密钥加密,则签名装置还将dE发送给签名辅助系统,而签名辅助系统解密dE得到与同态加密算法的加密运算E·所采用的公钥对应的解密运算的私钥;对于s1计算方式一,签名装置和签名辅助系统按如下方式计算s:签名辅助系统解密得到s1的明文s12,计算s2=s12+r2modn,S=[s2]PA,然后签名辅助系统利用wf验证S是否是使用r1、r2、h、以及IDA或hID对应的私钥dA按SM9数字签名的计算方式计算得到,若验证失败,则转入出错处理,若验证通过,则签名辅助系统将S返回给签名装置;对于s1计算方式二、方式三,签名装置和签名辅助系统按如下方式计算s:签名辅助系统解密得到s1的明文s12,计算s2=s12modn,S=[s2]PA,然后签名辅助系统利用wf验证S是否是使用r1、r2、h、以及IDA或hID对应的私钥dA按SM9数字签名的计算方式计算得到,若验证失败,则转入出错处理,若验证通过,则签名辅助系统将S返回给签名装置;签名装置利用w验证S是否是使用r1、r2、h、以及IDA或hID对应的私钥dA按SM9数字签名的计算方式计算得到,若验证通过,则h,S为消息M的数字签名,否则,转入出错处理;在以上计算式中,amodn,其中a为一个整数,表示与a模n同余的数;所述签名辅助系统在辅助、协助签名装置完成数字签名的生成之前,先鉴别确认使用签名装置的用户即签名者是否是IDA或hID的拥有者;所述签名装置即签名者拥有的计算装置是具有计算能力、包含软硬件的装置;所述签名装置通过其内实施的密码模块、密码程序实施以上所述数字签名计算步骤,实施SM9数字签名功能。

全文数据:

权利要求:

百度查询: 武汉理工大学 签名制作数据安全受控的SM9数字签名生成方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。