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

文档序号:10572463阅读:305来源:国知局
利用隐秘矩阵构造的基于身份的全同态加密方法
【专利摘要】本发明公开了一种利用隐秘矩阵构造的基于身份的全同态加密方法。该方法按照以下步骤实施:参数生成,陷门生成,密钥生成,加密,解密,同态操作。传统的公钥加密方法在量子计算机环境下其安全性受到威胁,本发明基于格上求解最短向量困难问题,可以抵抗量子计算机的攻击。该方法直接使用用户身份作为公钥,可以对密文信息进行同态操作。
【专利说明】
利用隐秘矩阵构造的基于身份的全同态加密方法
技术领域
[0001] 本发明涉及信息安全技术领域,尤其涉及一种基于身份的全同态加密方法。
【背景技术】
[0002] 二十一世纪是信息科技高速发展的时代,量子计算机的诞生与应用只是时间的问 题。在量子计算机的威胁下,RSA、ElGamal以及ECC等传统公钥加密方案将不再安全。世界范 围的密码学家开始研究后量子密码,用以抵抗未来量子计算机的攻击。本发明以格困难问 题为基础,具有抵抗量子计算机攻击的能力,主要涉及两大密码体制:
[0002] 基于身份的加密(IBE):为了简化公钥证书的管理,Shamir创造性地提出了基于身 份的加密概念。在这种公钥加密机制中,用户的身份信息(如身份证号码、电话号码和邮件 地址等)直接作为用户的公钥。用户的身份与用户之间有着直接而天然的联系,因此无需通 过数字证书进行绑定,从而避免了传统公钥密码体制中因管理大量用户证书而带来的种种 弊端。
[0003] 层次型全同态加密(Leveled-FHE):-个全同态加密方案,其中密钥生成算法获得 一个额外的输入I 1,对于所有深度为L的二进制算法函数都是同态的,且密钥长度和L无关, 则称该全同态加密方案是层次型的全同态加密方案。
[0004] 全同态加密(FHE):同态加密最早由Rivest等人于1978年提出,指的是这样一种加 密方法:对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果 是等价的。由于这个良好的性质,人们可以委托不信任的第三方对数据进行处理,而不泄露 信息。全同态加密指同时满足加法同态和乘法同态性质,并且能够进行任意次运算的加密 方法。用数学表达:Dec(f(En(mi),En(m2),…,En(mk))) = f(mi,m2,…,mk),其中Dec()为解 密函数,En()为加密函数,f〇为我们需要做的运算。
[0005] 本发明所涉及的主要理论基础有如下几点:
[0006] 格上最短向量困难问题(Gap-SVP):给定格L,找到一个非零格向量v,满足对任意 非零向量 ueL, ||v||<||u||。
[0007] SIS问题最早由Ajtai提出,Ajtai证明了任意η维格的近似因子为γ的SIVP问题和 Gap-SVP问题可以多项式时间归约到SI S问题。
[0008] SIS问题:给定m个一致的随机向量% ,将ai按列排列组成JeZf%寻找一个 非零向量Zez m,满足| |z| 吏得:
[0009] SIS问题的困难性保证了多项式时间内敌手不能求解问题Ax = u的一组小解,为私 钥的保密提供了安全性,许多加密方案利用此问题构造公钥。
[0010] 1^问题:令111,11,9是整数,乂是21?上的概率分布。输入一对(六,¥),¥=六8+6。其中 AeE厂是随机选取的,均匀随机选取在Xml选取一个向量问题分为 Search-LWE问题和Dec i s ion-LWE问题,其中Search-LWE问题是给出LWE分布,求解秘密向量 s的值;Dec i s ion-LWE问题是区分LWE分布和随机分布。两个问题都是困难问题。
[0011] 亚高斯分布:如果一个随机变量X对任意t》0,有Pr[ |X|》t]<2exp(-3Tt2/s2),称 该变量满足参数为s的亚高斯分布。
[0012]扩展到向量中,如果对Rn中的所有单位矢量u,〈x,u>满足参数为s亚高斯分布,那 么称向量X满足参数为s的亚高斯分布,而一些均满足参数为s的次高斯分布的向量的串联 也满足参数为s的亚高斯分布。
[0013] 密码学可证明安全不可区分性实验:在一个不可区分性实验中(IND GAME),参与 者有挑战者设计的加密方案(Gen(),Enc(),Dec())和敌手A。
[0014] 实验步骤如下:
[0015] 给定输入给敌手A,A输出一对消息_和mi。
[0016] 运行Gen〇生成一个密钥k,随机选择一个比特b-(0,1)<^此仏,1^)加密后输出密 文c给A。把c叫做挑战密文(或者目标明文)。
[0017] A输出一个比特b。
[0018] 该实验的输出被定义为:如果b = b,则为1,成功,否则为0,失败。
[0019] 选择明文攻击(IND-CPA):在选择明文攻击中,敌手A被允许适应性的选择多个明 文消息来请求加密。我们把这个形式化为:允许A和"加密预言机"自由交互,加密预言机被 视为一个黑盒子,将使用某个密钥k来加密A选择的消息。
[0020] Gadget单向陷门函数:陷门构造的主要思想是希望通过一个奇偶校验矩阵A来"隐 藏" 一个附属矩阵G,然后利用陷门T找到这个附属矩阵GX的构造如下:
[0021] 首先定义小系数向量g = 2,4,...,2^^, /二flogjl,那么
[0022]
[0023]陷门:一个奇偶校验矩阵isZf"的陷门是一个小参数矩阵TeZ^i,满足AT = SGmodq,其中S是一个可逆矩阵,我们称为陷门T的一个标志矩阵。陷门的质量由它的最小奇 异值si(R): =max| |u| |=ι | |Ru| |决定,si(R)越小,陷门质量越高。Peikert等人给出了这种陷 门构造方法安全性的证明:在m~2nlogq时,矩阵A满足的分布与随机分布不可区分。
[0024] 基于身份的全同态加密(IBFHE)转换法则:一个IBE方案若满足
[0025] 1)解密密钥与密文为中的向量,^中的第一个系数应该是1。
[0026] 2)0的密文4(0)与密钥的内积〈(;(0),又J非常"小"。
[0027] 3)0元素的加密与其他元素的加密不可区分。
[0028]则该IBE方案可以转换为层次型的FHE方案。

【发明内容】

[0029]针对传统全同态加密方法生成密钥巨大的问题,本发明通过将IBE与FHE相结合, 利用IBE方案直接使用用户ID作为公钥的特性,再配合隐秘矩阵生成的陷门构造一种基于 身份的全同态加密方法。其特征是利用SIS问题的困难性通过单向陷门函数转换用户ID为 用户私钥并结合全同态加密技术。
[0030]为达到上述目的,本发明采用如下加密方案:
[0031 ]参数生成算法&叫:输入安全参数λ和用户身份ID,生成 所需的公共参数2、隐秘矩阵S^SdP陷门标志矩阵S,再选取一个输出至少160位的哈希函 数,转换用户ID到一个固定长度的向量。
[0032]陷门生成算法:将启动算法中生成的随机矩阵和秘密 隐秘矩阵输入给陷门函数,陷门生成函数输出主密钥(陷门T)mk和参数P。
[0033] 解密密钥生成算法1^6611(?,叫(1,1111〇4(咖4 (1):利用陷门1'(1111〇求解315格困难 问题:P · Xid = Uid,得到Xid的一个解,再利用Xid构造私钥Sid。
[0034]加密算法Enc(P,uid,y)4C:输入需要加密的明文消息和参数P以及用户身份u id, 生成一个随机矩阵,输出密文C。
[0035]解密函数:输入用户私钥和需要解密的密文信息,输出明文V ; [0036]以上方案加密时,利用LWE问题隐藏用户私钥和明文信息,其困难性可规约到格上 最短向量困难问题,具有抵抗量子计算机攻击的能力。可证明安全性中,该方案可以抵抗选 择明文攻击。
[0037] 在以上IBE方案的基础上,我们将IBE方案转换到IBFHE方案,对加密算法和解密算 法进行如下修改:
[0038] 加密算法18^^上1^(?,出<^)4(::输入公共参数矩阵?、用户身份向量1^与需要 加密的明文消息μ,随机生成矩阵B和向量b,运算后输出密文C;
[0039] 解密算法IBFHE. Dec (sid,C) -μ':输入用户私钥sid和需要解密的密文消息C,输出 明文μ';
[0040] 加法同态操作IBFHE.HomAdcK&O:同态加密定义为矩阵加法。
[0041 ] 乘法同态操作IBFHE. HomMult(&,C2):同态乘法类似于矩阵乘法。
[0042] 本发明具有以下优点和积极效果:
[0043] 1)本发明是一种安全性很高的加密方案。其安全性可规约到格上求解最短向量困 难问题;
[0044] 2)本发明是一种直接利用用户ID作为公钥的方案,不需要为用户生成和分配公 钥,节省了时间和空间成本;
[0045] 3)本发明是一种可以对密文进行同态操作的加密方案,对于有限层运算电路F,任 意明文输入mi,m2,. . .,mi,与对应的密文ci,C2,. . .,ci之间满足关系:
[0046] Pr[Dec(F(ci,C2, · · ·,ci))=F(mi,m2, · · ·,mi)] = l_negl(A),其中negl(A)代表概 率为〇;
【附图说明】
[0047] 图1是利用隐秘矩阵构造的基于身份的全同态加密方法加密流程图
【具体实施方式】
[0048] 使用小写字母表示向量,所有的向量默认为列向量,如a,向量a的转置(行向量)表 示为aS向量a的第i个元素表示为ai。矩阵使用大写字母表示,如M nXm,矩阵的第i列表示为 M,,矩阵A的转置表示为Ατ。"表示η维模q的整数环。
[0049] 本发明所设计的算法流程具体如下,首先构造一个格上的基于身份的加密方案 LIBE:
[0050] 参数生成算法L/從.仍)-01心51:^,/4/):随机生成矩阵2 £2^,秘密可 逆矩阵5; βΖΠ 2 βΖΓ"、陷门标志矩阵以·^?,将代表用户身份的ID利用哈希函数转换 至個定长度的有限环上k辦仍);
[0051 ] 陷门生成算法->(Α?次):输出主密钥(陷门T )
和参数
这里有Ρ · mk = SG;
[0052] 密钥生成算法LIBE.KeyGen(P,mk,Uid)4sid:利用陷门T(即mk)求解SIS格困难问 题:P · xid = Uid。具体步骤如下:令xid=mk · ω,则有
[0053]
^ ΛπΙ - "uv ^ \uhl
[0054] 这里的0-1不是G的逆矩阵,而是一个映射cr1:^-zr/zflogdl,对于Gx = u的 一个目标u满足G-1 (u) = X。私钥~=(?, 1) e <+1;
[0055] 加密算法LIBE. Enc (Ρ,uid,y)-C:选取随机矩阵及e 2;'输出密文
[0056]
[0057] 其中/ = ,从效率上考虑,密文可以以向量的形式输出,但为了与下面的 全同态加密方案交接,这里使用矩阵的形式输出密文。
[0058] 解密算法LIBE.Decbid')^/ :输出明文V =(C · sid)/i;
[0059] 在LIBE方案的基础上,我们构造全同态加密方案IBFHE,参数生成、陷门生成与秘 钥生成算法与LIBE对应算法相同,加密算法、解密算法及同态操作算法具体如下:
[0060] 加密算法18^^』11(^,叫(1』):选取随机矩阵3€<>!<"' +1)/和满足亚高斯分布的误 差矩阵EexmX(m + U1,误差向量eex(m + U1,计算矩阵B = Pτ·A + E(modq)和向量 K = /UhkkU/),输出密文:
[0061]
[0062] 解密算法I B F Η E . D e c ( s i d,C ):取出密文C的倒数第二列c,计算 2: '(mode/);
[0063] 加法同态操作IBFHE.HomAdd(Ci,C2):同态加密定义为C = Ci+C2(modq);
[0064] 乘法同态操作四^^.!1〇11111^(&,(:2):同态乘法定义为〇 = (:1.6-1((:2)(111〇(^); [0065] 安全性上,该加密方案构造于LWE问题之上,其可证明安全性可规约到格上 Decision-LWE问题。在不可区分性试验中,我们假设攻击手可以访问加密预言机,那么攻击 手分别向加密预言机发送0和1,得到0和1的密文分别为:
[0066:
[0067] 因矩阵PTAi+Ei,i = {0,1}和向量e丨-=从1)满足LWE分布,故密文不可 区分,进而0和1的密文不可区分,攻击手的优势Pr[b = b']-l/2=l/2-l/2 = 0,该加密方案 具有选择明文攻击(IND-CPA)安全性。
[0068] 效率上,本方案的密文空间广,私钥空间为Zf,公钥为用户唯一身份标识 不需要单独生成,其中m = 2nl,/二「k>g2g"j.。
[0069]若取n = 198,q = 8096作为方案参数,则方案生成的私钥大小约为8Kb。
[0070] 加密过程中,涉及矩阵运算,所需乘法次数为m(m+l) · 1次,取上述参数约为3.4X 108 次。
[0071] 解密过程中,只需要提取密文的一列进行内积运算,因此所占空间为Ζ^1+ιμ,乘法 次数为ml次,取上述参数约为6.7 X 105次。
[0072] 安全性上,该方案具备选择明文攻击安全性(IND-CPA Security)。
【主权项】
1.利用隐秘矩阵构造的基于身份的全同态加密方法,其特征在于利用可逆矩阵构造了 安全高效的陷门函数,为私钥生成提供了安全保障。由隐秘矩阵构成的陷门矩阵在与普通 陷门矩阵维数相同的情况下,安全性提升了一倍,因此可以降低矩阵维数,提升效率而不影 响安全性。利用隐秘矩阵构造的基于身份的全同态加密方法包括以下步骤: 首先构造如下基于身份的加密方案LIBE: 参数生成算法/D) 4 (5, S1, S2,):随机生成矩阵2 e Zf,隐秘可逆矩 阵S1 eZ广W2 、陷门标志矩阵S ef,将代表用户身份的ID利用哈希函数转换到固 定长度的有限环上hM10) 陷门生成算法L/MTiX;⑶输出主密钥(陷门T )这里有P · mk = SG; 密钥生成算法LIBE.KeyGen(ID ,mlmd - sid:利用陷门T(即mk)求解SIS格困难问题: P · Xid = Uid。具体步骤如下:令Xid=mk · ω,则有其中G-1 : Ζ: 4?〗",/ =「log2 d _,对于.仏t= &的一个目标u满足G -1 ( u ) = X。私钥 加密算法LIBE.EnC(P,ID,μ)4C:选取随机矩阵i^eZf,输出密文其中/ = ,从效率上考虑,密文可以以向量的形式输出,但为了与下面的全同 态加密方案交接,这里使用矩阵的形式输出密文; 解密算法LIBE-Dec(SAC)^/ :输出明文μ' =(C · sid)/i; 在此基础上,将基于身份的加密方案转换为全同态加密方案,其过程如下: 参数生成、陷门生成与秘钥生成算法与LIBE对应算法相同,加密算法、解密算法及同态 操作算法具体如下: 加密算法18?册』11(^,山(1#):选取随机矩阵』&$_+:1)/和满足亚高斯分布的误差矩 阵EexmX(m + U1,误差向量eex(m + U1,计算矩阵B = Pt · A + E(modq)和向量 // = c,' - i,;:,. j(modi/),输出密文:解密算法IBFHE.DeC(Sid,C):取出密文C的倒数第二列c,计算= ·ι·2ρ_ ''(motky): 加法同态操作11^册.!1〇滅(1(1(&,〇2):同态加法定义为[=&+〇2(111〇(^); 乘法同态操作IBFHE^HomMult(CiC2):同态乘法定义为C=C1 · G-H&Kmodq)。2.根据权利要求1所属的基于身份的全同态加密方法,其特征在于: 陷门生成函数中,随机生成隐秘矩阵SllS2,构造出形式的陷门矩阵 与对应的公共参数矩阵,m=n + ul
【文档编号】H04L9/08GK105933102SQ201610209200
【公开日】2016年9月7日
【申请日】2016年4月6日
【发明人】张单琦, 蔡斌, 胡胜健, 傅海军, 桑军, 向宏
【申请人】重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1