CN104038347B - 基于高斯抽样的签名验证方法 - Google Patents
基于高斯抽样的签名验证方法 Download PDFInfo
- Publication number
- CN104038347B CN104038347B CN201410305097.7A CN201410305097A CN104038347B CN 104038347 B CN104038347 B CN 104038347B CN 201410305097 A CN201410305097 A CN 201410305097A CN 104038347 B CN104038347 B CN 104038347B
- Authority
- CN
- China
- Prior art keywords
- matrix
- vector
- integer
- represent
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012795 verification Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims abstract description 14
- 239000011159 matrix material Substances 0.000 claims abstract description 82
- 238000005070 sampling Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 77
- 239000000284 extract Substances 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 3
- 239000004744 fabric Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于高斯抽样的签名验证方法,主要解决现有基于高斯抽样的签名技术在模数不为2的幂时执行效率低下的问题。其实现步骤为:(1)选择参数,利用密钥生成算法生成签名密钥sk和验证密钥vk;(2)利用签名密钥sk生成扩展矩阵AM的陷门矩阵R';(3)利用扩展矩阵AM的陷门矩阵R'对选择的签名消息M进行签名,得到签名sign;(4)利用验证密钥vk验证签名sign的合法性。本发明通过非球面基本高斯抽样算法,极大地减少了基于高斯抽样的签名验证方法的计算量,可用于基于格的公钥密码中的签名和基于身份的加密中个人私钥的生成。
Description
技术领域
本发明属于信息安全技术领域,更进一步涉及一种签名验证方法,可用于基于格的公钥密码中的签名和基于身份的加密中个人私钥的生成。
背景技术
人类即将进入量子信息时代,基于格的公钥密码作为后量子密码即抵抗量子计算攻击的密码的典型代表,在密码学领域占据重要地位。基于格的公钥密码的具有特殊优点:(1)清晰的安全性证明,即良好的规约特性。格上的困难问题具有从最差情况到平均情况规约的特性,这可以保证解决一个格上随机困难问题实例相当于解决最差情况下的格困难问题,其他密码原型都不具备这种特性。(2)丰富多彩的服务功能。格公钥密码容易实现群签名、盲签名、基于身份的密码系统、分级安全系统和安全多方计算系统等,甚至提供安全的环同态运算。因此,近年来基于格的上述密码体制得到飞速发展。然而,格公钥密码的安全性和效率还严重受制于格上陷门的质量,即陷门基的尺寸和陷门基上高斯抽样的标准偏差。
Micciancio和Peikert两位学者在2012年提出了一种MP12陷门生成方案,这种方案简洁、紧凑、生成陷门的速度快且生成陷门的质量达到了拟最优的程度;同时他们也给出了该陷门上的高斯抽样算法,该高斯抽样算法在保证安全性的同时,很大程度上提高了执行效率。但是这种算法在模数不为2的幂时其执行效率仍然不高,使得运行时间长,且占用空间大,造成签名或私钥生成时会产生更多的时间开销和存储空间消耗。
发明内容
本发明的目的在于针对原高斯抽样算法中在模数不为2的幂时执行效率低下的不足,提出一种执行效率高、运行时间短、占用存储空间小的基于高斯抽样的签名验证方法,以减小签名生成时的时间开销和存储空间消耗。
为实现上述目的,本发明的基于高斯抽样的签名验证方法包括以下步骤:
(1)选择参数,利用密钥生成算法生成签名密钥sk和验证密钥vk:
(1a)从签名消息空间{0,1}l选择需要的签名消息M,其中l为签名消息长度;
(1b)选择生成矩阵使其每个元素服从上的均匀分布,选择陷门矩阵使其每个元素服从子高斯分布,其中q为模数,表示整数模q的环,n为安全参数,为满足的整数,w=nk,k为满足2k-1<q≤2k的整数,表示模q的阶整数矩阵,表示阶整数矩阵;
(1c)令校验矩阵选择l+1个随机矩阵使得每个矩阵的每个元素服从上的均匀分布,其中i=0,1,…,l;选择随机向量使其每个元素服从上的均匀分布,其中表示模q的n×m阶整数矩阵,表示模q的n维整数列向量, 表示模q的n×w阶整数矩阵,表示模q的k维整数行向量;
(1d)令签名密钥sk=R,验证密钥vk=(A,A0,…,Al,u);
(2)利用签名密钥sk生成扩展矩阵AM的陷门矩阵R':
(2a)令和矩阵AΣ=A0+∑i∈[l]MiAi,扩展矩阵其中表示模q的n×m'阶整数矩阵,m'=m+w,Mi∈{0,1},表示签名消息M的第i比特,[l]={1,2,…,l};
(2b)令表示向量分别表示差矩阵G-AΣ的每个列,即[u1,u2,…,uw]=G-AΣ;
(2c)令干扰抽样的协方差矩阵其中s*表示高斯抽样的总偏差,表示线性扩张的协方差矩阵,Rt表示陷门矩阵R的转置矩阵,Iw表示w阶单位矩阵,表示基本高斯抽样的协方差矩阵,σ表示基本高斯抽样的标准偏差,Im表示m阶单位矩阵;
(2d)抽取干扰向量即从中抽取近似服从分布的向量p,其中xt表示向量的转置向量,表示m维整数列向量;
(2e)令校验向量v=u1-Ap,抽取基本向量即从中抽取近似服从分布的向量z,其中表示格的一个陪集,满足Gx=vmodq, 表示w维整数列向量;
(2f)令最终高斯抽样结果其中表示对基本高斯抽样结果z的线性扩张;
(2g)对于i=2,…,w,分别用第i个表示向量ui替换第1个表示向量u1,重复执行步骤(2d)~(2f),得到对应的最终高斯抽样结果yi;
(2h)用y1,y2,…,yw这w个最终高斯抽样结果按列组合成扩展矩阵AM的陷门矩阵R',即R'=[y1,y2,…,yw];
(3)对选择的签名消息M进行签名:
将校验向量v替换为随机向量u,校验矩阵A替换为扩展矩阵AM,陷门矩阵R替换为扩展矩阵AM的陷门矩阵R',校验矩阵A的列数m替换为扩展矩阵AM的列数m',执行步骤(2d)~(2f),得到签名其中表示m'阶整数列向量;
(4)验证签名sign的合法性:
将签名sign的欧几里得范数||sign||与乘积比较,并且验证签名sign是否为线性映射下随机向量u的原像:若且AM·sign=u,则接受该签名sign,否则拒绝。
本发明与现有技术相比,具有如下优点:
本发明无需计算和存储陷门基的施密特正交化矩阵,也无需计算内积,主要计算部分仅仅进行n次以小数为中心的整数高斯抽样和n(k-1)次以整数为中心的整数高斯抽样即可;本发明通过采用这种非球面的基本高斯抽样技术,极大地减少了基于高斯抽样的签名验证方法的计算量,也降低计算过程中的存储空间消耗,因而很大程度上提高了签名的执行效率。
附图说明
图1为本发明使用的场景图;
图2为本发明实现的流程图。
具体实施方式:
下面结合附图对本发明做进一步的描述。
如图1所示,场景中的签名者S对需要签名的消息M进行签名,而验证者V对该签名的合法性进行验证。
参照图2,本发明在图1场景中进行签名的步骤如下:
步骤1,签名者S选择参数,利用密钥生成算法生成签名密钥sk和验证密钥vk。
(1a)从签名消息空间{0,1}l选择需要的签名消息M,其中l为签名消息长度,满足不等式l≤(τ-1)·n,其中τ为q的最小素因子,q为模数且不为2的幂,n为安全参数;
(1b)选择生成矩阵使其每个元素服从上的均匀分布,选择陷门矩阵使其每个元素服从子高斯分布;通常,陷门矩阵R的每个元素以的概率取0,以的概率取1,以的概率取-1,其中表示整数模q的环,为满足的整数,w=nk,k为满足2k-1<q≤2k的整数,表示模q的阶整数矩阵,表示阶整数矩阵;
(1c)令校验矩阵选择l+1个随机矩阵使得每个矩阵的每个元素服从上的均匀分布,其中i=0,1,…,l;选择随机向量使其每个元素服从上的均匀分布,其中 表示模q的n×m阶整数矩阵,表示模q的n维整数列向量, 表示模q的n×w阶整数矩阵,表示模q的k维整数行向量;
(1d)令签名密钥sk=R,验证密钥vk=(A,A0,…,Al,u)。
步骤2,签名者S利用签名密钥sk生成扩展矩阵AM的陷门矩阵R'。
(2a)令和矩阵AΣ=A0+∑i∈[l]MiAi,扩展矩阵其中表示模q的n×m'阶整数矩阵,m'=m+w,Mi∈{0,1},表示签名消息M的第i比特,[l]={1,2,…,l};
(2b)令表示向量分别表示差矩阵G-AΣ的每个列,即[u1,u2,…,uw]=G-AΣ;
(2c)令干扰抽样的协方差矩阵其中Im表示m阶单位矩阵,s*表示高斯抽样的总偏差,满足等式干扰尺寸r为一个大于0的实数,满足不等式 表示线性扩张的协方差矩阵的最小非零特征值,Iw表示w阶单位矩阵,Rt表示陷门矩阵R的转置矩阵,为基本高斯抽样的协方差矩阵,表示基本高斯抽样的标准偏差,表示矩阵的所有列向量的欧几里得范数的最大值,表示矩阵B的施密特正交化矩阵,表示格Λ⊥(G)的一组基,(q0,q1,…,qk-1)为模数q的二进制表示, 表示w维整数列向量,λmin表示矩阵的最小非零特征值,为线性扩张的协方差矩阵的最大特征值;
(2d)抽取干扰向量即从中抽取近似服从分布的向量p:
一种简单的实现方法是从高斯分布中抽取一实数干扰向量p',然后将该实数向量p'的每个分量四舍五入得到整数,得到干扰向量p,其中表示m维实数列向量,xt表示向量的转置向量,表示m维整数列向量;
(2e)令校验向量v=u1-Ap,抽取基本向量即从中抽取近似服从分布的向量z,具体实施步骤如下:
(2e1)将校验向量v表示为分量形式
(2e2)对于校验向量v的第一分量计算v(1)的伪二进制表示使得等式成立,并令中心点c=-v(1)/q;
(2e3)抽取整数y←Dc,σ/2,即从整数中抽取近似服从分布的整数,令中间向量其中ρc,σ/2(x)=exp(-π·||x-c||2/(σ/2)2),
(2e4)对于i=0,1,…,k-2,抽取整数即从集合中抽取近似服从分布的整数,每次抽取结束后将中间向量(v0,v1,…,vk-1)的第i+1个分量vi+1加上这k-1次整数抽样结束后得到k-1个整数x0,x1,…,xk-2;再令整数xk-1=vk-1,然后将x0,x1,…,xk-1这k个整数组合为一个k维整数列向量,得到单次基本高斯抽样向量x(1)=(x0,x1,…,xk-1)t,其中ρσ(x)=exp(-π·||x||2/σ2), 表示奇偶性与vi相同的整数的集合;
(2e5)对于j=2,…,n,用校验向量v的第j个分量v(j)替换校验向量v的第1个分量v(1),重复执行步骤(2e2)~(2e4),得到对应的单次基本高斯抽样向量x(j);
(2e6)将x(1),x(2),…x(n)这n个k维单次基本高斯抽样向量组合为一个w维整数列向量z,得到基本向量z;
(2f)令最终高斯抽样结果其中表示对基本向量z的线性扩张;
(2g)对于i=2,…,w,分别用第i个表示向量ui替换第1个表示向量u1,重复执行步骤(2d)~(2f),得到对应的最终高斯抽样结果yi;
(2h)用y1,y2,…,yw这w个最终高斯抽样结果按列组合成扩展矩阵AM的陷门矩阵R',即R'=[y1,y2,…,yw]。
步骤3,签名者S对选择的签名消息M进行签名。
将校验向量v替换为随机向量u,校验矩阵A替换为扩展矩阵AM,陷门矩阵R替换为扩展矩阵AM的陷门矩阵R',校验矩阵A的列数m替换为扩展矩阵AM的列数m',执行步骤(2d)~(2f),得到签名其中表示m'阶整数列向量。
步骤4,验证者V验证签名sign的合法性。
将签名sign的欧几里得范数||sign||与乘积比较,并且验证签名sign是否为线性映射下随机向量u的原像:若且AM·sign=u,则接受该签名sign,否则拒绝。
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明的内容和原理后,都可能在不背离本发明原理的情况下,进行形式和细节上的各种修改和改变,但这些基于本发明思想的修改和改变仍在本发明的权利要求保护范围之内。
Claims (3)
1.一种基于高斯抽样的签名验证方法,包括如下步骤:
(1)选择参数,利用密钥生成算法生成签名密钥sk和验证密钥vk:
(1a)从签名消息空间{0,1}l选择需要的签名消息M,其中l为签名消息长度;
(1b)选择生成矩阵使其每个元素服从上的均匀分布,选择陷门矩阵使其每个元素服从子高斯分布,其中q为模数,表示整数模q的环,n为安全参数,为满足的整数,w=nk,k为满足2k-1<q≤2k的整数,表示模q的阶整数矩阵,表示阶整数矩阵;
(1c)令校验矩阵选择l+1个随机矩阵使得每个矩阵的每个元素服从上的均匀分布,其中i=0,1,…,l;选择随机向量使其每个元素服从上的均匀分布,其中 表示模q的n×m阶整数矩阵,表示模q的n维整数列向量, 表示模q的n×w阶整数矩阵,表示模q的k维整数行向量;
(1d)令签名密钥sk=R,验证密钥vk=(A,A0,…,Al,u);
(2)利用签名密钥sk生成扩展矩阵AM的陷门矩阵R':
(2a)令和矩阵AΣ=A0+∑i∈[l]MiAi,扩展矩阵其中表示模q的n×m'阶整数矩阵,m'=m+w,Mi∈{0,1},表示签名消息M的第i比特,[l]={1,2,…,l};
(2b)令表示向量分别表示差矩阵G-AΣ的每个列,即[u1,u2,…,uw]=G-AΣ;
(2c)令干扰抽样的协方差矩阵其中s*表示高斯抽样的总偏差,表示线性扩张的协方差矩阵,Rt表示陷门矩阵R的转置矩阵,Iw表示w阶单位矩阵,表示基本高斯抽样的协方差矩阵,σ表示基本高斯抽样的标准偏差,Im表示m阶单位矩阵;
(2d)抽取干扰向量即从中抽取近似服从分布的向量p,其中xt表示向量的转置向量,表示m维整数列向量;
(2e)令校验向量v=u1-Ap,抽取基本向量即从中抽取近似服从分布的向量z,其中 表示格Λ⊥(G)的一个陪集,满足Gx=v mod q, 表示w维整数列向量;
(2f)令最终高斯抽样结果其中表示对基本向量z的线性扩张;
(2g)对于i=2,…,w,分别用第i个表示向量ui替换第1个表示向量u1,重复执行步骤(2d)~(2f),得到对应的最终高斯抽样结果yi;
(2h)用y1,y2,…,yw这w个最终高斯抽样结果按列组合成扩展矩阵AM的陷门矩阵R',即R'=[y1,y2,…,yw];
(3)对选择的签名消息M进行签名:
将校验向量v替换为随机向量u,校验矩阵A替换为扩展矩阵AM,陷门矩阵R替换为扩展矩阵AM的陷门矩阵R',校验矩阵A的列数m替换为扩展矩阵AM的列数m',执行步骤(2d)~(2f),得到签名其中表示m'阶整数列向量;
(4)验证签名sign的合法性:
将签名sign的欧几里得范数||sign||与乘积比较,并且验证签名sign是否为线性映射下随机向量u的原像:若且AM·sign=u,则接受该签名sign,否则拒绝。
2.根据权利要求1所述的方法,其中所述步骤(1a)中的消息长度l满足l≤(τ-1)·n,τ为q的最小素因子,q为模数且不为2的幂。
3.根据权利要求1所述的方法,其中所述步骤(2e)中抽取基本向量具体步骤如下:
(3a)将校验向量v表示为分量形式
(3b)对于校验向量v的第一分量计算v(1)的伪二进制表示使得等式成立,令中心点c=-v(1)/q;
(3c)抽取整数y←Dc,σ2,即从整数中抽取近似服从分布的整数,令中间向量其中ρc,σ2(x)=exp(-π·||x-c||2/(σ/2)2),
(3d)对于i=0,1,…,k-2,抽取整数即从集合中抽取近似服从分布的整数,每次抽取结束后将中间向量(v0,v1,…,vk-1)的第i+1个分量vi+1加上这k-1次整数抽样结束后得到k-1个整数x0,x1,…,xk-2;再令整数xk-1=vk-1,然后将x0,x1,…,xk-1这k个整数组合为一个k维整数列向量,得到单次基本高斯抽样向量x(1)=(x0,x1,…,xk-1)t,其中ρσ(x)=exp(-π·||x||2/σ2), 表示奇偶性与vi相同的整数的集合;
(3e)对于j=2,…,n,用校验向量v的第j个分量v(j)替换校验向量v的第1个分量v(1),重复执行步骤(3b)~(3d),得到对应的单次基本高斯抽样向量x(j);
(3f)将x(1),x(2),…x(n)这n个k维单次基本高斯抽样向量组合为一个w维整数列向量z,得到基本向量z。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305097.7A CN104038347B (zh) | 2014-06-30 | 2014-06-30 | 基于高斯抽样的签名验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305097.7A CN104038347B (zh) | 2014-06-30 | 2014-06-30 | 基于高斯抽样的签名验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038347A CN104038347A (zh) | 2014-09-10 |
CN104038347B true CN104038347B (zh) | 2017-09-05 |
Family
ID=51468944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305097.7A Expired - Fee Related CN104038347B (zh) | 2014-06-30 | 2014-06-30 | 基于高斯抽样的签名验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038347B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3129118C (en) | 2019-02-08 | 2023-07-11 | Visa International Service Association | More efficient post-quantum signatures |
CN109889321B (zh) * | 2019-02-26 | 2020-09-18 | 清华大学 | 一种用于格公钥密码的错误采样方法 |
CN111817853B (zh) * | 2019-09-24 | 2022-06-24 | 中国人民武装警察部队海警学院 | 一种后量子安全的签密算法 |
CN111539027B (zh) * | 2020-07-08 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 一种基于双方隐私保护的信息验证方法和系统 |
CN116319112B (zh) * | 2023-05-24 | 2023-09-22 | 中国人民解放军军事科学院系统工程研究院 | 一种报文完整性验证方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833265A (zh) * | 2012-09-13 | 2012-12-19 | 北京航空航天大学 | 一种基于格理论的签名方案及其安全线性网络编码方法 |
CN103812650A (zh) * | 2012-11-12 | 2014-05-21 | 华为技术有限公司 | 信息处理方法、用户设备和加密设备 |
-
2014
- 2014-06-30 CN CN201410305097.7A patent/CN104038347B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833265A (zh) * | 2012-09-13 | 2012-12-19 | 北京航空航天大学 | 一种基于格理论的签名方案及其安全线性网络编码方法 |
CN103812650A (zh) * | 2012-11-12 | 2014-05-21 | 华为技术有限公司 | 信息处理方法、用户设备和加密设备 |
Non-Patent Citations (1)
Title |
---|
"快速格公钥密码方案的研究";张建航;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140415(第4期);I136-289 * |
Also Published As
Publication number | Publication date |
---|---|
CN104038347A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038347B (zh) | 基于高斯抽样的签名验证方法 | |
CN109660555B (zh) | 基于代理重加密的内容安全分享方法和系统 | |
CN108717514A (zh) | 一种机器学习中的数据隐私保护方法和系统 | |
CN109121134B (zh) | 一种适于无线传感网多应用数据融合的隐私保护和完整性检测方法 | |
CN106972927A (zh) | 一种针对不同安全等级的加密方法及系统 | |
CN112035695B (zh) | 一种适用于移动端的空间数据加密方法 | |
CN113067702B (zh) | 支持密文等值测试功能的身份基加密方法 | |
CN107425955B (zh) | 一种高效可固定维数陷门派生的格上身份基分级加密方法 | |
CN103886235A (zh) | 一种正面人脸图像生物密钥生成方法 | |
CN106161428A (zh) | 一种密文可相等比较的属性加密方案 | |
Chen et al. | Identity-based signature schemes for multivariate public key cryptosystems | |
Chen et al. | Face template protection using deep LDPC codes learning | |
CN107315812A (zh) | 一种云环境下基于词袋模型的图像安全检索方法 | |
CN104168112A (zh) | 一种基于多模态生物特征的密钥生成方法 | |
CN106656459A (zh) | 一种针对sm3‑hmac的侧信道能量分析方法和装置 | |
CN109981265A (zh) | 一种基于身份的不使用双线性对的密文等值判定方法 | |
CN103929425A (zh) | 一种身份注册、身份认证的方法、设备和系统 | |
CN110166238A (zh) | 量子密钥的生成方法及装置 | |
CN105007270B (zh) | 格上多权威的密钥策略基于属性的加密方法 | |
CN105281898A (zh) | 密钥生成装置及方法 | |
CN115514471A (zh) | 利用相乘半群进行数字签名的方法和系统 | |
CN108171262A (zh) | 密文图片类型识别方法、装置、存储介质及处理器 | |
CN104052607B (zh) | 基于非球面高斯抽样的签名验证方法 | |
CN103997409A (zh) | 产生和验证线性同态结构保留签名的加密设备和方法 | |
CN104009847A (zh) | 一种基于格的大数据存储完整性验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170905 |