本发明专利技术公开了一种原像高斯采样方法,包括步骤:选择高斯参数s,使用密钥生成算法生成签名密钥sk和验证密钥vk;具体包括确定高斯参数、选择构成陷门的多项式、选择工具向量g
【技术实现步骤摘要】
一种原像高斯采样方法、系统、电子设备及存储介质
[0001]本专利技术属于信息安全
,特别涉及一种原像高斯采样方法、系统、电子设备及存储介质。
技术介绍
[0002]公钥密码是保障信息安全传输的重要方式,传统的公钥密码是广泛基于大数分解和离散对数问题构建,在量子计算机的环境下,它们的安全性得不到保证,这使得研究抗量子攻击的密码算法成为一项紧迫的任务。格密码作为抵抗量子计算的后量子算法体制之一,具有潜在的应用价值的密码结构,基于格构建的密码方案简洁和高效,而且方案的安全性是基于格上的困难问题,这使得格密码方案的最坏情况安全性可以归约到平均情况安全性,这是其它后量子密码体制所不具备的特性。
[0003]由于格密码良好的特性,近年来成为人们研究的热点。原像高斯采样作为格密码核心算法之一,它在基于格构建的密码体制中有着广泛的应用,其中基于原像采样算法的hash
‑
and
‑
sign签名是它的应用之一。2008年Gentry等人提出了的短整数解(SIS)问题的陷门生成的算法,并基于该陷门进行原像高斯采样,但是采样的效率比较低。为提高陷门生成和采样的效率,2012年Micciancio和Peikert提出了G
‑
陷门,把原像高斯采样算法分成搅扰采样和G
‑
格采样。相比普通的格,原像高斯采样在代数格上拥有更高的效率,2014年Ducas等人首次在NTRU(Number Theory Research Unit)格上提出了环SIS(RSIS)陷门。2016年Ducas和Prest充分利用NTRU格的代数结构,通过快速傅里叶变换提高了原像高斯采样的效率。近期,Genise和Li在NTRU格上引入了两个类似G
‑
陷门的RSIS陷门,第一个陷门是一个噪音版本,但是搅扰采样可以完全并行化,不过模数q比较大,无法直接与快速采样技术相结合,导致签名效率较低;第二个陷门拥有短的公密钥尺寸,虽然可以与快速采样技术相结合,但是不能并行加速。
技术实现思路
[0004]本专利技术的主要目的在于提供一种原像高斯采样方法、系统、计算机设备及存储介质,其可以实现完全并行化,利用快速采样技术可以提高原像高斯采样的效率。
[0005]为实现上述目的,本专利技术采取的技术方案为:
[0006]第一方面,本专利技术公开一种原像高斯采样方法,包括步骤:
[0007]步骤1:选择高斯参数s,使用密钥生成算法生成签名密钥sk和验证密钥vk;具体包括步骤:
[0008]步骤1.1:令签名的高斯参数其中α表示一个质量参数,σ表示陷门的高斯参数,n为2的方幂;
[0009]步骤1.2:选择构成陷门的多项式f,g1,g2,
…
,g
k
‑1∈R,其中∈R,其中表示一个环,b是一个小整数,q表示模数,这些多项式在R
q
上可逆,R
q
是环R上
多项式的系数模q,且每个多项式服从参数为σ的离散高斯分布;;
[0010]步骤1.2:选择工具向量构造陷门矩阵R=diag(f,g1,g2,
…
,g
k
‑1)∈R
k
×
k
,令校验向量其中m=k;
[0011]步骤1.3:选择工具向量构造陷门矩阵R=diag(f,g1,g2,
…
,g
k
‑1)∈R
k
×
k
,令校验向量其中m=k;
[0012]步骤1.4:令签名密钥sk=R,验证密钥vk=a;
[0013]步骤2:利用签名密钥sk对选择的消息M进行签名;
[0014]步骤3:利用验证密钥vk对收到的签名消息进行合法性验证。
[0015]优选地,所述步骤2:利用签名密钥sk对选择的消息M进行签名,包括步骤:
[0016]步骤2.1:从签名消息空间{0,1}
*
中选择需要签名的消息M,计算μ=h(M,r),其中h(
·
):{0,1}
*
→
R
q
为一个抗碰撞的哈希函数,r为随机比特串;
[0017]步骤2.2:采样搅扰向量其中其中
[0018]步骤2.3:计算目标v=(μ
‑
a
t
·
p)
·
f
‑
1 mod q,并在g
‑
lattice的陪集上按照离散高斯分布进行采样得到目标向量z。
[0019]步骤2.4:令x=p+Rz=(x0,x1,
…
,x
k
‑1);
[0020]步骤2.5:将x中第一个分量x0舍弃,并输出x
′
=(x1,
…
,x
k
‑1)作为消息M的签名。
[0021]优选地,所述步骤2.2:采样搅扰向量其中其中具体包括步骤:
[0022]步骤2.2.1:以为高斯参数,以0为中心点,在环R上进行采样得到q0;对于i=1,
…
,k
‑
1,以为高斯参数,以0为中心点,在环R上进行采样得到q
i
;
[0023]步骤2.2.2:令p=(q0,q1,
…
,q
k
‑1)∈R
k
。
[0024]优选地,所述步骤3:利用验证密钥vk对收到的签名消息进行合法性验证,包括步骤:
[0025]步骤3.1:计算x0=h(M,r)
‑
a
t
·
x mod q,其中签名x
′
=(x1,
…
,x
k
‑1);
[0026]步骤3.2:若‖(x0,x1,
…
,x
k
‑1)‖2≤s2·
m
·
n成立,则验证通过,否则验证失败。
[0027]第二方面,本专利技术公开一种原像高斯采样系统,包括:
[0028]生成模块,所述生成模块用于选择高斯参数s,并采用密钥生成算法生成签名密钥sk和验证密钥vk;
[0029]签名模块,所述签名模块用于利用所述签名密钥sk对选择的消息M进行签名;
[0030]验证模块,所述验证模块用于利用所述验证密钥vk对收到的签名消息进行合法性验证。
[0031]第三方面,本专利技术公开一种计算机设备,其包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上所述方法的步骤。
[0032]第四方面,本专利技术公开一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上所述的方法。
[0033]与现有技术相比,本专利技术的原像高斯采样方法、系统、电子设备及存储本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种原像高斯采样方法,其特征在于,包括步骤:步骤1:选择高斯参数s,使用密钥生成算法生成签名密钥sk和验证密钥vk;具体包括步骤:步骤1.1:令签名的高斯参数其中α表示一个质量参数,σ表示陷门的高斯参数,n为2的方幂;步骤1.2:选择构成陷门的多项式f,g1,g2,
…
,g
k
‑1∈R,其中∈R,其中表示一个环,b是一个小整数,q表示模数,这些多项式在R
q
上可逆,R
q
是环R上多项式的系数模q,且每个多项式服从参数为σ的离散高斯分布;步骤1.3:选择工具向量构造陷门矩阵R=diag(f,g1,g2,
…
,g
k
‑1)∈R
k
×
k
,令校验向量其中m=k;步骤1.4:令签名密钥sk=R,验证密钥vk=a;步骤2:利用签名密钥sk对选择的消息M进行签名;步骤3:利用验证密钥vk对收到的签名消息进行合法性验证。2.如权利要求1所述的原像高斯采样方法,其特征在于,所述步骤2:利用签名密钥sk对选择的消息M进行签名,包括步骤:步骤2.1:从签名消息空间{0,1}
*
中选择需要签名的消息M,计算μ=h(M,r),其中h(
·
):{0,1}
*
→
R
q
为一个抗碰撞的哈希函数,r为随机比特串;步骤2.2:采样搅扰向量其中其中步骤2.3:计算目标v=(μ
‑
a
t
·
p)
·
f
‑1modq,并在g
‑
lattice的陪集上按照离散高斯分布进行采样得到目标向量z。步骤2.4:令x=p+Rz=(x0,x1,
…
,x
k
‑1);步骤2.5:将x中第一个分量x0舍弃,并输出x
′
【专利技术属性】
技术研发人员:贾惠文,顾翱翔,唐春明,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。