System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于模格问题的后量子两方协同签名方法技术_技高网

一种基于模格问题的后量子两方协同签名方法技术

技术编号:41091306 阅读:5 留言:0更新日期:2024-04-25 13:51
本发明专利技术公开了一种基于模格问题的后量子两方协同签名方法,其步骤包括:1)移动终端与云服务器生成各自私钥片段并协同计算出完整公钥;2)移动终端与云服务器使用各自私钥片段对消息M进行签名生成各自签名片段;3)移动终端接收云服务器的签名片段并对其进行验证,验证通过后将自己的签名片段与云服务器生成的签名片段聚合为完整签名;4)验证方利用签名方的所述完整公钥对所述完整签名的有效性进行验证,验证通过则所述完整签名有效,否则无效。本发明专利技术提升了错误取样的效率并且与离散高斯取样相比方案的安全性几乎不受影响,可灵活应用于具有不同资源需求的安全场景中。

【技术实现步骤摘要】

本专利技术属于网络安全,涉及一种两方协同签名方案,特别是涉及一种基于模格问题的后量子两方协同签名方法


技术介绍

1、近年来,智能化移动设备的普及有力推动了移动互联网络的发展。其中,数字签名作为一种保护数据完整性、可鉴别性及不可否认性的密码技术,广泛应用于移动办公、金融交易、电子政务等移动互联网场景中。然而,移动设备易丢失、易被劫持等安全问题使得签名密钥的安全性存在极大的隐患。因此,为保护数字签名密钥的安全性及避免签名权利过度集中的问题,移动设备的安全通信可采用两方协同签名方案。在两方协同签名方案中,移动终端与云服务器分别持有部分私钥,交互并协同生成完整签名,任意一方都无法独立对消息进行完整签名。

2、由于采用签名权利下放且分割签名密钥等举措,两方协同签名方案很好的解决了移动终端引入的安全性隐患,使得数字签名技术能够继续保护移动互联网络的安全性。至此,两方协同签名方案得到广泛的研究并发展日趋成熟。然而,在面临量子算法攻击时,当前广泛部署的两方协同签名方案将不再安全。目前,两方协同签名方案全部基于传统数论难题(如,大数分解问题,离散对数问题及椭圆曲线离散对数问题)构建,而传统数论难题在量子算法下存在多项式时间的求解算法。

3、在当前研究理论下,基于编码的密码、多变量密码、基于散列的密码、同源密码及格密码五种密码原语在量子算法分析下仍旧为困难问题。对于这五种密码原语,基于编码的密码主要用于构造加密方案;多变量密码与基于散列的密码主要用于构建数字签名方案;同源密码是最为新颖的一种,但就其目前的发展形势看,其计算效率相对低下,在发展前景上并不占优势;而由于传统的密码学概念多数都能够在格密码中实现,因此其为最通用的一类密码。格密码之所以具有通用性,是因为其存在几大优势:一,根据现有的理论发展,在量子计算条件下,多种基于格的困难问题还未发现多项式时间的求解算法,这是其能够抵御量子攻击的前提;二,格上密码算法的安全性可以归约到格上困难问题最坏情形下的困难性,因此基于格设计的密码体制具有较高的安全性;三,格上密码的计算仅仅需要向量的加法和乘法以及高斯取样等,运算速率高。此外,相较于其他格上困难问题,模格问题将环多项式结构与矩阵形式相结合,融合了高效性与灵活性的优势。因此,基于模格问题构建数字签名方案不仅能够高效实现,而且可灵活部署于不同应用场景中。

4、近年来,移动互联网的规模日益扩大且应用场景呈现出多样化的趋势。如,以智能手机、笔记本电脑等资源丰富的移动设备通信为主的移动互联网场景,以智能手表、蓝牙耳机等资源受限的可穿戴设备通信为主的移动物联网场景,以战斗机、卫星等高安全性需求设备通信为主的移动互联网场景。然而,面向如此多样化的移动互联网平台,当前的签名方法只能针对单一场景进行部署,缺乏应用的灵活性。

5、综上所述,对构造面向移动互联网平台的签名方案而言,现有技术中存在如下几点不足:第一,签名私钥存储具有安全性隐患。移动设备具有易失性以及易被劫持,导致存储于移动设备中的签名私钥极易被攻击者获取和利用。第二,签名方案无法抵抗量子计算机的攻击。现有两方协同签名方案基于传统数论难题构建,能够被量子计算机高效求解。第三,面向多种移动互联网场景,当前签名方案的通用性不强。现存的方案只能针对一种安全性需求适用,若要实现多种安全性需求,需要重新构建方案,导致方案的可扩展性及代码的可复性不强。


技术实现思路

1、针对现有技术中存在的问题,本专利技术旨在提供一种基于fiat-shamir范式以模上错误学习(module learning with errors,module-lwe)问题及模上最小整数解(modulesmallest integer solution,module-sis)问题为困难原语的后量子两方协同签名方法。在该签名方法中,签名参与方为移动终端与云服务器,二者分别持有私钥片段。利用各自私钥片段并通过交互操作,双方计算生成完整公钥并通过公开信道进行发送。对于同一消息,移动终端与云服务器利用己方私钥对其签名生成签名片段。之后,移动终端运行签名聚合算法将两个签名片段合成完整签名并通过公开信道进行发送。验证方从公开信道中获取到完整签名后,利用完整公钥和签名消息对完整签名的有效性进行验证。方案的整体运行共涉及四个过程,分别为协同密钥生成过程、协同签名过程、签名聚合过程以及签名验证过程。

2、本专利技术的技术方案为:

3、一种基于模格问题的后量子两方协同签名方法,其步骤包括:

4、1)移动终端与云服务器生成各自私钥片段并协同计算出完整公钥;

5、2)移动终端与云服务器使用各自私钥片段对消息m进行签名生成各自签名片段;

6、3)移动终端接收云服务器的签名片段并对其进行验证,验证通过后将自己的签名片段与云服务器生成的签名片段聚合为完整签名;

7、4)验证方利用签名方的所述完整公钥对所述完整签名的有效性进行验证,验证通过则所述完整签名有效,否则无效。

8、进一步的,移动终端与云服务器生成各自私钥片段并协同计算出完整公钥的方法为:

9、11)移动终端与云服务器通过交互协商生成复合种子ρ;

10、12)移动终端与云服务器将复合种子ρ扩展为公共矩阵a,移动终端取样秘密对(sc1,sc2)并计算公钥片段tc=asc1+sc2,云服务器取样秘密对(ss1,ss2)并计算公钥片段ts=ass1+ss2;然后移动终端对公钥片段tc进行承诺生成承诺值trc并发送给云服务器,云服务器对公钥片段ts进行承诺生成承诺值trs并发送给移动终端;移动终端与云服务器分别校验对方公钥片段与承诺值的一致性,若校验通过,则进入步骤13);否则,终止计算;

11、13)移动终端与云服务器分别计算完整公钥t=tc+ts及公钥摘要tr,移动终端将(ρ,t)封装为完整公钥pk,将(ρ,kc,tr,sc1,sc2,ts)封装为其私钥片段skc;云服务器将(ρ,t)封装为完整公钥pk,将(ρ,ks,tr,ss1,ss2,tc)封装为其私钥片段sks。

12、进一步的,移动终端与云服务器通过交互协商生成复合种子ρ的方法为:移动终端生成一个256比特的随机种子ρc并对其进行承诺生成种子承诺值云服务器生成一个256比特的随机种子ρs并对其进行承诺生成种子承诺值然后移动终端与云服务器分别将各自的种子承诺值发送给对方;在收到对方的种子承诺值后,移动终端与云服务器将各自种子值发送给对方;然后移动终端使用种子值ρs将种子承诺值打开,以校验其在传输过程中是否发生改变;云服务器使用种子值ρc将种子承诺值打开,以校验其在传输过程中是否发生改变;如果均校验通过,则云服务器与移动终端分别利用种子值ρc和ρs合成复合种子

13、进一步的,秘密对(s1,s2)的取样方法为:秘密s1是一个包含l个多项式的秘密多项式向量,秘密s2是一个包含k个多项式的秘密多项式向量;对于每一个秘密多项式向量的取样,其取样顺序为先取样多项式,然后重复l次多本文档来自技高网...

【技术保护点】

1.一种基于模格问题的后量子两方协同签名方法,其步骤包括:

2.根据权利要求1所述的方法,其特征在于,移动终端与云服务器生成各自私钥片段并协同计算出完整公钥的方法为:

3.根据权利要求2所述的方法,其特征在于,移动终端与云服务器通过交互协商生成复合种子ρ的方法为:移动终端生成一个256比特的随机种子ρc并对其进行承诺生成种子承诺值云服务器生成一个256比特的随机种子ρs并对其进行承诺生成种子承诺值然后移动终端与云服务器分别将各自的种子承诺值发送给对方;在收到对方的种子承诺值后,移动终端与云服务器将各自种子值发送给对方;然后移动终端使用种子值ρs将种子承诺值打开,以校验其在传输过程中是否发生改变;云服务器使用种子值ρc将种子承诺值打开,以校验其在传输过程中是否发生改变;如果均校验通过,则云服务器与移动终端分别利用种子值ρc和ρs合成复合种子

4.根据权利要求2所述的方法,其特征在于,秘密对(s1,s2)的取样方法为:秘密s1是一个包含l个多项式的秘密多项式向量,秘密s2是一个包含k个多项式的秘密多项式向量;对于每一个秘密多项式向量的取样,其取样顺序为先取样多项式,然后重复l次多项式取样操作以生成秘密向量s1、重复k次多项式取样操作以生成秘密向量s2;秘密对(s1,s2)的取样采用中心二项分布,取样参数为η;(s1,s2)为移动终端取样秘密对(sc1,sc2)或云服务器取样秘密对(ss1,ss2)。

5.根据权利要求2所述的方法,其特征在于,生成所述公共矩阵A的方法为:首先利用SHAKE-128函数将复合种子ρ扩展为字节流;然后将字节流以3个字节为一组进行划分;然后对于划分后的第一个分组中的3个字节b0,b1,b2,计算(b2&(27-1))·216+b1·28+b0∈[0,223-1],得到一个23比特的数值,对每一分组分别计算得到一个23比特的数值;对每一个23比特的数值,采用拒绝取样操作:如果该数值位于[0,q-1]区间内,则保留该数值并将其赋值给多项式的系数;否则,丢弃该数值。

6.根据权利要求1所述的方法,其特征在于,移动终端与云服务器使用各自私钥片段对消息M进行签名生成各自签名片段的方法为:

7.根据权利要求6所述的方法,其特征在于,屏蔽向量对(y1,y2)的取样方法为:y1为包含l个多项式的屏蔽向量,屏蔽向量y2为包含k个多项式的屏蔽向量,所述屏蔽向量的取样规则为:以多项式为单位进行取样,重复取样l次以获得屏蔽向量y1、重复取样k次以获得屏蔽向量y2;(y1,y2)为移动终端的屏蔽向量对(yc1,yc2)或云服务器的屏蔽向量对(ys1,ys2)。

8.根据权利要求1所述的方法,其特征在于,移动终端生成所述完整签名的方法为:在收到云服务器的签名片段(zs1,zs2)后,移动终端需先验证云服务器签名片段的有效性。移动终端利用云服务器提供的签名片段(zs1,zs2)计算证据向量w′s=Azs1+zs2-cts并与云服务器提供的证据向量ws进行比对。若二者不相等,则说明云服务器的签名无效,终止协议;

9.根据权利要求8所述的方法,其特征在于,验证方利用签名方的所述完整公钥对所述完整签名的有效性进行验证的方法为:首先验证方将复合种子ρ扩展为公共矩阵A、根据公钥摘要tr计算消息M的消息摘要μ;然后验证方利用消息摘要μ和完整签名σ中给出的完整证据向量w生成挑战多项式c;如何验证方使用完整公钥t、签名(z1,z2)及挑战多项式c计算证据向量w′=Az1+z2-ct,并与签名方给定的证据向量w比对,若二者相等,则签名有效;否则,签名无效。

10.根据权利要求6或9所述的方法,其特征在于,所述挑战多项式由{-1,0,1}三个元素构成,其中,非零元素的个数为τ;所述挑战多项式的生成方法为:首先使用SHAKE-256函数提取消息M和证据向量的摘要然后将作为随机种子生成所述挑战值多项式。

...

【技术特征摘要】

1.一种基于模格问题的后量子两方协同签名方法,其步骤包括:

2.根据权利要求1所述的方法,其特征在于,移动终端与云服务器生成各自私钥片段并协同计算出完整公钥的方法为:

3.根据权利要求2所述的方法,其特征在于,移动终端与云服务器通过交互协商生成复合种子ρ的方法为:移动终端生成一个256比特的随机种子ρc并对其进行承诺生成种子承诺值云服务器生成一个256比特的随机种子ρs并对其进行承诺生成种子承诺值然后移动终端与云服务器分别将各自的种子承诺值发送给对方;在收到对方的种子承诺值后,移动终端与云服务器将各自种子值发送给对方;然后移动终端使用种子值ρs将种子承诺值打开,以校验其在传输过程中是否发生改变;云服务器使用种子值ρc将种子承诺值打开,以校验其在传输过程中是否发生改变;如果均校验通过,则云服务器与移动终端分别利用种子值ρc和ρs合成复合种子

4.根据权利要求2所述的方法,其特征在于,秘密对(s1,s2)的取样方法为:秘密s1是一个包含l个多项式的秘密多项式向量,秘密s2是一个包含k个多项式的秘密多项式向量;对于每一个秘密多项式向量的取样,其取样顺序为先取样多项式,然后重复l次多项式取样操作以生成秘密向量s1、重复k次多项式取样操作以生成秘密向量s2;秘密对(s1,s2)的取样采用中心二项分布,取样参数为η;(s1,s2)为移动终端取样秘密对(sc1,sc2)或云服务器取样秘密对(ss1,ss2)。

5.根据权利要求2所述的方法,其特征在于,生成所述公共矩阵a的方法为:首先利用shake-128函数将复合种子ρ扩展为字节流;然后将字节流以3个字节为一组进行划分;然后对于划分后的第一个分组中的3个字节b0,b1,b2,计算(b2&(27-1))·216+b1·28+b0∈[0,223-1],得到一个23比特的数值,对每一分组分别计算得到一个23比特的数值;对每一个23比特的数值,采用拒绝取样操作:...

【专利技术属性】
技术研发人员:于爱民任培欣顾小卓赵凌青
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1