欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2019103292979
申请人: 陕西师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于爱德华兹曲线数字签名的生成方法,其特征在于它是由下述步骤组成:(1)协商生成系统密钥

1)生成第一通信方子公钥和子私钥

第一通信方选择一个长度为w1字节的随机字符串作为第一通信方私钥字符串k1,w1∈[32,64]的整数,使用密码杂凑函数Hash用式(1)得到第一通信方私钥字符串的杂凑值str1:str1=Hash(k1)  (1)

第一通信方用式(2)得到第一通信方子私钥sl1:其中len为杂凑函数Hash输出的杂凑值的比特长度,len的取值为256或512,其中l的取值为2或4或8;第一通信方用式(3)得到第一通信方标识符perix1:第一通信方用式(4)使用爱德华兹曲线上点乘运算由第一通信方子私钥sl1生成第一通信方子公钥p1,并将第一通信方子公钥p1发送到第二通信方;

p1=sl1[*]B  (4)

其中[*]表示爱德华兹曲线上的点乘运算,B为爱德华兹曲线上的基点、取点B1或B2,B1的坐标为(1511222134953540077250115140958853151145401269304185720604611328394

9847762202,46316835694926478169428394003475163141307993866256225615783033603

165251855960),B2的坐标为(224580040295924300187604334099896036246789641632564

1342461254616869504154674060329090291928693579532825780320751464461736746026

35247710,2988192100784814926760179304439306734375440401540802420959282413723

31506189835876003536878655418784733982303233503462500531545062832660);

2)生成第二通信方子公钥和子私钥

第二通信方选择一个长度为w2字节的随机字符串作为第二通信方私钥字符串k2,w2∈[32,64]的整数,使用密码杂凑函数Hash用式(5)得到第二通信方私钥字符串的杂凑值str2:str2=Hash(k2)  (5)

第二通信方用式(6)得到第二通信方子私钥sl2:第二通信方用式(7)得到第二通信方标识符perix2:第二通信方用式(8)使用爱德华兹曲线上点乘方法由第二通信方子私钥sl2生成第二通信方子公钥p2,将第二通信方子公钥p2发送到第一通信方;

p2=sl2[*]B  (8)

3)生成签名系统公钥

第一通信方收到第二通信方子公钥P2,用式(9)得到签名系统公钥T1:T1=sl1[*]P2  (9)

第二通信方收到第一通信方子公钥P1,用式(10)得到签名系统公钥T2:T2=sl2[*]P1  (10)

第一通信方采用爱德华兹曲线点压缩方法Encoding用式(11)得到签名系统公钥T1的压缩值T1′:T1′=Encoding(T1)  (11)第二通信方采用爱德华兹曲线点压缩方法Encoding用式(12)得到签名系统公钥T2的压缩值T2′:T2′=Encoding(T2)  (12)(2)协商生成数字签名

1)生成第一通信方签名元素

第一通信方由式(13)得到部分签名r的子生成元素r1:r1=Hash(perix1||M)modq  (13)其中M为待签名消息、长度为有限正整数,mod表示模运算,q为爱德华兹曲线点群的阶,即爱德华兹曲线点群上的元素个数,q为2^252+277423177773723535358519377908836484

93或2^446-138180668098951153520073867485154268803366924748821786098945475038

85,||符号表示连接;

第一通信方用Paillier同态加密方法的密钥生成方法生成密钥对(sk,pk),其中sk为同态加密私钥,pk为同态加密公钥,用式(14)得到部分签名r的子生成元素r1的密文c1:c1=Encpk(r1)  (14)

其中Encpk为同态加密方法;第一通信方使用同态加密方法Encpk用式(15)得到第一通信方子私钥sl1的密文c2:c2=Encpk(sl1)  (15)

第一通信方用式(16)得到爱德华兹曲线上点Q:Q=r1[*]B  (16)

第一通信方将c1,c2,Q,pk发送给第二通信方;

2)协商生成完整数字签名

第二通信方用式(17)得到部分签名r的子生成元素r2:r2=Hash(perix2||M)modq  (17)第二通信方用式(18)得到第二通信方子私钥p2的压缩值p2′:p2′=Encoding(p2)  (18)第二通信方用式(19)、(20)得到两个第二通信方的私有大数n1与私有大数n2:n1=Hash(perix2||p2′)modq  (19)n2=Hash(perix2||T2′)modq  (20)第二通信方用式(21)得到待签名消息M的杂凑值e:e=Hash(M)  (21)

第二通信方用式(22)得到爱德华兹曲线上点R:R=e[*]r2[*]B  (22)

第二通信方用式(23)得到部分签名r:

r=Encoding(R)  (23)

第二通信方用式(24)得到签名系数k:

k=Hash(r||T2′||M)modq  (24)第二通信方分别用式(25)、(26)、(27)得到部分签名s的密文s′的三个生成元素s1、s2、s3:s3=Encpk(n1n2q)  (27)其中 表示同态乘法, 表示b对应的明文与a相乘;第二通信方使用上述三个生成元素由同态加法用式(28)得到部分签名s的密文s′:其中 表示同态加法, 表示a对应的明文与b对应的明文相加;第二通信方将s′和r发送到第一通信方;第一通信方收到第二通信方发送的部分签名s的密文s′与部分签名r,第一通信方用式(29)得到部分签名s:s=Decsk(s′)modq  (29)Decsk是同态加密解密方法;第一通信方由部分签名s与部分签名r用式(30)得到完整的签名S:S=s||r  (30)

(3)签名验证

验证者和签名发布者共享的信息包括待签名消息M、签名系统公钥压缩值T1′、完整签名S:验证者用式(31)、(32)得到部分签名s与部分签名r:其中length是完整签名S的长度,为偶数;验证者用式(33)解压部分签名r得到R:R=Decoding(r)  (33)

其中Decoding为爱德华兹曲线上的点解压缩方法;验证者用式(34)得到签名系数k:k=Hash(r||T1′||M)modq  (34)验证者用式(35)得到签名系统公钥T1:T1=Decoding(T1′)  (35)验证者验证式(36)两边是否相等,相等则证明验证通过,得到完整签名,否则验证失败;

s[*]B=R+k[*]T1  (36)

2.根据权利要求1所述的基于爱德华兹曲线数字签名的生成方法,其特征在于所述的协商生成系统密钥步骤(1)中的步骤1)为:

1)第一通信方选择一个长度为w1字节的随机字符串作为第一通信方私钥字符串k1,w1为32,使用密码杂凑函数Hash用式(1)得到第一通信方私钥字符串的杂凑值str1:str1=Hash(k1)  (1)

第一通信方用式(2)得到第一通信方子私钥sl1:其中杂凑函数Hash选择国密SM3方法,len为杂凑函数SM3输出的杂凑值的比特长度,len的取值为256,l的取值为2;第一通信方用式(3)得到第一通信方标识符perix1:第一通信方用式(4)使用爱德华兹曲线上点乘运算由第一通信方子私钥sl1生成第一通信方子公钥p1,并将第一通信方子公钥p1发送到第二通信方;

p1=sl1[*]B  (4)

其中[*]表示爱德华兹曲线上的点乘运算,B为爱德华兹曲线上的基点,为爱德华兹曲线上的生成元,B为(x,y);

2)第二通信方选择一个长度为w2字节的随机字符串作为第二通信方私钥字符串k2,w2为32,使用密码杂凑函数Hash用式(5)得到第二通信方私钥字符串的杂凑值str2:str2=Hash(k2)  (5)

第二通信方用式(6)得到第二通信方子私钥sl2:第二通信方用式(7)得到第二通信方标识符perix2:其中杂凑函数Hash选择国密SM3方法,len为杂凑函数SM3输出的杂凑值的比特长度,len的取值为256,l的取值为2;第二通信方用式(8)使用爱德华兹曲线上点乘方法由第二通信方子私钥sl2生成第二通信方子公钥p2,将第二通信方子公钥p2发送到第一通信方。

p2=sl2[*]B  (8)

3.根据权利要求1所述的基于爱德华兹曲线数字签名的生成方法,其特征在于:所述的在协商生成系统密钥步骤(1)的步骤3)中,第一通信方的签名系统公钥T1与第二通信方的签名系统公钥T2相等,签名系统公钥T1的压缩值T1′与签名系统公钥T2的压缩值T2′相等。