当前位置: 首页 > 专利查询>重庆大学专利>正文

利用隐秘矩阵构造的基于身份的全同态加密方法技术

技术编号:13681626 阅读:93 留言:0更新日期:2016-09-08 12:15
本发明专利技术公开了一种利用隐秘矩阵构造的基于身份的全同态加密方法。该方法按照以下步骤实施:参数生成,陷门生成,密钥生成,加密,解密,同态操作。传统的公钥加密方法在量子计算机环境下其安全性受到威胁,本发明专利技术基于格上求解最短向量困难问题,可以抵抗量子计算机的攻击。该方法直接使用用户身份作为公钥,可以对密文信息进行同态操作。

【技术实现步骤摘要】

本专利技术涉及信息安全
,尤其涉及一种基于身份的全同态加密方法。
技术介绍
二十一世纪是信息科技高速发展的时代,量子计算机的诞生与应用只是时间的问题。在量子计算机的威胁下,RSA、ElGamal以及ECC等传统公钥加密方案将不再安全。世界范围的密码学家开始研究后量子密码,用以抵抗未来量子计算机的攻击。本专利技术以格困难问题为基础,具有抵抗量子计算机攻击的能力,主要涉及两大密码体制:基于身份的加密(IBE):为了简化公钥证书的管理,Shamir创造性地提出了基于身份的加密概念。在这种公钥加密机制中,用户的身份信息(如身份证号码、电话号码和邮件地址等)直接作为用户的公钥。用户的身份与用户之间有着直接而天然的联系,因此无需通过数字证书进行绑定,从而避免了传统公钥密码体制中因管理大量用户证书而带来的种种弊端。层次型全同态加密(Leveled-FHE):一个全同态加密方案,其中密钥生成算法获得一个额外的输入1L,对于所有深度为L的二进制算法函数都是同态的,且密钥长度和L无关,则称该全同态加密方案是层次型的全同态加密方案。全同态加密(FHE):同态加密最早由Rivest等人于1978年提出,指的是这样一种加密方法:对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。由于这个良好的性质,人们可以委托不信任的第三方对数据进行处理,而不泄露信息。全同态加密指同时满足加法同态和乘法同态性质,并且能够进行任意次运算的加密方法。用数学表达:Dec(f(En(m1),En(m2),...,En(mk)))=f(m1,m2,...,mk),其中Dec()为解密函数,En()为加密函数,f()为我们需要做的运算。本专利技术所涉及的主要理论基础有如下几点:格上最短向量困难问题(Gap-SVP):给定格L,找到一个非零格向量v,满足对任意非零向量u∈L,||v||<||u||。SIS问题最早由Ajtai提出,Ajtai证明了任意n维格的近似因子为γ的SIVP问题和Gap-SVP问题可以多项式时间归约到SIS问题。SIS问题:给定m个一致的随机向量将ai按列排列组成寻找一个非零向量z∈Zm,满足||z||≤β使得:SIS问题的困难性保证了多项式时间内敌手不能求解问题Ax=u的一组小解,为私钥的保密提供了安全性,许多加密方案利用此问题构造公钥。LWE问题:令m,n,q是整数,χ是上的概率分布。输入一对(A,v),v=As+e。 其中是随机选取的,均匀随机选取在χm上选取一个向量LWE问题分为Search-LWE问题和Decision-LWE问题,其中Search-LWE问题是给出LWE分布,求解秘密向量s的值;Decision-LWE问题是区分LWE分布和随机分布。两个问题都是困难问题。亚高斯分布:如果一个随机变量X对任意t≥0,有Pr[|X|≥t]≤2exp(-πt2/s2),称该变量满足参数为s的亚高斯分布。扩展到向量中,如果对Rn中的所有单位矢量u,<x,u>满足参数为s亚高斯分布,那么称向量x满足参数为s的亚高斯分布,而一些均满足参数为s的次高斯分布的向量的串联也满足参数为s的亚高斯分布。密码学可证明安全不可区分性实验:在一个不可区分性实验中(IND GAME),参与者有挑战者设计的加密方案(Gen(),Enc(),Dec())和敌手A。实验步骤如下:给定输入给敌手A,A输出一对消息m0和m1。运行Gen()生成一个密钥k,随机选择一个比特b←(0,1)。Enc(k,mb)加密后输出密文c给A。把c叫做挑战密文(或者目标明文)。A输出一个比特b。该实验的输出被定义为:如果b=b,则为1,成功,否则为0,失败。选择明文攻击(IND-CPA):在选择明文攻击中,敌手A被允许适应性的选择多个明文消息来请求加密。我们把这个形式化为:允许A和“加密预言机”自由交互,加密预言机被视为一个黑盒子,将使用某个密钥k来加密A选择的消息。Gadget单向陷门函数:陷门构造的主要思想是希望通过一个奇偶校验矩阵A来“隐藏”一个附属矩阵G,然后利用陷门T找到这个附属矩阵G。G的构造如下:首先定义小系数向量那么 G : = I n ⊗ g t = d i a g ( g t , ... , g t ) ∈ Z q n × n l , ]]>陷门:一个奇偶校验矩阵的陷门是一个小参数矩阵T∈Zm×nl,满足AT=SGmodq,其中S是一个可逆矩阵,我们称为陷门T的一个标志矩阵。陷门的质量由它的最小奇异值s1(R):=max||u||=1||Ru||决定,s1(R)越小,陷门质量越高。Peikert等人给出了这种陷门构造方法安全性的证明:在m≈2nlogq时,矩阵A满足的分布与随机分布不可区分。基于身份的全同态加密(IBFHE)转换法则:一个IBE方案若满足 1)解密密钥与密文为中的向量,中的第一个系数应该是1。2)0的密文与密钥的内积非常“小”。3)0元素的加密与其他元素的加密不可区分。则该IBE方案可以转换为层次型的FHE方案。
技术实现思路
针对传统全同态加密方法生成密钥巨大的问题,本专利技术通过将IBE与FHE相结合,利用IBE方案直接使用用户ID作为公钥的特性,再配合隐秘矩阵生成的陷门构造一种基于身份的全同态加密方法。其特征是利用SIS问题的困难性通过单向陷门函数转换用户ID为用户私钥并结合全同态加密技术。为达到上述目的,本专利技术采用如下加密方案:参数生成算法输入安全参数λ和用户身份ID,生成所需的公共参数隐秘矩阵S1,S2和陷门标志矩阵S,再选取一个输出至少160位的哈希函数,转换用户ID到一个固定长度的向量。陷门生成算法将启动算法中生成的随机矩阵和秘密隐秘矩阵输入给陷门函数,陷门生成函数输出主密钥(陷门T)mk和参数P。解密密钥生成算法KeyGen(P,uid,mk)→(xid,sid):利用陷门T(mk)求解SIS格困难问题:P·xid=uid,得到xid的一个解,再利用xid构造私钥sid。加密算法Enc(P,uid,μ)→C:输入需要加密的明文消息和参数P以及用户身份uid,生成一个随机矩阵输出密文C。解密函数Dec(sid,C)→μ′:输入用户私钥和需要解密的密文信息,输出明文μ′;以上方案加密时,利用LWE问题隐藏用户私钥和明文信息,其困难性可规约到格上最短向量困难问题,具有抵抗量子计算机攻击的能力。可证明安全性中,该方案可以抵抗选择明文攻击。在以上IBE方案的基础上,我们将IBE方案转换到IBFHE方案,对加密算法和解密算法进行如下修改:加密算法IBFHE.Enc(P,uid,μ)→C:输入公共参数矩阵P、用户身份向量uid与本文档来自技高网
...

【技术保护点】
利用隐秘矩阵构造的基于身份的全同态加密方法,其特征在于利用可逆矩阵构造了安全高效的陷门函数,为私钥生成提供了安全保障。由隐秘矩阵构成的陷门矩阵在与普通陷门矩阵维数相同的情况下,安全性提升了一倍,因此可以降低矩阵维数,提升效率而不影响安全性。利用隐秘矩阵构造的基于身份的全同态加密方法包括以下步骤:首先构造如下基于身份的加密方案LIBE:参数生成算法随机生成矩阵隐秘可逆矩阵陷门标志矩阵将代表用户身份的ID利用哈希函数转换到固定长度的有限环上陷门生成算法输出主密钥(陷门T)和参数这里有P·mk=SG;密钥生成算法LIBE.KeyGen(ID,mk,uid)→sid:利用陷门T(即mk)求解SIS格困难问题:P·xid=uid。具体步骤如下:令xid=mk·ω,则有其中对于的一个目标u满足G‑1(u)=x。私钥加密算法LIBE.Enc(P,ID,μ)→C:选取随机矩阵输出密文其中从效率上考虑,密文可以以向量的形式输出,但为了与下面的全同态加密方案交接,这里使用矩阵的形式输出密文;解密算法LIBE.Dec(sid,C)→μ′:输出明文μ′=(C·sid)/i;在此基础上,将基于身份的加密方案转换为全同态加密方案,其过程如下:参数生成、陷门生成与秘钥生成算法与LIBE对应算法相同,加密算法、解密算法及同态操作算法具体如下:加密算法IBFHE.Enc(P,uid,μ):选取随机矩阵和满足亚高斯分布的误差矩阵E∈χm×(m+1)l,误差向量e∈χ(m+1)l,计算矩阵B=PT·A+E(modq)和向量输出密文:解密算法IBFHE.Dec(sid,C):取出密文C的倒数第二列c,计算加法同态操作IBFHE.HomAdd(C1,C2):同态加法定义为C=C1+C2(modq);乘法同态操作IBFHE.HomMult(C1,C2):同态乘法定义为C=C1·G‑1(C2)(modq)。...

【技术特征摘要】
1.利用隐秘矩阵构造的基于身份的全同态加密方法,其特征在于利用可逆矩阵构造了安全高效的陷门函数,为私钥生成提供了安全保障。由隐秘矩阵构成的陷门矩阵在与普通陷门矩阵维数相同的情况下,安全性提升了一倍,因此可以降低矩阵维数,提升效率而不影响安全性。利用隐秘矩阵构造的基于身份的全同态加密方法包括以下步骤:首先构造如下基于身份的加密方案LIBE:参数生成算法随机生成矩阵隐秘可逆矩阵陷门标志矩阵将代表用户身份的ID利用哈希函数转换到固定长度的有限环上陷门生成算法输出主密钥(陷门T)和参数这里有P·mk=SG;密钥生成算法LIBE.KeyGen(ID,mk,uid)→sid:利用陷门T(即mk)求解SIS格困难问题:P·xid=uid。具体步骤如下:令xid=mk·ω,则有其中对于的一个目标u满足G-1(u)=x。私钥 加密算法LIBE.Enc(P,ID,μ)→C:选取随机矩阵输出密文其中从效率上考虑,密文可以以向量的形式输出,但为了与下面的全同态加密方案交接,这里使用矩...

【专利技术属性】
技术研发人员:张单琦蔡斌胡胜健傅海军桑军向宏
申请(专利权)人:重庆大学
类型:发明
国别省市:重庆;50

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

1