CN111817853A - 一种后量子安全的签密算法 - Google Patents

一种后量子安全的签密算法 Download PDF

Info

Publication number
CN111817853A
CN111817853A CN201910907793.8A CN201910907793A CN111817853A CN 111817853 A CN111817853 A CN 111817853A CN 201910907793 A CN201910907793 A CN 201910907793A CN 111817853 A CN111817853 A CN 111817853A
Authority
CN
China
Prior art keywords
vector
polynomial
algorithm
hash function
dimensional
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.)
Granted
Application number
CN201910907793.8A
Other languages
English (en)
Other versions
CN111817853B (zh
Inventor
杨孝鹏
李伟春
冯明奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinese People's Armed Police Force Sea Police Academy
Original Assignee
Chinese People's Armed Police Force Sea Police Academy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinese People's Armed Police Force Sea Police Academy filed Critical Chinese People's Armed Police Force Sea Police Academy
Priority to CN201910907793.8A priority Critical patent/CN111817853B/zh
Publication of CN111817853A publication Critical patent/CN111817853A/zh
Application granted granted Critical
Publication of CN111817853B publication Critical patent/CN111817853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种后量子安全的签密算法,包括以下步骤:A、系统设置Setup(1n);B、密钥生成算法KeyGen(1n,PP);C、签密算法Signcrypt(msg∈{0,1}l,sks,pkr);D、解签密算法Unsigncrypt(C,skr,pks),本发明构造通用单向哈希函数,将
Figure DDA0002213803900000011
中的元素映射为Rq中的向量。本发明引入封装的思想,结合划分partitioning技术、盆景树技术和调和技术实现CCA2安全性,利用变色龙哈希函数封闭猜测confined guessing技术实现EUF‑ACMA安全性。

Description

一种后量子安全的签密算法
技术领域
本发明涉及签密算法技术领域,尤其涉及一种后量子安全的签密算法。
背景技术
在数字通信中,隐私性、数据完整性和认证是要实现的主要目标。隐私性是通过公钥加密实现的,而数据完整性和认证是由签名实现。签密是一种基本密码原语,可以同时实现公钥加密和签名。但是现有的签密是基于E1Gamal和双线性对的,其安全性依赖Diffie-Hellman假设。
为了实现后量子安全的签密方案,李发根等人利用原像可抽样函数和格基签名算法构造了一个随机预言机模型(ROM)下的基于格的签密方案。王凤和等人也利用原像可抽样函数和已有的(indistinguishability against adaptive Chosen CiphertextAttacks,IND-CCA2)安全的加密方案构造了一个基于格的后量子安全的签密方案,该方案是在ROM下可证明安全的。2013 年,闫建华等人构造了一个标准模型下安全的基于格的签密方案。在该方案中,闫建华等人首先使用Micciancio和Peikert提出的陷门生成技术构造了一个变色龙哈希函数(chameleon hash function),利用这个变色龙哈希函数将现有的静态选择明文攻击下存在不可伪造安全的(existential unforgeability under staticchosen-message attack,EUF-SCMA)签名方案提升为适应性选择明文攻击下强存在不可伪造安全的(existential unforgeability under adaptive chosen-message attack,EUF-ACMA)签名方案,并且利用一个CCA 安全的对称加密方案和抗碰撞的杂凑函数将现有的IND-CCA1安全的加密方案提升到IND-CCA2安全性。2014年,路秀华等人构造了标准模型下安全的基于格的签密方案,该方案使用Boyen的标准模型下SUF-ACMA安全的签名方案,并且采用双模式加密(bimode encryption)方法破除了密文的延展性 (malleability)。向新银等人设计了一个格上ROM下基于属性的签密方案。最近,路秀华等人在无陷门签名基础上构造了一个IND-CPA安全的格基签密方案,并结合Fujisaki-Okamoto的转换技术将这个IND-CPA安全的签密方案提升为ROM下IND-CCA2安全的基于格的签密方案。虽然ROM简化了安全证明,但Canetti等人指出当随机预言机被具体化为某个Hash函数时,随机预言机模型下可证明安全的方案可能是不安全的。无独有偶,Leurent和Nguyen也指出随机预言机模型存在理论缺陷。因此,设计标准模型下安全的基于格的签密方案是一项重要的目标。Sato和Shikata提出了一个基于格密码的标准模型下签密方案。G′erard和Merckx构造了一个基于格密码的签密方案。Liu等人于 2019年提出了一个随机预言机模型下基于格密码的签密。Zhang等人构造了一个随机预言机模型下基于格密码的多接收者的签密。
下列已有的陷门生成算法和抽样算法是作为本发明调用的子算法:
(陷门基生成算法)存在PPT算法TrapGen,输入参数n,σ=1,
Figure RE-GDA0002655914320000021
和奇素数q,且满足q≡3mod8,其中σ是生成矩阵
Figure RE-GDA0002655914320000022
选取的真随机向量的列数,整数
Figure RE-GDA0002655914320000023
Figure RE-GDA0002655914320000024
m=m1+m2,p=2q-n/2-q-n,随机选取
Figure RE-GDA0002655914320000025
算法以大于等于(1-2q-n/2+q-n)的概率输出
Figure RE-GDA0002655914320000026
和矩阵Ta∈Rm×m,其中
Figure RE-GDA0002655914320000027
是满秩矩阵,
Figure RE-GDA0002655914320000028
是格Λ(rot(aT)T)的陷门基,满足
(1)a与一致分布的统计距离可忽略;
(2)若m1,m2≥log2n,则
Figure RE-GDA0002655914320000029
(左抽样算法)设n为2的幂,素数q>4n,且满足q≡3mod8。存在随机算法e←SampleLeft(a,b,u,Ta,σ)输入向量
Figure RE-GDA0002655914320000031
其中rot(aT)T
Figure RE-GDA0002655914320000032
为满秩矩阵,u∈Rq,矩阵Ta∈Rk×k使得
Figure RE-GDA0002655914320000033
是格Λ(rot(aT)T)的陷门基,高斯参数
Figure RE-GDA0002655914320000034
输出向量
Figure RE-GDA0002655914320000035
即 [a,b]eT=u,
Figure RE-GDA0002655914320000036
(右抽样算法)存在随机算法e←SampleRight(a,gb,R,y,u,
Figure RE-GDA00026559143200000331
s)输入向量
Figure RE-GDA0002655914320000037
其中b=aR+ygb,使得rot(aT)T
Figure RE-GDA0002655914320000038
是满秩矩阵,
Figure RE-GDA0002655914320000039
u∈Rq,矩阵R∈Rm×m
Figure RE-GDA00026559143200000310
使得
Figure RE-GDA00026559143200000311
是Λ(rot(gb))的基,高斯参数
Figure RE-GDA00026559143200000312
输出向量e∈R2m,其分布与
Figure RE-GDA00026559143200000313
统计接近。也即是[a|b]eT=u,
Figure RE-GDA00026559143200000314
(盆景树算法)设n为2的幂,素数q>4n,且满足q≡3mod8。存在确定多项式时间算法ExtBasis(Ta,c=[a,b])输入向量
Figure RE-GDA00026559143200000315
其中
Figure RE-GDA00026559143200000316
Figure RE-GDA00026559143200000317
为满秩矩阵,Ta∈Rm×m满足
Figure RE-GDA00026559143200000318
是格Λ(rot(aT)T)的陷门基,输出矩阵
Figure RE-GDA00026559143200000319
其中
Figure RE-GDA00026559143200000320
是格Λ([rot(aT)T,rot(bT)T]) 的陷门基,且||Tc||GS=||Ta||GS
(原像可抽样算法)SamplePre(a,Ta,u,σ)输入
Figure RE-GDA00026559143200000321
及其陷门基
Figure RE-GDA00026559143200000322
向量u∈Rq,参数σ,该算法首先选取利用线性代数计算出向量
Figure RE-GDA00026559143200000323
其满足at=u(modq)。然后,输出向量
Figure RE-GDA00026559143200000324
其服从模格
Figure RE-GDA00026559143200000325
上离散高斯分布
Figure RE-GDA00026559143200000326
设公开矩阵gb满足
Figure RE-GDA00026559143200000327
并且
Figure RE-GDA00026559143200000328
Figure RE-GDA00026559143200000329
k=k′,b=2。存在确定多项式时间算法
Figure RE-GDA00026559143200000332
输入u∈Rq,输出
Figure RE-GDA00026559143200000330
满足gbP=u。
发明内容
本发明的目的是提供一种后量子安全的签密算法,以解决上述背景技术中提出的问题。引入封装的设计思想,结合划分技术、盆景树技术和调和技术实现CCA2安全性,利用封闭猜测(confined guessing)技术实现EUF-ACMA安全性,在计算和效率两方面取得平衡。
为了实现上述目的,本发明的技术方案是:
一种后量子安全的签密算法,包括以下步骤:
S1、系统设置Setup(1n):设1n为安全参数,生成系统参数PP如下:
(6)奇素数q满足q≡3mod8,m=2k,κ≥2,Φm(x)=xm/2+1是m阶分圆多项式,设
Figure RE-GDA0002655914320000041
Figure RE-GDA0002655914320000042
其中,
Figure RE-GDA0002655914320000043
是整数集合,
Figure RE-GDA0002655914320000044
是变量为x且系数取自
Figure RE-GDA0002655914320000045
的多项式环;
Figure RE-GDA0002655914320000046
是模m阶分圆多项式Φm(x)=xm/2+1生成的整系数多项式环;
Figure RE-GDA0002655914320000047
是模m阶分圆多项式和模q生成的多项式环;
对于向量
Figure RE-GDA0002655914320000048
表示一种代数结构,称为模格;其中*是一种特殊乘法运算,具体运算如下:
Figure RE-GDA0002655914320000049
(2)随机选取
Figure RE-GDA00026559143200000410
随机选取u∈Rq
Figure RE-GDA00026559143200000411
Figure RE-GDA00026559143200000412
b=2,定义矩阵
Figure RE-GDA00026559143200000413
其中,
Figure RE-GDA00026559143200000414
是一种代数结构,它包含的元素是向量,向量的维数是m,向量的每个分量取自多项式环Rq
Figure RE-GDA0002655914320000051
也是一种代数结构,它包含的元素是向量,向量的维数是
Figure RE-GDA0002655914320000052
(其中
Figure RE-GDA0002655914320000053
表示不超过logq的最大整数),向量的每个分量取自多项式环Rq;在
Figure RE-GDA0002655914320000054
中选取3+l个向量
Figure RE-GDA0002655914320000055
从多项式环中取出的多项式u;从
Figure RE-GDA0002655914320000056
中取出的向量d,它的每个分量是Rq中的元素;gb=[1|b|…|bm-1]是一个m维向量,分量依次为1,b,…,bm-1
Figure RE-GDA0002655914320000057
表示行数为n,列数为
Figure RE-GDA0002655914320000058
主对角线上元素为gb的一个矩阵;在这里,我们设置b=2。
(3)H1
Figure RE-GDA0002655914320000059
是通用单向哈希函数;
ρs(x)=exp(-π||x||2/s2)表示标准n维高斯分布,中心为0,方差为s;对于模格L,s>0,模格上离散高斯分布表示为
Figure RE-GDA00026559143200000510
对于关于变量x的多项式环R,
Figure RE-GDA00026559143200000511
表示多项式
Figure RE-GDA00026559143200000512
的分布,其中系数向量 (a0,a1,...,an-1)服从离散高斯分布DL,s抽样。
Figure RE-GDA00026559143200000513
表示m维向量,其每个分量服从分布
Figure RE-GDA00026559143200000514
{0,1}*表示任意长度的比特向量的集合;该通用单向哈希函数是将任意长度比特向量和一个中的向量杂凑,生成
Figure RE-GDA00026559143200000515
中一个向量,这个向量的每个分量服从离散高斯分布
Figure RE-GDA00026559143200000516
(4)H2:{0,1}*→{0,1}l是逐对独立哈希函数;
其中,H2:{0,1}*→{0,1}l:一种哈希函数,输入任意长度比特向量,输出长度为l的比特向量;
(5)H3
Figure RE-GDA00026559143200000517
是通用单向哈希函数,具体构造如下:
Figure RE-GDA00026559143200000518
设H3
Figure RE-GDA00026559143200000519
1)计算
Figure RE-GDA0002655914320000061
这一步调用了调和机制。首先需要介绍调和机制:<·>2q,2是交错凑整函数,把
Figure RE-GDA0002655914320000062
上的元素作用到
Figure RE-GDA0002655914320000063
中的元素,具体操作是
Figure RE-GDA0002655914320000064
Figure RE-GDA0002655914320000065
是模2凑整函数,如果x∈I0∪I1,则
Figure RE-GDA0002655914320000066
否则,
Figure RE-GDA0002655914320000067
Figure RE-GDA0002655914320000068
定义调和函数rec:
Figure RE-GDA0002655914320000069
Figure RE-GDA00026559143200000610
对于奇数q,定义随机化函数dbl:
Figure RE-GDA00026559143200000611
其中
Figure RE-GDA00026559143200000612
是随机向量,并且分别以1/2,1/4,1/4的概率取0,1,-1。
Figure RE-GDA00026559143200000613
是对于向量
Figure RE-GDA00026559143200000614
用随机化函数作用于它的每个分量,然后用模2凑整函数作用,得到的向量。
2)计算
Figure RE-GDA00026559143200000615
这一步中,φ是系数嵌入,它将多项式环R中的元素
Figure RE-GDA00026559143200000616
映射为向量(a0,a1,...,an-1)。其实是将多项式的系数取出,按照顺序排成序列,作为一个系数向量。
Figure RE-GDA00026559143200000617
是对于向量
Figure RE-GDA00026559143200000618
用随机化函数作用于它的每个分量,然后用模2凑整函数作用,最后用系数嵌入,得到的向量,再和随机比特向量做水平方向连接,得到的新比特向量。
3)不妨设b′∈{0,1}k′;随机取b0,bi,jRRq,(i,j)∈[d]×[k′1/d],计算哈希函数
Figure RE-GDA00026559143200000619
其中,
Figure RE-GDA00026559143200000620
其中
Figure RE-GDA0002655914320000071
是确定多项式时间算法,输入u∈Rq,输出
Figure RE-GDA0002655914320000072
满足gbP=u;
这一步中,
Figure RE-GDA0002655914320000073
是同态计算函数,其实是一种迭代算法:当d=1时,输出
Figure RE-GDA0002655914320000074
当d=2,
Figure RE-GDA0002655914320000075
其中
Figure RE-GDA0002655914320000076
输入
Figure RE-GDA0002655914320000077
输出向量α,该向量满足
Figure RE-GDA0002655914320000078
所以,
Figure RE-GDA0002655914320000079
其中向量α,该向量满足
Figure RE-GDA00026559143200000710
依次类推,迭代计算这个同态计算函数。
(7)变色龙哈希函数
Figure RE-GDA00026559143200000711
公布公钥
Figure RE-GDA00026559143200000712
保密私钥
Figure RE-GDA00026559143200000713
其中
Figure RE-GDA00026559143200000714
是格
Figure RE-GDA00026559143200000715
的陷门基;函数输入
Figure RE-GDA00026559143200000716
输出
Figure RE-GDA00026559143200000717
步骤解释:符号
Figure RE-GDA00026559143200000718
表示一个映射,其将多项式a(x)∈R映射成
Figure RE-GDA00026559143200000719
中的矩阵,第i行向量为
Figure RE-GDA00026559143200000720
是用映射
Figure RE-GDA00026559143200000721
作用于矩阵
Figure RE-GDA00026559143200000722
的每个表元,实质是把每个表元多项式 a(x)∈R映射成
Figure RE-GDA00026559143200000723
中的矩阵,那么从整体上看,就是一个mn×mn阶矩阵。这一步中,先调用陷门基生成算法TrapGen生成格
Figure RE-GDA00026559143200000724
的陷门基
Figure RE-GDA00026559143200000725
是变色龙哈希函数的公钥,这是向量
Figure RE-GDA00026559143200000726
和向量
Figure RE-GDA00026559143200000727
的水平方向连接。
Figure RE-GDA00026559143200000728
是变色龙哈希函数的私钥,具体是一个m×m阶矩阵,其中所有的表元取自多项式环Rq
Figure RE-GDA00026559143200000729
变色龙哈希函数输入
Figure RE-GDA00026559143200000730
计算
Figure RE-GDA00026559143200000731
因为
Figure RE-GDA00026559143200000732
Figure RE-GDA00026559143200000733
中的m维向量,h是离散高斯分布
Figure RE-GDA00026559143200000734
上抽样得到的m维向量,这里
Figure RE-GDA00026559143200000735
的计算是将两个m维向量对应的分量(每个分量都是多项式环Rq中的一个多项式) 相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β。同理,因为
Figure RE-GDA0002655914320000081
Figure RE-GDA00026559143200000811
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-GDA0002655914320000083
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作γ。最后计算β+γ。
(7)高级对称加密算法AES算法∑=(EK,DK);
这一步中,EK表示高级对称加密算法的加密部分,DK表示高级对称加密算法的解密部分。
S2、密钥生成KeyGen(1n,PP):输入安全参数n和系统生成的参数PP,输出签密方的公私钥、解签密方的公私钥。
S3、签密Signcrypt(msg∈{0,1}l,sks,pkr):输入要签密的消息msg、签密方的私钥sks、解签密方的公钥pkr,输出签密密文。
S4、解签密Unsigncrypt(C,skr,pks):输入密文、解签密方私钥skr、签密方的公钥pks,输出被签密的消息。
2、如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤 S2中,运行陷门生成算法TrapGen生成签密方的公私钥对
Figure RE-GDA0002655914320000084
生成解签密方的公私钥对
Figure RE-GDA0002655914320000085
其中,
Figure RE-GDA0002655914320000086
是格
Figure RE-GDA0002655914320000087
的陷门基,
Figure RE-GDA0002655914320000088
是格
Figure RE-GDA0002655914320000089
的陷门基。
3、如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤 S3中包括如下步骤:
a、计算
Figure RE-GDA00026559143200000812
这一步,哈希函数输入消息msg、解签密方的公钥
Figure RE-GDA0002655914320000091
输出服从离散高斯分布
Figure RE-GDA0002655914320000092
的向量h。
b、随机选取τ←U({0,1}l),计算
Figure RE-GDA0002655914320000093
调用算法
Figure RE-GDA0002655914320000094
利用
Figure RE-GDA0002655914320000095
计算出
Figure RE-GDA0002655914320000096
的陷门基Tτ∈R2m
这一步,τ←U({0,1}l)表示从长度为l的比特向量集合{0,1}l上均匀抽样一个比特向量τ。τ[i]表示比特向量τ的第i个分量元素,
Figure RE-GDA0002655914320000097
表示第i个分量元素τ[i]和向量
Figure RE-GDA0002655914320000098
的每个分量相乘,得到的是
Figure RE-GDA0002655914320000099
中一个元素,
Figure RE-GDA00026559143200000932
表示将l 个是
Figure RE-GDA00026559143200000910
中的元素相加,得到仍是
Figure RE-GDA00026559143200000911
中一个元素,再和发送方的公钥
Figure RE-GDA00026559143200000912
水平方向连接。得到
Figure RE-GDA00026559143200000913
中的一个元素。调用盆景树算法
Figure RE-GDA00026559143200000914
输入模格
Figure RE-GDA00026559143200000915
及其陷门基Tτ∈R2m,生成模格
Figure RE-GDA00026559143200000916
的陷门基Tτ∈R2m
c、随机抽样
Figure RE-GDA00026559143200000917
计算变色龙哈希函数值如下:
Figure RE-GDA00026559143200000918
这个变色龙哈希函数值用来定义uM=u+d·bin(cM)∈Rq,其中
Figure RE-GDA00026559143200000919
利用陷门基Tτ求解方程:
Figure RE-GDA00026559143200000920
的短向量解
Figure RE-GDA00026559143200000921
这一步实质是调用算法
Figure RE-GDA00026559143200000922
输出向量
Figure RE-GDA00026559143200000923
最后输出签名
Figure RE-GDA00026559143200000924
这一步,在离散高斯分布
Figure RE-GDA00026559143200000925
上抽样向量s1
Figure RE-GDA00026559143200000926
是变色龙哈希函数的公钥,这是向量
Figure RE-GDA00026559143200000927
和向量
Figure RE-GDA00026559143200000928
的水平方向连接。
Figure RE-GDA00026559143200000929
是变色龙哈希函数的私钥,具体是一个m×m阶矩阵,其中所有的表元取自多项式环 Rq
Figure RE-GDA00026559143200000930
变色龙哈希函数输入
Figure RE-GDA00026559143200000931
计算
Figure RE-GDA0002655914320000101
因为
Figure RE-GDA0002655914320000102
Figure RE-GDA0002655914320000103
中的m维向量,h是离散高斯分布
Figure RE-GDA0002655914320000104
上抽样得到的m维向量,这里
Figure RE-GDA0002655914320000105
的计算是将两个m维向量对应的分量(每个分量都是多项式环Rq中的一个多项式)相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β。同理,因为
Figure RE-GDA0002655914320000106
Figure RE-GDA0002655914320000107
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-GDA0002655914320000108
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作γ。最后计算β+γ。bin(cM)是将多项式cM的每个系数用二进制展开,得到长度为
Figure RE-GDA00026559143200001027
的比特向量,因为d是
Figure RE-GDA0002655914320000109
中的向量,可以看成是
Figure RE-GDA00026559143200001010
维的向量,d·bin(cM)是将两个向量对应分量相乘,相乘的结果再相加,得到Rq中一个向量。
c、解析v为
Figure RE-GDA00026559143200001011
随机选取s2RRq,抽样
Figure RE-GDA00026559143200001012
随机取r2∈{0,1}l,设c0=H3(r2,v1)依次计算w=s2c0+e2∈Rq
Figure RE-GDA00026559143200001014
Figure RE-GDA00026559143200001015
这一步,因为v是
Figure RE-GDA00026559143200001016
中的向量,
Figure RE-GDA00026559143200001017
表示在水平方向上将向量v分割成两个
Figure RE-GDA00026559143200001018
中的向量。c0=H3(r2,v1)表示哈希函数H3作用于比特向量r2和向量v1,得到c0。w=s2c0+e2表示将向量s2与向量c0相乘,相乘结果与噪声向量e2相加,得到Rq中一个向量。
Figure RE-GDA00026559143200001019
表示随机化函数作用于向量w,得到向量
Figure RE-GDA00026559143200001020
表示交错凑整函数作用于向量
Figure RE-GDA00026559143200001021
得到信号向量c1
Figure RE-GDA00026559143200001022
表示模2凑整函数作用于向量w,得到向量c2
(4)设
Figure RE-GDA00026559143200001023
计算
Figure RE-GDA00026559143200001024
这一步,c3=H1(c1,v2)表示哈希函数H1作用于信号向量c1和向量v2,得到向量c3
Figure RE-GDA00026559143200001025
表示将向量
Figure RE-GDA00026559143200001026
和向量c3在水平方向上连接组成向量E。
(5)抽样
Figure RE-GDA0002655914320000111
计算
Figure RE-GDA0002655914320000112
这一步,
Figure RE-GDA0002655914320000113
表示从m维离散高斯分布
Figure RE-GDA0002655914320000114
上分别抽样向量e3,1和e3,2,并将它们水平方向放置,组成向量e3。c4=s2E+e3:用向量s2分别乘以向量E的两个分量,得到的结果再和向量e3的分量对应相加,得到
Figure RE-GDA0002655914320000115
中一个新向量。
(6)计算
Figure RE-GDA0002655914320000116
最后,输出密文
C=(τ,c0,c1,c3,c4,c5)。
这一步,将H2(c2)作为AES加密算法的密钥,将消息msg、向量v2的系数嵌入得到的向量、向量s1系数嵌入得到的向量、比特向量r2水平方向连接构成的比特串作为AES算法的输入,AES算法输出比特串c5。将标签τ、向量c0、向量c1、向量c3、向量c4、向量c5组成签密密文。
4、如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤 S4包括如下步骤:
(1)计算
Figure RE-GDA0002655914320000117
这一步,
Figure RE-GDA0002655914320000118
表示将向量
Figure RE-GDA0002655914320000119
和向量c3在水平方向上连接组成向量E。
(7)抽样向量
Figure RE-GDA00026559143200001110
其中矩阵
Figure RE-GDA00026559143200001111
的每列向量服从分布
Figure RE-GDA00026559143200001112
这一步,在
Figure RE-GDA00026559143200001113
上的离散高斯分布上抽样向量
Figure RE-GDA00026559143200001114
(8)利用
Figure RE-GDA00026559143200001115
求出方程
Figure RE-GDA00026559143200001116
的短向量解
Figure RE-GDA00026559143200001117
这一步,
Figure RE-GDA00026559143200001118
是先计算c3
Figure RE-GDA00026559143200001119
的乘积,再用c0减去c3
Figure RE-GDA00026559143200001120
的乘积,得到一个差值,记作
Figure RE-GDA0002655914320000121
调用算法
Figure RE-GDA0002655914320000122
输入模格
Figure RE-GDA0002655914320000123
及其陷门基
Figure RE-GDA0002655914320000124
求解满足条件
Figure RE-GDA0002655914320000125
的解
Figure RE-GDA0002655914320000126
(9)计算
Figure RE-GDA0002655914320000127
这一步,
Figure RE-GDA0002655914320000128
是将两个噪声向量
Figure RE-GDA0002655914320000129
Figure RE-GDA00026559143200001210
的竖直放置,用向量c4乘以噪声向量
Figure RE-GDA00026559143200001211
得到向量w1
Figure RE-GDA00026559143200001212
是用调和函数作用于向量w1和向量c1,恢复出
Figure RE-GDA00026559143200001213
(10)计算
Figure RE-GDA00026559143200001214
这一步,将
Figure RE-GDA00026559143200001215
作为AES解密算法的密钥,输入c5,将输出结果在水平方向上进行分割,得到
Figure RE-GDA00026559143200001216
(11)恢复
Figure RE-GDA00026559143200001217
解析
Figure RE-GDA00026559143200001218
验证下列条件:若c3≠H3(c1,v2(x)),则输出错误符号⊥,否则,继续;若 c0≠H3(r2,v1(x)),则输出错误符号⊥,否则,继续;若
Figure RE-GDA00026559143200001219
则输出错误符号⊥。否则,继续;
这一步,
Figure RE-GDA00026559143200001220
是将系数嵌入反作用于φ(v)得到对应的多项式
Figure RE-GDA00026559143200001221
是将
Figure RE-GDA00026559143200001222
分割成两部分v1和v2
(7)计算
Figure RE-GDA00026559143200001223
建立
Figure RE-GDA00026559143200001224
再验证下列两个条件是否成立:
Figure RE-GDA00026559143200001225
若都成立,则输出消息msg,否则,输出错误符号⊥。
这一步,用哈希函数H1作用于解签密得到的信息msg和
Figure RE-GDA0002655914320000131
杂凑为
Figure RE-GDA0002655914320000132
上的一个向量h。因为
Figure RE-GDA0002655914320000133
Figure RE-GDA0002655914320000134
中的m维向量,h是离散高斯分布上抽样得到的m 维向量,这里
Figure RE-GDA0002655914320000135
的计算是将两个m维向量对应的分量(每个分量都是多项式环Rq中的一个多项式)相乘得到m个多项式环Rq中的多项式,然后把这m 个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β。同理,因为
Figure RE-GDA0002655914320000136
Figure RE-GDA0002655914320000137
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-GDA0002655914320000138
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环 Rq中的一个多项式,记作γ。最后计算β+γ。
与现有技术相比,本发明具有的优点和积极效果是:
本发明利用同态计算函数构造通用单向哈希函数,它的作用是将
Figure RE-GDA0002655914320000139
中的元素映射为Rq中的向量,其本质上是采用划分(partitioning) 技术;本发明在模格上构造变色龙哈希函数,它把
Figure RE-GDA00026559143200001310
中元素杂凑为Rq中的向量,签密的CCA2安全性依赖于变色龙哈希函数的碰撞稳固性、变色龙特性和一致性。一般来说,实现适应性安全有两种思路:第一,使用对偶加密系统。目前还没有基于模格上的对偶加密系统。即使构造出对偶加密系统,其计算效率也很低。第二,使用划分(partitioning)技术。本技术发明采用划分的技术。有两种方法可以将非适应性安全的签名转化为适应性安全的签名:第一,使用一次签名技术。但是,基于格密码的一次签名是在随机预言机模型下构造的。随机预言机模型存在安全隐患。第二,使用变色龙哈希函数。本发明采用构造变色龙哈希函数方法。
此外,本发明引入封装的设计思想,结合划分技术、盆景树技术和调和技术实现CCA2安全性,利用封闭猜测(confined guessing)技术实现EUF-ACMA 安全性。在计算和效率两方面取得平衡。
附图说明
为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程示意图;
图2为公钥尺寸对比仿真示意图;
图3为私钥尺寸对比仿真示意图;
图4为密文开销对比仿真示意图。
具体实施方式
下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。
如图1,图1为发明的流程示意图;本发明的后量子安全的签密算法,包括以下步骤:
S1、系统设置Setup(1n):设1n为安全参数,生成系统参数PP如下:
(1)奇素数q满足q≡3mod8,m=2k,κ≥2,Φm(x)=xm/2+1是m阶分圆多项式,设
Figure RE-GDA0002655914320000141
Figure RE-GDA0002655914320000142
(2)随机选取
Figure RE-GDA0002655914320000151
其中l=O(n),随机选取u,d∈Rq;取
Figure RE-GDA0002655914320000152
b=2,定义矩阵:
Figure RE-GDA0002655914320000153
(3)H1
Figure RE-GDA0002655914320000154
是通用单向哈希函数;
(4)H2:{0,1}*→{0,1}L是逐对独立哈希函数;
(5)H3
Figure RE-GDA0002655914320000155
是通用单向哈希函数,具体构造如下:
Figure RE-GDA0002655914320000156
Figure RE-GDA0002655914320000157
1)计算
Figure RE-GDA0002655914320000158
2)计算
Figure RE-GDA0002655914320000159
不妨设 b′∈{0,1}k′:随机取b0,bi,jRRq,(i,j)∈[d]×[k′1/d],计算哈希函数
Figure RE-GDA00026559143200001510
其中,
Figure RE-GDA00026559143200001511
其中
Figure RE-GDA00026559143200001512
是确定多项式时间算法,输入u∈Rq,输出
Figure RE-GDA00026559143200001513
满足gbP=u;
(6)变色龙哈希函数
Figure RE-GDA00026559143200001514
公布公钥
Figure RE-GDA00026559143200001515
保密私钥
Figure RE-GDA00026559143200001516
其中
Figure RE-GDA00026559143200001517
是格
Figure RE-GDA00026559143200001518
的陷门基。函数输入
Figure RE-GDA00026559143200001519
输出
Figure RE-GDA00026559143200001520
(7)高级对称加密算法AES算法∑=(EK,DK)
S2、密钥生成KeyGen(1n,PP);
S3、签密Signcrypt(msg∈{0,1}l,sks,pkr);
S4、解签密Unsigncrypt(C,skr,pks)。
所述步骤S2中,运行TrapGen算法生成发送者的公私钥对
Figure RE-GDA0002655914320000161
生成接收者的公私钥对
Figure RE-GDA0002655914320000162
其中,
Figure RE-GDA0002655914320000163
是格
Figure RE-GDA0002655914320000164
的陷门基,
Figure RE-GDA0002655914320000165
是格
Figure RE-GDA0002655914320000166
的陷门基。
所述步骤S3中包括如下步骤:
a、计算
Figure RE-GDA0002655914320000167
b、随机选取τ←U({0,1}l),计算
Figure RE-GDA0002655914320000168
调用算法
Figure RE-GDA0002655914320000169
利用
Figure RE-GDA00026559143200001621
计算出
Figure RE-GDA00026559143200001611
的陷门基Tτ∈R2m;其中,
Figure RE-GDA00026559143200001612
是格
Figure RE-GDA00026559143200001613
的陷门基;
c、随机抽样
Figure RE-GDA00026559143200001614
计算变色龙哈希函数值如下:
Figure RE-GDA00026559143200001615
这个变色龙哈希函数值用来定义uM=u+d·bin(cM)∈Rq,其中
Figure RE-GDA00026559143200001616
利用陷门基Tτ求解方程:
Figure RE-GDA00026559143200001617
的短向量解
Figure RE-GDA00026559143200001618
这一步实质是调用算法
Figure RE-GDA00026559143200001619
输出向量
Figure RE-GDA00026559143200001620
最后输出签名
Figure RE-GDA0002655914320000171
下面检验其三条性质:
碰撞稳固性:假设存在碰撞
Figure RE-GDA0002655914320000172
Figure RE-GDA0002655914320000173
Figure RE-GDA0002655914320000174
的解,并且
Figure RE-GDA0002655914320000175
Figure RE-GDA0002655914320000176
可解。假设错误,故
Figure RE-GDA0002655914320000177
碰撞稳固。
陷门碰撞:输入
Figure RE-GDA0002655914320000178
求解
Figure RE-GDA0002655914320000179
使得
Figure RE-GDA00026559143200001710
也就是求解短向量s1′满足方程
Figure RE-GDA00026559143200001711
存在概率多项式时间算法输出陷门基
Figure RE-GDA00026559143200001712
利用算法
Figure RE-GDA00026559143200001713
求解短向量
Figure RE-GDA00026559143200001714
一致性:因为
Figure RE-GDA00026559143200001715
可得
Figure RE-GDA00026559143200001716
的分布与R上均匀分布统计接近。另一方面,因为
Figure RE-GDA00026559143200001730
可得
Figure RE-GDA00026559143200001718
的分布与R上均匀分布统计接近。可得
Figure RE-GDA00026559143200001719
的输出分布与R上均匀分布统计接近。
d、解析v为
Figure RE-GDA00026559143200001720
随机选取s2RRq,抽样
Figure RE-GDA00026559143200001721
随机取r2∈{0,1}l,设
Figure RE-GDA00026559143200001722
依次计算w=s2c0+e2∈Rq
Figure RE-GDA00026559143200001723
Figure RE-GDA00026559143200001724
(1)设
Figure RE-GDA00026559143200001725
计算
Figure RE-GDA00026559143200001726
(2)抽样
Figure RE-GDA00026559143200001727
计算
Figure RE-GDA00026559143200001728
(3)计算
Figure RE-GDA00026559143200001729
最后,输出密文C=(τ,c0,c1,c3,c4,c5)。
作为对上述技术方案的改进,所述步骤S4包括如下步骤:
(1)计算
Figure RE-GDA0002655914320000181
(2)抽样向量
Figure RE-GDA0002655914320000182
其中矩阵
Figure RE-GDA0002655914320000183
的每列向量服从分布
Figure RE-GDA0002655914320000184
(1)利用
Figure RE-GDA0002655914320000185
求出方程
Figure RE-GDA0002655914320000186
的短向量解
Figure RE-GDA0002655914320000187
(2)计算
Figure RE-GDA0002655914320000188
(3)计算
Figure RE-GDA0002655914320000189
(4)恢复
Figure RE-GDA00026559143200001810
解析
Figure RE-GDA00026559143200001811
验证下列条件:若c3≠H3(c1,v2(x)),则输出错误符号⊥,否则,继续;若c0≠H3(r2,v1(x)),则输出错误符号⊥,否则,继续;若
Figure RE-GDA00026559143200001812
则输出错误符号⊥。否则,继续;
(5)计算
Figure RE-GDA00026559143200001813
建立
Figure RE-GDA00026559143200001814
再验证下列两个条件是否成立:
Figure RE-GDA00026559143200001815
若都成立,则输出消息msg,否则,输出错误符号⊥。
正确性分析
Figure RE-GDA00026559143200001816
时,接收者能够以压倒性的概率正确解签密。
证明
观察发现
Figure RE-GDA0002655914320000191
经计算,得到
Figure RE-GDA0002655914320000192
不妨设
Figure RE-GDA0002655914320000193
Figure RE-GDA0002655914320000194
中选取的随机噪声,则有
Figure RE-GDA0002655914320000195
Figure RE-GDA0002655914320000196
Figure RE-GDA0002655914320000197
接收者能够以压倒性的概率正确解签密。
性能分析
下面从四个方面进行性能分析:公钥尺寸、私钥尺寸、密文开销、算法运行时间。设所有哈希函数的输出都是128比特。随机数长度是128比特。
(1)计算开销
用th表示哈希函数运行时间,td表示矩阵乘法时间,tp表示多项式乘法时间,tg表示高斯抽样时间。我们在64位Windows 10 Thinkpad X1笔记本和64 位Ubuntu 14.4 LTSThink Center台式机上使用C/C++PBC库实现了这些加密操作,见Table 1。
Table 1.Time For Cryptography Operation
Cryptography Operation Time
t<sub>h</sub> 0.3ms
t<sub>d</sub> 0.27ms
t<sub>p</sub> 0.44ms
t<sub>g</sub> 0.52ms
Table 2显示了当设置相同的参数n=256,m=512,q=4093时,我们的签密算法与其它基于格密码的签密算法的运行时间对比。
Table 2.Comparison Of Execution Time
KeyGen Signcryption Unsigncryption
[10] 670ms 2212ms 2228ms
[12] 115343ms 69369ms 356515ms
[13] 533ms 912ms 988ms
[20] 808ms 2153ms 1570ms
[21] 624ms 1842ms 622ms
[22] 399ms 757ms 450ms
[23] 604ms 677ms 677ms
Ours 266ms 644ms 716ms
(2)通信开销
在Table 3中,q表示模数,n表示格的维数。公钥尺寸是关于q和n的一个函数。在Table 4中,密文开销是关于q和n的一个函数。对Table 3和Table 4中q和n进行具体赋值:q=277063,n=540,可以计算出具体的公钥尺寸、私钥尺寸和密文开销。
Table 3.Comparison Of PK/SK Sizes
Figure RE-GDA0002655914320000211
Table 4.Comparison Of Ciphertext Overhead
Ciphertext Overhead
[6] n+6n log<sup>2</sup> q
[8] n(6nlog<sup>2</sup> q+1)log q
[10] n(3log q+2log 2q+3)log q
[12] 2n(n+5)log<sup>2</sup> q
[13] 24n log<sup>2</sup> q
[20] n+(128+3n+6log(2n log q log n))n log q
[21] 256+2n<sup>2</sup>(1+log q)log q
[22] 128+2n<sup>2</sup>+4n<sup>2</sup>log<sup>2</sup> q
[23] 796+36n<sup>2</sup> log<sup>3</sup> q
Ours 2n+n(1+3log q)log q
为了更直观地看出效能,我们设置模数q=277063,取不同的维数n。通过仿真,在图2、图3、图4中可以得到几个签密算法(YWL方案、SS方案、GM方案、LHY方案、ZXX方案)的性能对比。图2中,横坐标表示格的维数,纵坐标表示公钥尺寸(单位是KB)。图3中,横坐标表示格的维数,纵坐标表示私钥尺寸(单位是KB)。图4中,横坐标表示格的维数,纵坐标表示密文开销(单位是KB)。从三个图中不难看出我们的签密算法公钥尺寸、私钥尺寸和密文开销低于现有的基于格密码构造的签密。
本发明利用同态计算函数构造通用单向哈希函数,它的作用是将
Figure RE-GDA0002655914320000221
中的元素映射为Rq中的向量。其本质上是采用划分 (partitioning)技术;本发明在模格上构造变色龙哈希函数,它把
Figure RE-GDA0002655914320000222
中元素杂凑为Rq中的向量,签密的CCA2安全性依赖于变色龙哈希函数的碰撞稳固性、变色龙特性和一致性。一般来说,实现适应性安全有两种思路:第一,使用对偶加密系统。目前还没有基于模格上的对偶加密系统。即使构造出对偶加密系统,其计算效率也很低。第二,使用划分(partitioning)技术。
本技术发明采用划分的技术。有两种方法可以将非适应性安全的签名转化为适应性安全的签名:第一,使用一次签名技术。但是,基于格密码的一次签名是在随机预言机模型下构造的。随机预言机模型存在安全隐患。第二,使用变色龙哈希函数。本发明采用构造变色龙哈希函数方法。此外,本发明引入封装的设计思想,结合划分技术、盆景树技术和调和技术实现CCA2安全性,利用封闭猜测(confined guessing)技术实现EUF-ACMA安全性。在计算和效率两方面取得平衡。

Claims (5)

1.一种后量子安全的签密算法,其特征在于:包括以下步骤:
S1、系统设置setup(1n):设1n为安全参数,生成系统参数PP如下:
(1)奇素数q满足q≡3mod8,m=2k,κ≥2,Φm(x)=xm/2+1是m阶分圆多项式,设
Figure RE-FDA0002655914310000011
Figure RE-FDA0002655914310000012
其中,
Figure RE-FDA0002655914310000013
是整数集合,
Figure RE-FDA0002655914310000014
是变量为x且系数取自
Figure RE-FDA0002655914310000015
的多项式环;
Figure RE-FDA0002655914310000016
是模m阶分圆多项式Φm(x)=xm/2+1生成的整系数多项式环;
Figure RE-FDA0002655914310000017
是模m阶分圆多项式和模q生成的多项式环;
对于向量
Figure RE-FDA0002655914310000018
Figure RE-FDA0002655914310000019
表示一种代数结构,称为模格;其中*是一种特殊乘法运算,具体运算如下:
Figure RE-FDA00026559143100000110
(2)随机选取
Figure RE-FDA00026559143100000111
其中l=O(n),随机选取u,d∈Rq;取
Figure RE-FDA00026559143100000112
Figure RE-FDA00026559143100000113
b=2,定义矩阵
Figure RE-FDA00026559143100000114
其中,
Figure RE-FDA00026559143100000115
是一种代数结构,它包含的元素是向量,向量的维数是m,向量的每个分量取自多项式环Rq
Figure RE-FDA00026559143100000116
也是一种代数结构,它包含的元素是向量,向量的维数是
Figure RE-FDA00026559143100000117
向量的每个分量取自多项式环Rq;在
Figure RE-FDA00026559143100000118
中选取3+l个向量
Figure RE-FDA00026559143100000119
从多项式环中取出的多项式u;从
Figure RE-FDA00026559143100000120
中取出的向量d,它的每个分量是Rq中的元素;gb=[1|b|…|bm-1]是一个m维向量,分量依次为1,b,…,bm-1
Figure RE-FDA00026559143100000121
表示行数为n,列数为
Figure RE-FDA00026559143100000122
主对角线上元素为gb的一个矩阵;在这里,我们设置b=2;
(3)
Figure RE-FDA0002655914310000021
是通用单向哈希函数;
ρs(x)=exp(-π||x||2/s2)表示标准n维高斯分布,中心为0,方差为s;对于模格L,s>0,模格上离散高斯分布表示为
Figure RE-FDA0002655914310000022
对于关于变量x的多项式环R,
Figure RE-FDA0002655914310000023
表示多项式
Figure RE-FDA0002655914310000024
的分布,其中系数向量(a0,a1,...,an-1)服从离散高斯分布DL,s抽样;
Figure RE-FDA0002655914310000025
表示m维向量,其每个分量服从分布
Figure RE-FDA0002655914310000026
{0,1}*表示任意长度的比特向量的集合;该通用单向哈希函数是将任意长度比特向量和一个中的向量杂凑,生成
Figure RE-FDA0002655914310000027
中一个向量,这个向量的每个分量服从离散高斯分布
Figure RE-FDA0002655914310000028
(4)H2:{0,1}*→{0,1}L是逐对独立哈希函数;
其中,H2:{0,1}*→{0,1}l是一种哈希函数,输入任意长度比特向量,输出长度为l的比特向量;
(5)
Figure RE-FDA0002655914310000029
是通用单向哈希函数,具体构造如下:
Figure RE-FDA00026559143100000210
Figure RE-FDA00026559143100000211
1)计算
Figure RE-FDA00026559143100000212
<·>2q,2是交错凑整函数,把
Figure RE-FDA00026559143100000213
上的元素作用到
Figure RE-FDA00026559143100000214
中的元素,具体操作是
Figure RE-FDA00026559143100000215
Figure RE-FDA00026559143100000216
是模2凑整函数,如果x∈I0∪I1,则
Figure RE-FDA00026559143100000217
否则,
Figure RE-FDA00026559143100000218
定义调和函数
Figure RE-FDA00026559143100000219
Figure RE-FDA0002655914310000031
对于奇数q,定义随机化函数
Figure RE-FDA0002655914310000032
其中
Figure RE-FDA0002655914310000033
是随机向量,并且分别以1/2,1/4,1/4的概率取0,1,-1;
Figure RE-FDA0002655914310000034
是对于向量
Figure RE-FDA0002655914310000035
用随机化函数作用于它的每个分量,然后用模2凑整函数作用,得到的向量;
2)计算
Figure RE-FDA0002655914310000036
φ是系数嵌入,它将多项式环R中的元素
Figure RE-FDA0002655914310000037
映射为向量(a0,a1,...,an-1);其实是将多项式的系数取出,按照顺序排成序列,作为一个系数向量;
Figure RE-FDA0002655914310000038
是对于向量
Figure RE-FDA0002655914310000039
用随机化函数作用于它的每个分量,然后用模2凑整函数作用,最后用系数嵌入,得到的向量,再和随机比特向量做水平方向连接,得到的新比特向量;
3)不妨设b′∈{0,1}k′;随机取b0,bi,jRRq,(i,j)∈[d]×[k′1/d],计算哈希函数
Figure RE-FDA00026559143100000310
其中,
Figure RE-FDA00026559143100000327
Figure RE-FDA00026559143100000312
是确定多项式时间算法,输入u∈Rq,输出
Figure RE-FDA00026559143100000313
满足gbP=u;
Figure RE-FDA00026559143100000314
是同态计算函数,其实是一种迭代算法:当d=1时,输出
Figure RE-FDA00026559143100000315
当d=2,
Figure RE-FDA00026559143100000316
其中
Figure RE-FDA00026559143100000317
输入
Figure RE-FDA00026559143100000318
输出向量α,该向量满足
Figure RE-FDA00026559143100000319
所以,
Figure RE-FDA00026559143100000320
其中向量α,该向量满足
Figure RE-FDA00026559143100000321
依次类推,迭代计算这个同态计算函数;
(6)变色龙哈希函数
Figure RE-FDA00026559143100000322
公布公钥
Figure RE-FDA00026559143100000323
保密私钥
Figure RE-FDA00026559143100000324
其中
Figure RE-FDA00026559143100000325
是格
Figure RE-FDA00026559143100000326
的陷门基;函数输入
Figure RE-FDA0002655914310000041
输出
Figure RE-FDA0002655914310000042
符号
Figure RE-FDA0002655914310000043
表示一个映射,其将多项式a(x)∈R映射成
Figure RE-FDA0002655914310000044
中的矩阵,第i行向量为
Figure RE-FDA0002655914310000045
Figure RE-FDA0002655914310000046
是用映射
Figure RE-FDA0002655914310000047
作用于矩阵
Figure RE-FDA0002655914310000048
的每个表元,实质是把每个表元多项式a(x)∈R映射成
Figure RE-FDA0002655914310000049
中的矩阵,那么从整体上看,就是一个mn×mn阶矩阵;这一步中,先调用陷门基生成算法TrapGen生成格
Figure RE-FDA00026559143100000410
的陷门基
Figure RE-FDA00026559143100000411
Figure RE-FDA00026559143100000412
是变色龙哈希函数的公钥,这是向量
Figure RE-FDA00026559143100000413
和向量
Figure RE-FDA00026559143100000414
的水平方向连接;
Figure RE-FDA00026559143100000415
是变色龙哈希函数的私钥,具体是一个m×m阶矩阵,其中所有的表元取自多项式环Rq
Figure RE-FDA00026559143100000416
变色龙哈希函数输入
Figure RE-FDA00026559143100000417
计算
Figure RE-FDA00026559143100000418
因为
Figure RE-FDA00026559143100000419
Figure RE-FDA00026559143100000420
中的m维向量,h是离散高斯分布
Figure RE-FDA00026559143100000421
上抽样得到的m维向量,这里
Figure RE-FDA00026559143100000422
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β;同理,因为
Figure RE-FDA00026559143100000423
Figure RE-FDA00026559143100000424
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-FDA00026559143100000425
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作γ;最后计算β+γ;
(7)高级对称加密算法AES算法∑=(EK,DK)
EK表示高级对称加密算法的加密部分,DK表示高级对称加密算法的解密部分;
S2、密钥生成KeyGen(1n,PP);
输入安全参数n和系统生成的参数PP,输出签密方的公私钥、解签密方的公私钥;
S3、签密Signcrypt(msg∈{0,1}l,sks,pkr);
输入要签密的消息msg、签密方的私钥sks、解签密方的公钥pkr,输出签密密文;
S4、解签密Unsigncrypt(C,skr,pks);
输入密文、解签密方私钥skr、签密方的公钥pks,输出被签密的消息。
2.如权利要求1所述的后量子安全的签密算法,其特征在于:
Figure RE-FDA00026559143100000514
表示不超过logq的最大整数。
3.如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤S2中,运行陷门生成算法TrapGen生成签密方的公私钥对
Figure RE-FDA0002655914310000051
生成解签密方的公私钥对
Figure RE-FDA0002655914310000052
其中,
Figure RE-FDA0002655914310000053
的陷门基,
Figure RE-FDA0002655914310000054
是格
Figure RE-FDA0002655914310000055
的陷门基。
4.如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤S3中包括如下步骤:
a、计算
Figure RE-FDA0002655914310000056
其中,哈希函数输入消息msg、解签密方的公钥
Figure RE-FDA0002655914310000057
输出服从离散高斯分布
Figure RE-FDA0002655914310000058
的向量h;
b、随机选取τ←U({0,1}l),计算
Figure RE-FDA0002655914310000059
调用算法
Figure RE-FDA00026559143100000510
利用
Figure RE-FDA00026559143100000511
计算出
Figure RE-FDA00026559143100000512
的陷门基Tτ∈R2m
其中,τ←U({0,1}l)表示从长度为l的比特向量集合{0,1}l上均匀抽样一个比特向量τ;τ[i]表示比特向量τ的第i个分量元素,
Figure RE-FDA00026559143100000513
表示第i个分量元素τ[i]和向量
Figure RE-FDA0002655914310000061
的每个分量相乘,得到的是
Figure RE-FDA0002655914310000062
中一个元素,
Figure RE-FDA0002655914310000063
表示将l个是
Figure RE-FDA0002655914310000064
中的元素相加,得到仍是
Figure RE-FDA0002655914310000065
中一个元素,再和发送方的公钥
Figure RE-FDA0002655914310000066
水平方向连接;得到
Figure RE-FDA0002655914310000067
中的一个元素;调用盆景树算法
Figure RE-FDA0002655914310000068
输入模格
Figure RE-FDA0002655914310000069
及其陷门基Tτ∈R2m,生成模格
Figure RE-FDA00026559143100000610
的陷门基Tτ∈R2m
c、随机抽样
Figure RE-FDA00026559143100000611
计算变色龙哈希函数值如下:
Figure RE-FDA00026559143100000612
这个变色龙哈希函数值用来定义uM=u+d·bin(cM)∈Rq,其中
Figure RE-FDA00026559143100000613
利用陷门基Tτ求解方程:
Figure RE-FDA00026559143100000614
的短向量解
Figure RE-FDA00026559143100000615
这一步实质是调用算法
Figure RE-FDA00026559143100000616
输出向量
Figure RE-FDA00026559143100000617
最后输出签名;
Figure RE-FDA00026559143100000618
其中,在离散高斯分布
Figure RE-FDA00026559143100000619
上抽样向量s1
Figure RE-FDA00026559143100000620
是变色龙哈希函数的公钥,这是向量
Figure RE-FDA00026559143100000621
和向量
Figure RE-FDA00026559143100000622
的水平方向连接;
Figure RE-FDA00026559143100000623
是变色龙哈希函数的私钥,具体是一个m×m阶矩阵,其中所有的表元取自多项式环Rq
Figure RE-FDA00026559143100000624
变色龙哈希函数输入
Figure RE-FDA00026559143100000625
计算
Figure RE-FDA00026559143100000626
因为
Figure RE-FDA00026559143100000627
Figure RE-FDA00026559143100000628
中的m维向量,h是离散高斯分布
Figure RE-FDA00026559143100000629
上抽样得到的m维向量,这里
Figure RE-FDA00026559143100000630
的计算是将两个m维向量对应的分量(每个分量都是多项式环Rq中的一个多项式)相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β;同理,因为
Figure RE-FDA00026559143100000631
Figure RE-FDA00026559143100000632
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-FDA00026559143100000633
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作γ;最后计算β+γ;bin(cM)是将多项式cM的每个系数用二进制展开,得到长度为
Figure RE-FDA0002655914310000071
的比特向量,因为d是
Figure RE-FDA0002655914310000072
中的向量,可以看成是
Figure RE-FDA0002655914310000073
维的向量,d·bin(cM)是将两个向量对应分量相乘,相乘的结果再相加,得到Rq中一个向量;
d、解析v为
Figure RE-FDA0002655914310000074
随机选取s2RRq,抽样
Figure RE-FDA00026559143100000724
随机取r2∈{0,1}l,设c0=H3(r2,v1)依次计算w=s2c0+e2∈Rq
Figure RE-FDA0002655914310000075
Figure RE-FDA0002655914310000076
Figure RE-FDA0002655914310000077
因为v是
Figure RE-FDA0002655914310000078
中的向量,
Figure RE-FDA0002655914310000079
表示在水平方向上将向量v分割成两个
Figure RE-FDA00026559143100000710
中的向量;c0=H3(r2,v1)表示哈希函数H3作用于比特向量r2和向量v1,得到c0;w=s2c0+e2表示将向量s2与向量c0相乘,相乘结果与噪声向量e2相加,得到Rq中一个向量;
Figure RE-FDA00026559143100000711
表示随机化函数作用于向量w,得到向量
Figure RE-FDA00026559143100000712
表示交错凑整函数作用于向量
Figure RE-FDA00026559143100000713
得到信号向量
Figure RE-FDA00026559143100000714
表示模2凑整函数作用于向量w,得到向量c2
(1)设
Figure RE-FDA00026559143100000715
计算
Figure RE-FDA00026559143100000716
c3=H1(c1,v2)表示哈希函数H1作用于信号向量c1和向量v2,得到向量c3
Figure RE-FDA00026559143100000717
表示将向量
Figure RE-FDA00026559143100000718
和向量c3在水平方向上连接组成向量E;
(2)抽样
Figure RE-FDA00026559143100000719
计算
Figure RE-FDA00026559143100000720
Figure RE-FDA00026559143100000721
表示从m维离散高斯分布
Figure RE-FDA00026559143100000722
上分别抽样向量e3,1和e3,2,并将它们水平方向放置,组成向量e3;c4=s2E+e3:用向量s2分别乘以向量E的两个分量,得到的结果再和向量e3的分量对应相加,得到
Figure RE-FDA00026559143100000723
中一个新向量;
(3)计算
Figure RE-FDA0002655914310000081
最后,输出密文C=(τ,c0,c1,c3,c4,c5);
将H2(c2)作为AES加密算法的密钥,将消息msg、向量v2的系数嵌入得到的向量、向量s1系数嵌入得到的向量、比特向量r2水平方向连接构成的比特串作为AES算法的输入,AES算法输出比特串c5;将标签τ、向量c0、向量c1、向量c3、向量c4、向量c5组成签密密文。
5.如权利要求1所述的后量子安全的签密算法,其特征在于:所述步骤S4包括如下步骤:
(1)计算
Figure RE-FDA0002655914310000082
其中,
Figure RE-FDA0002655914310000083
表示将向量
Figure RE-FDA0002655914310000084
和向量c3在水平方向上连接组成向量E;
(1)抽样向量
Figure RE-FDA0002655914310000085
其中矩阵
Figure RE-FDA0002655914310000086
的每列向量服从分布
Figure RE-FDA0002655914310000087
Figure RE-FDA0002655914310000088
上的离散高斯分布上抽样向量
Figure RE-FDA0002655914310000089
(2)利用
Figure RE-FDA00026559143100000810
求出方程
Figure RE-FDA00026559143100000811
的短向量解
Figure RE-FDA00026559143100000812
Figure RE-FDA00026559143100000813
是先计算c3
Figure RE-FDA00026559143100000814
的乘积,再用c0减去c3
Figure RE-FDA00026559143100000815
的乘积,得到一个差值,记作
Figure RE-FDA00026559143100000816
调用算法
Figure RE-FDA00026559143100000817
输入模格
Figure RE-FDA00026559143100000818
及其陷门基
Figure RE-FDA00026559143100000819
求解满足条件
Figure RE-FDA00026559143100000820
的解
Figure RE-FDA00026559143100000821
(3)计算
Figure RE-FDA00026559143100000822
Figure RE-FDA00026559143100000823
Figure RE-FDA00026559143100000824
是将两个噪声向量
Figure RE-FDA00026559143100000825
Figure RE-FDA00026559143100000826
的竖直放置,用向量c4乘以噪声向量
Figure RE-FDA0002655914310000091
得到向量
Figure RE-FDA0002655914310000092
是用调和函数作用于向量w1和向量c1,恢复出
Figure RE-FDA0002655914310000093
(4)计算
Figure RE-FDA0002655914310000094
Figure RE-FDA0002655914310000095
作为AES解密算法的密钥,输入c5,将输出结果在水平方向上进行分割,得到
Figure RE-FDA0002655914310000096
(5)恢复
Figure RE-FDA0002655914310000097
解析
Figure RE-FDA0002655914310000098
验证下列条件:若c3≠H3(c1,v2(x)),则输出错误符号⊥,否则,继续;若c0≠H3(r2,v1(x)),则输出错误符号⊥,否则,继续;若
Figure RE-FDA0002655914310000099
则输出错误符号⊥;否则,继续;
Figure RE-FDA00026559143100000910
是将系数嵌入反作用于φ(v)得到对应的多项式
Figure RE-FDA00026559143100000911
Figure RE-FDA00026559143100000912
是将
Figure RE-FDA00026559143100000913
分割成两部分v1和v2
(7)计算
Figure RE-FDA00026559143100000914
建立
Figure RE-FDA00026559143100000915
再验证下列两个条件是否成立:
Figure RE-FDA00026559143100000916
若都成立,则输出消息msg,否则,输出错误符号⊥;
用哈希函数H1作用于解签密得到的信息msg和
Figure RE-FDA00026559143100000917
杂凑为
Figure RE-FDA00026559143100000918
上的一个向量h;因为
Figure RE-FDA00026559143100000919
Figure RE-FDA00026559143100000920
中的m维向量,h是离散高斯分布上抽样得到的m维向量,这里
Figure RE-FDA00026559143100000921
的计算是将两个m维向量对应的分量(每个分量都是多项式环Rq中的一个多项式)相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作β;同理,因为
Figure RE-FDA0002655914310000101
Figure RE-FDA0002655914310000102
中的m维向量,s1是离散高斯分布上抽样得到的m维向量,这里
Figure RE-FDA0002655914310000103
的计算是将两个m维向量对应的分量相乘得到m个多项式环Rq中的多项式,然后把这m个多项式环Rq中的多项式相加,得到多项式环Rq中的一个多项式,记作γ;最后计算β+γ。
CN201910907793.8A 2019-09-24 2019-09-24 一种后量子安全的签密算法 Active CN111817853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910907793.8A CN111817853B (zh) 2019-09-24 2019-09-24 一种后量子安全的签密算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910907793.8A CN111817853B (zh) 2019-09-24 2019-09-24 一种后量子安全的签密算法

Publications (2)

Publication Number Publication Date
CN111817853A true CN111817853A (zh) 2020-10-23
CN111817853B CN111817853B (zh) 2022-06-24

Family

ID=72844056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910907793.8A Active CN111817853B (zh) 2019-09-24 2019-09-24 一种后量子安全的签密算法

Country Status (1)

Country Link
CN (1) CN111817853B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259107A (zh) * 2021-06-22 2021-08-13 西安工程大学 一种基于格的双模式加密方法
CN116938454A (zh) * 2023-09-15 2023-10-24 浪潮(北京)电子信息产业有限公司 一种密钥处理方法、设备、介质及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013052A1 (en) * 2001-07-27 2003-02-13 Korea Advanced Institute Of Science And Technology Cryptosystems based on non-commutatity
CN104038347A (zh) * 2014-06-30 2014-09-10 西安电子科技大学 基于高斯抽样的签名验证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013052A1 (en) * 2001-07-27 2003-02-13 Korea Advanced Institute Of Science And Technology Cryptosystems based on non-commutatity
CN104038347A (zh) * 2014-06-30 2014-09-10 西安电子科技大学 基于高斯抽样的签名验证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
余磊: "一种基于格的代理签名方案", 《计算机工程》 *
汤海婷等: "一种格上基于改进盆景树模型的属性签名方案", 《计算机应用研究》 *
谢璇等: "基于格的变色龙签名方案", 《计算机科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259107A (zh) * 2021-06-22 2021-08-13 西安工程大学 一种基于格的双模式加密方法
CN116938454A (zh) * 2023-09-15 2023-10-24 浪潮(北京)电子信息产业有限公司 一种密钥处理方法、设备、介质及系统
CN116938454B (zh) * 2023-09-15 2024-01-23 浪潮(北京)电子信息产业有限公司 一种密钥处理方法、设备、介质及系统

Also Published As

Publication number Publication date
CN111817853B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN107147484B (zh) 一种面向隐私保护的浮点数全同态加密方法
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
Ramaiah et al. Efficient public key homomorphic encryption over integer plaintexts
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
RU2459276C1 (ru) Способ шифрования сообщения м, представленного в виде многоразрядного двоичного числа
CN115102688A (zh) 数据处理方法、多项式计算方法及电子设备
CN111817853B (zh) 一种后量子安全的签密算法
Ahmed et al. Strongest AES with S-Boxes bank and dynamic key MDS matrix (SDK-AES)
Kasahara et al. A construction of public key cryptosystem for realizing ciphertext of size 100 bit and digital signature scheme
Khalid et al. The SPN network for digital audio data based on elliptic curve over a finite field
Das et al. An efficient method for text encryption using elliptic curve cryptography
CN110460442B (zh) 一种基于格的密钥封装方法
Sensarma et al. Application of graphs in security
Si et al. An improved RSA signature algorithm based on complex numeric operation function
Mihalkovich et al. MPF based symmetric cipher performance comparison to AES and TDES
Bhatia et al. Post-Quantum Cryptography
Fu et al. An efficient implementation of RSA digital signature algorithm
Yadav et al. Key Cryptographic Methods in the Cloud: A Comparative Study
Jasra et al. Mapping images over elliptic curve for encryption
Sahu et al. A code-based digital signature scheme using modified quasi-cyclic low-density parity-check codes (QC-LDPC)
US11502818B2 (en) System to secure encoding and mapping on elliptic curve cryptography (ECC)
You et al. Secure two-party computation approach for ntruencrypt
Ashok et al. An Approach of Cryptosystem using Polynomials and Lucas Numbers
Chapman Using Graphic Based Systems to Improve Cryptographic Algorithms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant