[发明专利]p元域SM2椭圆曲线的数字签名生成、验证及混合系统有效
申请号: | 201110107553.3 | 申请日: | 2011-04-27 |
公开(公告)号: | CN102761415A | 公开(公告)日: | 2012-10-31 |
发明(设计)人: | 徐树民;屈善新;刘振;王绍麟;田心;刘建巍 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm2 椭圆 曲线 数字签名 生成 验证 混合 系统 | ||
1.一种p元域SM2椭圆曲线的数字签名生成系统,所述数字签名包括一号签名段r和二号签名段s;其特征在于,该系统包括:签名控制中心、密码杂凑模块、随机数生成模块、倍点运算模块、s生成模块;其中,
所述签名控制中心用于,将待签名消息m与签名方杂凑值ZA进行拼接,将得到的拼接消息m’发送到所述密码杂凑模块;根据r=(e+x1)mod n计算得到r;将r发送到所述s生成模块;在r=0、r+k=n或s=0的情况下,通知所述随机数生成模块重新生成k;将k发送到所述倍点运算模块、s生成模块;将r和s作为m的数字签名输出;
所述密码杂凑模块用于,对m’进行密码杂凑运算,将生成的拼接消息杂凑值e发送到所述签名控制中心;
所述随机数生成模块用于,将生成的随机数k发送到所述签名控制中心;
所述倍点运算模块用于,对所述椭圆曲线的基G进行k倍点运算,将生成的坐标(x1,y1)作为运算结果[k]G发送到所述签名控制中心;
所述s生成模块用于,根据s=[(1+dA)-1·(k-r·dA)]mod n生成s,将生成的s发送到所述签名控制中心;
其中,n为所述椭圆曲线的阶,dA为签名方的私钥。
2.根据权利要求1所述的系统,其特征在于,所述s生成模块包括:s生成控制子模块、域转换子模块、蒙哥马利域乘法子模块、有限域求逆子模块;
所述s生成控制子模块用于,接收所述签名控制中心发送的r和k在有限域的值;将(1+dA)在有限域的值发送到所述有限域求逆子模块;将r、dA、k、(1+dA)-1在有限域的值发送到所述域转换子模块;将r和dA各自在蒙哥马利域的值发送到所述蒙哥马利域乘法子模块,用k在蒙哥马利域的值与其返回的(r·dA)在蒙哥马利域的值进行减法运算,得到(k-r·dA)在蒙哥马利域的值;将(1+dA)-1和(k-r·dA)各自在蒙哥马利域的值发送到所述蒙哥马利域乘法子模块,并将其返回的[(1+dA)-1·(k-r·dA)]在仿射坐标系的值与1发送到所述蒙哥马利域乘法子模块;将s=[(1+dA)-1·(k-r·dA)]mod n在有限域的值s发送到所述签名控制中心;
所述域转换子模块用于,将(1+dA)-1、r、dA和k在有限域的值分别转换为各自在蒙哥马利域的值,发送到所述s生成控制子模块;
所述蒙哥马利域乘法子模块用于,对r和dA二者在蒙哥马利域的值进行蒙哥马利域乘法运算,将得到的(r·dA)在蒙哥马利域的值返回所述s生成控制子模块;将(1+dA)-1和(k-r·dA)二者在蒙哥马利域的值进行蒙哥马利域乘法运算,将得到的[(1+dA)-1·(k-r·dA)]在仿射坐标系的值返回所述s生成控制子模块;对[(1+dA)-1·(k-r·dA)]在仿射坐标系的值与1进行蒙哥马利域乘法运算,将得到的s=[(1+dA)-1·(k-r·dA)]mod n在有限域的值s发送到所述s生成控制子模块;
所述有限域求逆子模块用于,对(1+dA)在有限域的值进行求逆运算,将得到的(1+dA)-1在有限域的值发送到所述s生成控制子模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110107553.3/1.html,转载请声明来源钻瓜专利网。