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

【发明授权】一种安全可控的SM9数字签名生成方法及系统_武汉理工大学_202210786016.4 

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

申请日:2022-07-04

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

公开(公告)号:CN115314208B

主分类号:H04L9/30

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

优先权:

专利状态码:有效-授权

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

摘要:发明涉及安全可控的SM9数字签名生成方法:签名装置有PA=[c‑1]dA,gc=g^c‑1,cA1=c0cmodn,t2=EHc0‑1,其中dA为用户的SM9签名私钥,c、c0为[1,n‑1]内的签名装置不知道的整数秘密,n为SM9双线性映射群的阶,cA1为签名装置的秘密,g=eP1,Ppub,EHc0‑1表示针对c0‑1的乘数加密运算或同态加密运算,签名辅助系统有或能得到解密运算的密钥;当需使用dA对消息M签名时,签名装置和签名辅助系统在[1,n‑1]内随机选择整数r1、r2,在不暴露各自秘密的情况下计算得到w=g^r1+c‑1r2,S=[r1+c‑1r2‑h]dA,其中h由消息M和w计算得到,则h,S为数字签名。

主权项:1.一种安全可控的SM9数字签名生成方法,其特征是:签名装置有PA=[c-1]dA,gc=g^c-1,cA1=c0cmodn,t2=EHc0-1,其中dA为用户的SM9签名私钥,c、c0为[1,n-1]内的签名装置不知道的整数秘密,c-1、c0-1分别为c、c0的模n乘法逆,n为SM9双线性映射群G1、G2、GT的阶,n为素数,cA1为签名装置的秘密,^表示幂运算,g=eP1,Ppub,P1为G1中的生成元,Ppub为主公钥,EHc0-1表示针对c0-1的加密运算;针对c0-1的加密运算EH·包括乘数加密算法的加密运算,简称乘数加密运算,以及同态加密算法的加密运算,简称同态加密运算,其中同态加密运算又包括加法同态加密算法的加密运算、全同态加密算法的加密运算;若加密运算EH·为乘数加密运算,则:t2=EHc0-1=c0-1t0-1modn,其中c0-1、t0-1分别为c0、t0的模n乘法逆,t0是计算t2时在[1,n-1]内随机选择的一个作为乘数加密运算的密钥的整数,或者t0是签名辅助系统在[1,n-1]内的乘数加密密钥;若加密运算EH·为同态加密运算,则:t2=EHc0-1是采用签名辅助系统的同态加密算法的公钥或采用临时生成的同态加密算法的公私钥对中的公钥进行加密运算的结果,与加密运算EH·所采用的公钥对应的用于进行解密运算的私钥为t0;EH·对应有解密运算DH·;乘数解密运算DH·的密钥t0和同态解密运算DH·的私钥t0称为解密运算DH·的解密密钥;若t0是临时生成的乘数加密算法的密钥或临时生成的同态加密算法的私钥,则:密钥t0经使用签名辅助系统的对称密钥、采用对称密钥加密算法加密后得到密文k2,或者,密钥t0经使用签名辅助系统的公钥、采用公钥密码算法加密后得到密文k2;签名装置有t0的密文k2;若t0是签名辅助系统的乘数加密密钥或签名辅助系统的同态加密算法的私钥,则k2为空;当需要使用用户的SM9私钥dA针对消息M进行数字签名时,签名装置和签名辅助系统按如下方式生成数字签名:在针对消息M进行数字签名前或时,签名装置在[1,n-1]内随机选择一个整数t1,计算c1=t1cA1modn;若EH·为乘数加密运算,则签名装置利用t2=EHc0-1计算得到c2=EHc0-1t1-1,其中t1-1为t1的模n乘法逆;若EH·为同态加密算法的加密运算,则签名装置利用t2=EHc0-1和同态加密运算计算得到c2=EHc0-1t1-1modn;签名装置在[1,n-1]内随机选择一个整数r1,计算g1=g^r1;签名辅助系统在[1,n-1]内随机选择一个整数r2,计算g2=gc^r2;签名装置和签名辅助系统在确保对方不重新选择r1、r2,不重新计算g1、g2的情况下,交换g1、g2;所述确保对方不重新选择r1、r2,不重新计算g1、g2的情况下,交换g1、g2是指一方不能在收到另一方的g2或g1后,重新选择自己的r1或r2,然后重新计算g1或g2;签名装置计算w=g1g2;签名辅助系统计算wf=g1g2;签名装置、签名辅助系统分别检查w、wf是否为单位元,若w和或wf为单位元,则重新选择r1、r2,重新计算w、wf,直到w和wf为非单位元;签名装置利用消息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=r1-hc1modn或S1=[r1-hc1modn]PA;签名装置将s1或S1,PA、h、c2、k2以及IDA或hID传送给签名辅助系统,其中,IDA是用户的标识,hID=H1IDA||hid,n;若k2非空,则签名辅助系统解密k2得到对c2进行解密运算的密钥t0,使用解密得到的解密密钥t0对c2进行解密运算,得到c2m=DHc2modn,若签名验证不通过,则转入出错处理;若k2为空,则签名辅助系统直接使用其拥有的进行解密运算DH·的解密密钥t0对c2进行解密运算,得到c2m=DHc2modn;签名辅助系统计算S=[r2+s1c2mmodn]PA,或S=[r2]PA+[c2m]S1将发送给签名装置;签名辅助系统在将S发送给签名装置前,验证S1或S是否是使用与IDA或hID相对应的SM9签名私钥dA计算得到,若验证失败则转入出错处理;签名装置接收到S后,验证S是否是使用r1、r2、h和IDA或hID对应的私钥dA按SM9数字签名的计算方式计算得到,若验证通过,则h,S为消息M的数字签名,否则,转入出错处理;所述签名辅助系统在辅助、协助签名装置完成数字签名的生成之前,先鉴别确认使用签名装置的用户即签名者是否是IDA或hID的拥有者;所述签名辅助系统是辅助、协作签名装置完成SM9数字签名生成的装置或系统;所述签名装置即签名者拥有的计算装置是具有计算能力、包含软硬件的装置;所述签名装置通过其内实施的密码模块、密码程序实施以上所述数字签名计算步骤,提供SM9数字签名功能。

全文数据:

权利要求:

百度查询: 武汉理工大学 一种安全可控的SM9数字签名生成方法及系统

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