System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种格基签名高效并行快速实现方法技术_技高网
当前位置: 首页 > 专利查询>复旦大学专利>正文

一种格基签名高效并行快速实现方法技术

技术编号:41378913 阅读:12 留言:0更新日期:2024-05-20 10:21
一种格基签名高效并行快速实现方法。本发明专利技术基于多项式系数远小于模数这一特征,提出了并行的高效安全的小系数多项式乘法实现方法。首先,将多项式系数间耗时的乘法运算转化为加减移位运算;进一步,通过平移将多项式系数及计算中间值变成非负整数并在最后消除平移的影响,并基于此给出并行版本的小多项式乘法高效实现方法;进一步,为了计算的高效,采用提前检查技术优化并行小系数多项式乘法,对于拒绝采样,拒绝概率越大的部分进行优先计算并优先检查;进一步,出了快速挑战多项式采样方法,可很好地结合并行小系数多项式乘法方法进一步加速乘法过程;对私钥结构进行调整,以更好适应签名过程中并行小多项式乘法运算,进一步提高签名效率。

【技术实现步骤摘要】

本专利技术涉及密码实现技术,尤其涉及后量子格基数字签名高效并行快速实现方法。


技术介绍

1、后量子密码学(post-quantum cryptography,pqc)指的是一组基于不同数学难题的方法,这些方法被认为可以安全抵御传统计算机和量子计算机的攻击。它既可以部署在传统计算机上,也可以部署在今天的通信基础设施上。在不同的后量子方法中,基于格的密码学(lattice-based cryptography,lbc)由于其广泛的安全分析以及小的公钥和签名规模,被认为是后量子加密协议最有前途的候选方案之一。

2、数字签名是公钥密码技术的核心技术之一。其本身可以用来进行身份认证、消息完整性认证,还是认证密钥协商协议的关键工具。因此,研究实用化的后量子数字签名技术,对于提升在后量子时代网络和密码系统的长期安全性具有重要意义,迫切需要解决。

3、预备知识和符号标示

4、给定任意实数令为不超过x的最大整数,并且对于所有的正整数r,α>0,令r mod α为对于唯一整数r′∈{0,…,α-1}满足α|(r′-r),令r mod±α为对于唯一整数其中满足α|(r″-r)。令n为正整数,q为正素数。令记环r为一般的环,则rq为其商环且其中q为正整数;对于环rq,可以选择如下多项式环之一:所有数学运算是定义在rq上。对于每个可以表示为集合中的唯一元素,类似的,对于每个多项式a∈r可以被唯一的表示为r或rq上的向量用粗体表示为对于元素定义||a||∞=|a mod±q|(a mod±q的绝对值)。对于一个有限集合s,|s|表示集合s的大小,x←s表示从集合s中随机选取一个元素x。对于任意概率分布d,x←d表示从分布d中选取一个元素x。

5、一个数字签名方案π由三部分概率多项式时间方法组成(keygen,sign,verify)。

6、·(pk,sk)←keygen(1λ)。其中keygen是密钥生成方法,输入安全参数1λ,输出公私钥对(pk,sk)。

7、·σ←sign(sk,μ)。sign是签名方法,输入密钥sk以及待签名消息μ∈{0,1}*。输入签名σ。

8、·b:=verfy(pk,μ,σ)。verify是确定性的验证方法,输入公钥pk以及消息/签名对(μ,σ),输出b∈{0,1},若签名有效,输出b=1,反之若无效输出b=0。

9、当对任意足够大的λ,任意(pk,sk)←keygen(1λ)和任意μ∈{0,1}*满足pr[verify(pk,μ,sign(sk,μ))=1]=1,则签名方案π是正确的。

10、对一个元素其l∞-范数定义为类似地,对于一个元素它的l∞-范数定义为特别地,令sη表示中的所有满足‖w‖∞≤η的元素构成的集合。本专利技术的签名方案的安全性基于模-lwe(mlwe)和模-sis(msis)困难问题。固定一个参数模-lwe分布(由引起的)是随机对(ai,bi)在支集上的分布,其中是均匀的,每一个样本都由相同的和不同的ei←sη决定。给定任意多的取自模-lwe分布的由产生的样本,(搜索版本的)模-lwe问题要求恢复s。相应的模-lwe假设指的是给定和其中k=poly(λ),假设参数适当选择,则没有概率多项式时间方法能够以不可忽略的概率恢复类似地,给定其中h=poly(λ),参数为β>0的模-sis问题要求找到一个原像使得[a|i]·x=0且‖x‖≤β。相应的模-sis假设指的是指在提供适当选择的参数的前提下,没有概率多项式时间方法能够以不可忽略的概率找到满足要求的原像x。

11、定义一个基于mlwe签名的方法如下:密钥生成方法用随机种子ρ生成一个k×l维的矩阵a,其中矩阵的每个元素都是在环rq上的多项式,k和l为正整数,之后,密钥生成方法采样出随机秘密密钥向量和向量和中的每个系数都是rq上的元素,且满足无穷范数即系数绝对值的最大值其中满足系数远小于q的多项式称为小多项式。计算t1=f(t,q),t0=f′(t,q),其中f和f’是输入包含t和q的函数,对应的高位数据,对应的低位数据且其无穷范数小于q。令公钥pk包含私钥sk包含或签名方法sign(pk,m)输入公钥pk和待签名消息m∈{0,1}*生成签名σ。验签方法verify(pk,σ,m)输入签名σ和公钥pk以及明文m验证签名是否正确。在签名方法sign(pk,m)和验签方法verify(pk,σ,m)中包含多个小多项式乘法其中c是一个n维的多项式,其中非零项个数不超过τ<n个。签名方法与验签方法可以软件实现也可以嵌入硬件设备实现。dilithium签名及其变体比如mulan、aigis-sig、skcn等签名方法是上述方法的特例。


技术实现思路

1、一个基于小多项式并行乘法的格基签名快速实现方法,其中定义一个基于mlwe签名的方法如下:密钥生成方法用随机种子ρ生成一个k×l维的矩阵a,其中矩阵的每个元素都是在环rq上的多项式,k和l为正整数,记环r为一般的环,rq为其商环且其中q为正整数;对于环rq,可以选择如下多项式环之一:其中n是一个正整数,p是一个素数;所有数学运算是定义在rq上;之后,密钥生成方法采样出随机秘密密钥向量和向量和中的每个系数都是rq上的元素,且满足无穷范数即系数绝对值的最大值其中满足系数远小于q的多项式称为小多项式;计算其中f和f’是输入包含和q的函数,对应的高位数据,对应的低位数据且其无穷范数小于q;令公钥pk包含私钥sk包含或签名方法sign(pk,m)输入公钥pk和待签名消息m∈{0,1}*生成签名σ;验签方法verify(pk,σ,m)输入签名σ和公钥pk以及明文m验证签名是否正确;在签名方法sign(pk,m)和验签方法verify(pk,σ,m)中包含多个小多项式乘法其中c是一个n维的多项式,其中非零项个数不超过τ<n个;针对这些小多项式乘法运算,传统的方法是采用快速数论变换等技术加速多项式乘法运算;本专利技术基于小多项式乘法运算涉及的系数远小于q这一特征,专利技术了并行的高效小多项式实现方法;由于小多项式乘法运算在整个格基签名方案占比较大,对小多项式乘法进行并行高效实现可以有效提升格基签名方案整体速度;该方法基于多项式c含有τ个±1系数或其他小系数,其中τ为小于n的整数,其余系数都为0的特点,将多项式系数间耗时的乘法运算转化为加减法运算;进一步,基于在计算向量乘法时的中间值总是小的非负整数这一特征,专利技术了并行版本的小多项式乘法运算,将向量中的不同多项式系数通过拼接存入不同处理器下所能定义的最大范围整数变量中,通过只操作一个变量,对多个系数进行并行计算,以加速环上的多项式乘法运算;对于使用这种小多项式并行加速方法,对于其它rq可以应用其它多项式乘法方法进行加速。

2、定义记环r为一般的环;rq为其商环且其中q为正整数;对于环rq,可以选择如下多项式环之一:其中n是一个正整数,p是一个素数;所有数学运算是定义在rq上;对于多项式其中bτ为r的子集,由τ个非零系数组成,这些非零系数为本文档来自技高网...

【技术保护点】

1.一种格基签名高效并行快速实现方法,其中基于MLWE签名的方法步骤包括:

2.一种格基签名高效并行快速实现方法,其中基于MLWE签名的方法步骤包括:

3.如权利要求2所述的格基签名高效并行快速实现方法,其特征在于,该小多项式乘法方法进一步包括:

4.如权利要求3所述的格基签名高效并行快速实现方法,其特征在于,该小多项式乘法方法所包括的4)进一步包括:

5.如权利要求4所述的格基签名高效并行快速实现方法,其特征在于,该新的SampleinBall方法流程如下:

6.如权利要求1-5中任一者所述的格基签名高效并行快速实现方法,其特征在于,定义环R为一般的环;则Rq为其商环且其中q为正整数;对于环Rq,可以选择如下多项式环之一:其中n是一个正整数,q是一个素数;所有数学运算是定义在Rq上;对于多项式其中Bτ为R的子集,由τ个非零系数组成,这些非零系数为1或-1,其余系数为0;令u=c·a∈Rq,这里是权利要求1中小系数多项式任意之一;有六种小多项式乘法实现方法,每个方法层层递进,不断优化,最终优化为并行版本的小多项式乘法方法;六个小多项式乘法方法分别是基于索引的小多项式乘法实现方法、另一个版本的基于索引的小多项式乘法实现方法、带平移的基于索引的小多项式乘法实现方法,另一个版本的带平移的基于索引的小多项式乘法实现方法、并行小多项式乘法实现方法、另一个版本的并行小多项式乘法实现方法,并且为了计算的高效,采用提前检查技术优化并行小多项式乘法方法。

7.如权利要求6所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法方法,对于当0≤i≤n-2,有对于i=n-1,有基于以上分析和多项式c的系数cj∈{-1,0,1}的特点,可以得到以下基于索引的小多项式乘法方法,步骤如下:

8.如权利要求6所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法方法,有另一个版本的基于索引的小多项式乘法,定义如下序列:(v1-n,v2-n,…,v-1,v0,v1,…,vn-2,vn-1);其中对于0≤i≤n-2,有对于i=n-1,有因此对于0≤i≤n-1,可得因此可以看作两个向量的内积:[c0,c1,…,cn-1]T,其中为有q个元素的有限域,是有限域维线性空间;因ci∈{-1,0,1},此时可将乘法转化为加减法,可以进一步表示为为由以上结论,提出另一种基于索引的小多项式乘法,其步骤如下:

9.如权利要求7所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法,首先根据定义,在计算过程中,vi的值可能为负值;此外,基于索引的小多项式乘法方法的关键操作是加法和减法操作,因此中间值wi也可能为负值;这些负值会对导出基于索引的小多项式乘法方法的并行版本产生影响;可以通过加上一个多项式系数的上界将多项式系数转化到非负值,并在最后减去之前加上的值从而恢复正确的结果;基于这一思想,提出基于索引的小多项式方法的非负版本;假设因此定义以下序列(v1-n,v2-n,…,v-1,v0,v1,…,vn-2,vn-1),按如下定义设置:也就是每个vi都比原本的值大U,因此vi∈{0,1,...,2U};此外,在每一个关键操作中可以通过U平移中间值wi;由于c∈Bτ有汉明重量τ,wi值最后将比其“预期”值恰好大τU,因此可以通过减去常数τU抵消前面这些平移的影响,基于以上分析提出带平移的基于索引的小多项式乘法方法,步骤如下:

10.如权利要求9所述的格基签名高效并行快速实现方法,其特征在于,针对带平移的基于索引的小多项式乘法方法,可以进一步改进为另一种版本的带平移的基于索引的小多项式乘法,定义向量令因此当ci=-1,原本的wj=wj+(2U-vj-i)进一步可以用替换,减少了减法运算,另一个版本的带平移的基于索引的小多项式乘法方法,其步骤如下:

11.如权利要求9所述的格基签名高效并行快速实现方法,其特征在于,针对带平移的基于索引的小多项式乘法方法,可以进一步改进为并行的带平移的基于索引的小多项式乘法;给定四个非负整数0≤a0,b0,a1,b1≤α′,其中α′为正整数;需要找到a=a0+a1以及b=b0+b1;除直接求出外,还可以通过以下间接方法得到a和b的值:设v0=a0·M+b0以及v1=a1·M+b1,其中M为正整数;当M>2α′时,注意,假设所有给定的值都是非负的,这使得可以从v0+v1的和中恢复完整的a和b;基于此性质,令M≥2τU(实际中,M一般取大于等于2τU的最小的2的幂次,比如列向量其中r是一个整数且r·log2M小于计算机中寄存器的位数或字的二进制长度,r用于表征并行度;对于任意的...

【技术特征摘要】

1.一种格基签名高效并行快速实现方法,其中基于mlwe签名的方法步骤包括:

2.一种格基签名高效并行快速实现方法,其中基于mlwe签名的方法步骤包括:

3.如权利要求2所述的格基签名高效并行快速实现方法,其特征在于,该小多项式乘法方法进一步包括:

4.如权利要求3所述的格基签名高效并行快速实现方法,其特征在于,该小多项式乘法方法所包括的4)进一步包括:

5.如权利要求4所述的格基签名高效并行快速实现方法,其特征在于,该新的sampleinball方法流程如下:

6.如权利要求1-5中任一者所述的格基签名高效并行快速实现方法,其特征在于,定义环r为一般的环;则rq为其商环且其中q为正整数;对于环rq,可以选择如下多项式环之一:其中n是一个正整数,q是一个素数;所有数学运算是定义在rq上;对于多项式其中bτ为r的子集,由τ个非零系数组成,这些非零系数为1或-1,其余系数为0;令u=c·a∈rq,这里是权利要求1中小系数多项式任意之一;有六种小多项式乘法实现方法,每个方法层层递进,不断优化,最终优化为并行版本的小多项式乘法方法;六个小多项式乘法方法分别是基于索引的小多项式乘法实现方法、另一个版本的基于索引的小多项式乘法实现方法、带平移的基于索引的小多项式乘法实现方法,另一个版本的带平移的基于索引的小多项式乘法实现方法、并行小多项式乘法实现方法、另一个版本的并行小多项式乘法实现方法,并且为了计算的高效,采用提前检查技术优化并行小多项式乘法方法。

7.如权利要求6所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法方法,对于当0≤i≤n-2,有对于i=n-1,有基于以上分析和多项式c的系数cj∈{-1,0,1}的特点,可以得到以下基于索引的小多项式乘法方法,步骤如下:

8.如权利要求6所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法方法,有另一个版本的基于索引的小多项式乘法,定义如下序列:(v1-n,v2-n,…,v-1,v0,v1,…,vn-2,vn-1);其中对于0≤i≤n-2,有对于i=n-1,有因此对于0≤i≤n-1,可得因此可以看作两个向量的内积:[c0,c1,…,cn-1]t,其中为有q个元素的有限域,是有限域维线性空间;因ci∈{-1,0,1},此时可将乘法转化为加减法,可以进一步表示为为由以上结论,提出另一种基于索引的小多项式乘法,其步骤如下:

9.如权利要求7所述的格基签名高效并行快速实现方法,其特征在于,针对基于索引的小多项式乘法,首先根据定义,在计算过程中,vi的值可能为负值;此外,基于索引的小多项式乘法方法的关键操作是加法和减法操作,因此中间值wi也可能为负值;这些负值会对导出基于索引的小多项式乘法方法的并行版本产生影响;可以通过加上一个多项式系数的上界将多项式系数转化到非负值,并在最后减去之前加上的值从而恢复正确的结果;基于这一思想,提出基于索引的小多项式方法的非负版本;假设因此定义以下序列(v1-n,v2-n,…,v-1,v0,v1,…,vn-2,vn-1),按如下定义设置:也就是每个vi都比原本的值大u,因此vi∈{0,1,...,2u};此外,在每一个关键操作中可以通过u平移中间值wi;由于c∈bτ有汉明重量τ,wi值最后将比其“预期”值恰好大τu,因此可以通过减去常数τu抵消前面这些平移的影响,基于以上分析提出带平移的基于索引的小多项式乘法方法,步骤如下:

10.如权利要求9所述的格基签名高效并行快速实现方法,其特征在于,针对带平移的基于索引的小多项式乘法方法,可以进一步改进为另一种版本的带平移的基于索引的小多项式乘法,定义向量令因此当ci=-1,原本的wj=wj+(2u-vj-i)进一步可以用替换,减少了减法运算,另一个版本的带平移的基于索引的小多项式乘法方法,其步骤如下:

11.如权利要求9所述的格基签名高效并行快速实现方法,其特征在于,针对带平移的基于索引的小多项式乘法方法,可以进一步改进为并行的带平移的基于索引的小多项式乘法;给定四个非负整数0≤a0,b0,a1,b1≤α′,其中α′为...

【专利技术属性】
技术研发人员:赵运磊郑婕妤梁志闯赵之祥许俊掌晓愚
申请(专利权)人:复旦大学
类型:发明
国别省市:

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

1