一种基于参数高次偏移的全同态加密公钥压缩方法

文档序号:10572462阅读:303来源:国知局
一种基于参数高次偏移的全同态加密公钥压缩方法
【专利摘要】本发明公开了一种基于参数高次偏移的全同态加密公钥压缩方法,包括在密钥生成阶段中以公钥高次偏移量代替公钥整数,并以加密模数偏移量代替加密模数生成公钥向量;在加密处理阶段中通过公钥向量恢复加密模数和公钥高次整数,再用公钥高次整数相乘得到加密所需的公钥整数。本发明将个长度为的公钥整数转化为个长度为的公钥高次偏移量,并将长度为的加密模数转化为长度为的加密模数偏移量,公钥压缩率高。
【专利说明】
一种基于参数高次偏移的全同态加密公钥压缩方法
技术领域
[0001] 本发明属于信息安全技术领域,特别涉及一种基于参数高次偏移的全同态加密公 钥压缩方法。
【背景技术】
[0002] 全同态加密技术是一种对密文进行运算之后,解密的结果等价于对相应明文直接 进行相同运算的加解密技术。若数据所有者A对隐私数据m加密后得到密文数据c,另一数据 处理者B在不对数据c解密的前提下直接对其进行任意的功能运算f,得到运算后的数据f (c),A再对数据f(c)解密,其结果恰好等于对数据m进行相同的功能运算f后得到的结果f (m)。全同态加密技术以其能够直接对密文进行运算处理的特性使得数据处理者在替数据 所有者做了大量运算工作的同时却对隐私数据的信息一无所知,保证了隐私数据的机密 性,在云计算、多方计算和无线传感器网络中具有重要的应用价值。
[0003] 全同态加密的思想早在1978年便由RSA的创始人Rivest提出,当时这一概念被称 为隐私同态。在此之后的三十年的时间里,密码学界先后提出了众多只支持同态乘法运算 或只支持同态加法运算的部分同态加密方案,以及只能支持有限次的同态乘法运算和同态 加法运算的浅同态加密方案。但这些都不能实现真正意义上的支持全处理的全同态加密。 直到2009年,由Gentry在其博士论文中提出了第一个支持对密文进行任意运算操作的全同 态加密方案--Gentry方案。Gentry方案首先设计了一个能够支持有限次密文加法运算和 密文乘法运算的部分同态加密方案,鉴于每次加法和乘法运算都会导致密文噪声的增长, 方案随后通过自举技术对运算后的密文降噪使得密文噪声不会超过正确解密的噪声阈值, 最终实现加密方案的全同态。基于理想格的Gentry方案由于格上的矢量运算和矩阵运算极 其复杂而不具备实际应用的可能。2010年Dijk和Gentry等人提出了一种基于整数的全同态 加密方案--DGHV方案,该方案采用整数上的模加和模乘运算实现了密文的同态加法和同 态乘法运算,概念简单且易于实现。虽然基于整数的DGHV方案在全同态加密的算法复杂度 上有了重大优化,但仍存在着公钥过大的问题,公钥尺寸达到的量级,在大安全参 数级别下该方案的公钥尺寸更是达到了数十GBytes的大小,这对于全同态加密技术在实际 系统中应用是完全不可接受的。

【发明内容】

[0004] 发明目的:为了克服现有技术的不足,本发明提供了一种有效降低了实际存储的 公钥尺寸,提高了整数上的全同态加密技术的实用性的基于参数高次偏移的全同态加密公 钥压缩方法。
[0005] 技术方案:本发明提供了一种基于参数高次偏移的全同态加密公钥压缩方法,包 括在密钥生成阶段中以公钥高次偏移量代替公钥整数,并以加密模数偏移量代替加密模数 生成公钥向量;在加密处理阶段中通过公钥向量恢复加密模数和公钥高次整数,再用公钥 高次整数相乘得到加密所需的公钥整数。
[0006] 进一步,所述在密钥生成阶段中包括如下步骤:
[0007] 步骤101:生成私钥sk:令Sk=p,p为随机生成的一个比特长度为II的大素数,pe [2 n-W);
[0008] 步骤102:生成一个随机种子se;
[0009] 步骤103:生成加密模数基础量XQ:用伪随机数生成器f和随机种子se基于多项式 函数计算生成整数e [0,2?;其中,γ表示公钥整数的比特长度;
[0010] 步骤104:生成公钥基础量x1>b:用伪随机数生成器f和随机种子se基于多项式函数 计算生成整数集合 Xi,be[0,2Y)de,l<i<i3,l<b<d;
[0011] 步骤105:根据公式SQ =〈xQ>p+cQ · p生成加密模数偏移量δ〇:其中,p为私钥值,随机 整数取自集合[0,2λ+η/ρ)且使得(qP(x Q)-b)为一个非平方2A-rough整数;λ表示基于参数 高次偏移的全同态加密公钥压缩方法的安全参数;
[0012] 步骤1〇6:根据公式6^ =〈%〇>[)+|^^^生成公钥高次偏移量6^,其中,^4 是噪声变量
[0013] 步骤 1〇7:得至丨」公钥pk^sejoju,…,δυ,…,δβ),…,δ?^)。
[0014] 进一步,所述加密处理阶段中包括如下步骤:输入的公钥为pkzbejoju,…, 3i,d,…,δβ,ι,…,δβ,<〇,输入的明文为me {〇,1},输出的密文为ce [0,2γ),具体包括如下步 骤:
[0015] 步骤201:生成加密模数基础量xQ:用伪随机数生成器f和公钥向量中的种子se基 于多项式函数计算生成整数x 〇;
[0016] 步骤202:生成公钥基础量x1>b:用伪随机数生成器f和公钥向量中的种子se基于多 项式函数计算生成整数集合Xi,b;
[0017]步骤203:根据公式Χ0 = χ『δ。恢复加密模数χ0;
[0018] 步骤204:恢复公钥整数:根据公式χυ = χυ-δυ计算公钥高次整数Xl,b,其中,1彡 i彡β,1彡b彡d,d组共d β个公钥高次整数相乘得到τ个公钥整数χ/ι ?2,. Μ = χ??ι1 ·
τ表示公钥整数ΧΜ2的个数;
[0019] 步骤205:选择随机糸数向量:生成随机系数向量b = ilfi2,…,4 S β ;
[0020] 步骤206:选择随机噪声干扰:生成一个随机噪声干扰re (-2Ρ,2Ρ) ;ρ是干扰量r的 比特长度;
[0021] 步骤207:对明文m按bit加密生成密文

[0022] 有益效果:与现有技术相比,本发明提出的基于参数高次偏移的全同态加密公钥 压缩方法,通过以长度为订(λ 2)的加密模数偏移量和苕(log λ )个长度为U( λ 2)的公钥高 次偏移量取代加密使用的长度为订(λ 5)的加密模数和订(Α 3)个长度为ΙΤ( λ s)的公钥整 数生成公钥向量,将公钥尺寸从石(λ8)的量级压缩为?Γ( λ 2 log λ)的量级,降低了实际应 用系统的公钥存储压力,提高了整数上的全同态加密技术的实用性。
【附图说明】
[0023] 图1为所述的基于参数高次偏移的全同态加密公钥压缩方法的工作流程图。
【具体实施方式】
[0024] 下面结合附图对本发明做更进一步的解释。
[0025] 如图1所示,本发明提供的基于参数高次偏移的全同态加密公钥压缩方法,其在全 同态加密过程中的密钥生成、加密处理、密文运算和解密处理阶段进行相应的处理。
[0026]本发明采用的符号表示如下:
[0027] 小写英文字母表示整数,加粗字母表示向量,E表示整数集。对于给定的整数z和p, 〈z〉P和z mod p都表示z对p取模,即z除以p的余数,qP(z)表示z除以p的商,因此z = qP(z) ·ρ +〈2〉[)。2^仰1^11整数表示该整数不含有小于21勺质因子。0为渐进上限符号^=0(以11)) 表示无论X怎么增大,其值总是小于函数f(n)的某个常数倍,本发明使用渐进符号0描述方 法的复杂度,/(A)二·()(5(/0)表示对于某个指定的fc e Μ,?(λ) = 0 (g(A)i0gkg(>))。
[0028] λ表示基于参数高次偏移的全同态加密公钥压缩方法的安全参数,n表示私钥值p 的比特长度,τ表示公钥整数心一2,... &的个数,γ表示公钥整数的比特长度,册表示公钥高次 偏移量kb的个数,Ρ表示噪声参数,即生成公钥高次偏移量时使用的随机噪声干扰r1>b的比 特长度,P'表示第二噪声参数,即加密过程中使用的随机噪声干扰r的比特长度,α表示加密 过程中用于增加公钥随机性的随机系数向量b = 中整数的比特长度,t表示密文 运算电路C的输入端个数。
[0029]为保证提出的基于参数高次偏移的全同态加密公钥压缩方法的安全性,上述基本 参数设定为:n缩方(λ2),τ缩方(λ3),γ缩方(λ 5),d=lOgλ,?0 = (X;L),p = λ,P =δ(λ2),α=β(? 具体步骤如下:
[0030] 步骤1:密钥生成阶段:
[0031] 在密钥生成模块中,输出的公钥,私钥对为(pk,sk),全同态加密技术的安全参数 为λ,具体包括以下步骤:
[0032] 步骤101:生成私钥:令sk = p,p为随机生成的bit长度为η的大素数,pe[2n'2n), 取 ρδ?λ2),
[0033] 步骤102:选择随机种子:生成一个随机种子se;
[0034] 步骤103:生成加密模数基础量xQ:用伪随机数生成器f和随机种子se基于多项式 函数计算生成一个bit长度为γ的整数XQ,x〇e [0,24,取¥ _= 0('λ
[0035] 步骤104:生成公钥基础量x1>b:用伪随机数生成器f和随机种子se基于多项式函数 计算生成bit长度为γ的整数集合Xi,b,Xi,b e [0,2Y)de,其中,Ki彡彡d,取 β - (9(l)?d = logA;
[0036] 步骤105:生成加密模数偏移量δ〇:计算· p,其中,p为私钥值,随机整 数ξ〇取自集合[0,2A+Vp)且使得(qP(x0)-")为一个非平方2 A-rough整数,则δ0的bit长度为 (入+Γ1);
[0037] 步骤106:生成公钥高次偏移量6〇:对所有的l$i彡β,1彡b彡d计算δ〇 =〈χ〇〉ρ+ li,b · p-ri,b,其中,P 为私钥值,〈乂:1,1)〉1)表不>^:1,1)对?取模,
是bit长度为P的随机整数,P表示噪声 参数,即生成公钥高次偏移量时使用的随机噪声干扰r1>b的比特长度,ri,b是噪声变量,取P =λ,则δ?,?)的bit长度为(λ+η);
[0038] 步骤 107:得到公钥pk…,δυ,···,δβ),…,δβ,(;ι)。
[0039] 步骤2:加密处理阶段:
[0040] 在加密处理阶段中,输入的公钥为pk= (se , δ〇, δ1;1,…,δυ,…,δβ;1,…,δβ,<〇,输 入的明文为me{〇,l},输出的密文为 ce[0,2Y),具体包括以下步骤:
[0041 ]步骤201:生成加密模数基础量XQ:用伪随机数生成器f和公钥向量中的种子se基 于多项式函数计算生成整数X0;
[0042] 步骤202:生成公钥基础量x1>b:用伪随机数生成器f和公钥向量中的种子se基于多 项式函数计算生成整数集合Xi,b,Ki<P,Kb彡d;
[0043]步骤203:根据公式χο = χ〇-δ()恢复加密模数χ0;
[0044]步骤204:恢复公钥整数:根据公式Χυ = χυ-δυ计算公钥高次整数Xl,b,其中,1彡 i彡β,1彡b彡d,d组共di3个公钥高次整数相乘得到τ个公钥整数XM2....,ia = ΧΜ ·
,可知丁 =妒,取言=0(.λ 3),τ表示公钥整数气為:,....知的 个数;
[0045] 步骤205:选择随机系数向量:生成一个随机系数向量b = (&&.&) 1 S h,h.,b < β且i?M2.id e 21110,2,13%表示加密过程中用于增加公钥随机性的随机系 数向量b = (\,i2,...,k)中整数的比特长度,取α = f)( \2),。
[0046] 步骤206:选择随机噪声干扰:生成一个随机噪声干扰re (-2P7 ,2V hp'表示第二 噪声参数,即加密过程中使用的随机噪声干扰r的比特长度,取=0〇2>
[0047] 步骤207:生成密文:对明文m按bit加密生成密文e = [m + 2r + 2Σ叫....,....,...,dx。。
[0048] 步骤3:密文运算阶段:
[0049] 在密文运算阶段中,输入的密文为C1,C2,···,Cte [0,2γΓ,对于j<t,
j,输出的密文运算结果为y e [ο,2γ),具 体包括如下子步骤:
[0050] 步骤301:通过密文运算电路进行运算:将密文C1,c2,…,c t作为输入依次通过给定 的t输入端的密文运算电路C的所有加法门电路和乘法门电路以进行整数上的加法运算操 作和乘法运算操作。其中,t输入端的密文运算电路C为二进制电路,与实际应用时对密文进 行的函数运算相对应。
[0051 ]步骤302:生成密文运算结果:密文运算电路的输出即为密文运算结果y。
[0052] 步骤4:解密处理阶段:
[0053]在解密处理阶段中,输入的私钥为sk = p,输入的密文运算结果为V e[0,2Y),输 出的明文运算结果为n/ e {0,1},具体包括以下步骤:
[0054] 步骤401:通过解密电路:将密文运算结果通过解密电路计算π/=((/mod p)mod 2;
[0055] 步骤402:生成明文运算结果:解密电路的输出即为明文运算结果π/。
[0056] 2010年提出的整数上DGHV方案生成长度为苍(λ 5)的加密模数和苏( λ 3)个长度为 可〇5)的公钥整数作为公钥向量中的公钥元素,方案的公钥尺寸为万(λ 5)* = ·?Τ(λ8);本发明提出的基于参数高次偏移的全同态加密公钥压缩方法以生成的 随机种子、长度为λ2)的加密模数偏移量和π (i〇g λ)个长度为ιτ( λ2)的公钥高次偏移 量作为公钥元素,其相应的公钥尺寸为丌(入2) +芥(入2) _玎(log λ) = ττ(λ 2log λ)。相 比于DGHV方案,本发明削减了公钥尺寸的量级,降低了实际应用系统的公钥存储压力,提高 了整数上的全同态加密技术的实用性。
[0057] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种基于参数高次偏移的全同态加密公钥压缩方法,其特征在于:包括在密钥生成 阶段中以公钥高次偏移量代替公钥整数,并以加密模数偏移量代替加密模数生成公钥向 量;在加密处理阶段中通过公钥向量恢复加密模数和公钥高次整数,再用公钥高次整数相 乘得到加密所需的公钥整数。2. 根据权利要求1所述的基于参数高次偏移的全同态加密公钥压缩方法,其特征在于: 所述在密钥生成阶段中包括如下步骤: 步骤101:生成私钥sk:令sk = p,p为随机生成的一个比特长度为η的大素数,Pe [2n<,2 n); 步骤102:生成一个随机种子se; 步骤103:生成加密模数基础量Xo:用伪随机数生成器f和随机种子se基于多项式函数计 算生成整数Xoe [〇,2?;其中,γ表示公钥整数的比特长度; 步骤104:生成公钥基础量X1,b:用伪随机数生成器f和随机种子se基于多项式函数计算 生成整数集合 Xi,be[〇,2Y)de,l<i<i3,l<b<d; 步骤105:根据公式δ〇=〈χ〇〉ρ+ξ() · P生成加密模数偏移量δ〇:其中,P为私钥值,随机整数 ξ〇取自集合[〇,2λ+η/ρ)且使得(qP(x〇)_b)为一个非平方2 A-rough整数;λ表示基于参数高次 偏移的全同态加密公钥压缩方法的安全参数; 步骤106:根据公式5i,b =〈Xi,b〉P+li,b · p_ri,b生成公钥尚次偏移量3i,b,其中,ri,b是噪声步骤 107:得到公钥pk= (SeJoJia,…,δυ,…,Siu,…Ji^d)。3. 根据权利要求1所述的基于参数高次偏移的全同态加密公钥压缩方法,其特征在于: 所述加密处理阶段中包括如下步骤:输入的公钥为Pk=(SeJt)J iar" ,δυ,…,δβ,ν, Se,d),输入的明文为me {〇,1},输出的密文为c e [〇,2γ),具体包括如下步骤: 步骤201:生成加密模数基础量xQ:用伪随机数生成器f和公钥向量中的种子se基于多项 式函数计算生成整数x〇; 步骤202:生成公钥基础量X1,b:用伪随机数生成器f和公钥向量中的种子se基于多项式 函数计算生成整数集合X1,b; 步骤203:根据公式χο = χ〇-δ()恢复加密模数X0; 步骤204:恢复公钥整数:根据公Sx1^ = X1,b-δ^计算公钥高次整数Xl,b,其中, β,1彡b彡d,d组共d β个公钥高次整数相乘得到τ个公钥整数,id = Xkil · χ.?2,2 ·…xid,d' I S 4,?,…,ici S P ;'τ表示公钥整数3?為,.....知:的个数; 步骤205:选择随机系数向量:生成随机系数向量b = Ch1AL1')Λ < LllL?,-,U < ^ ; 步骤206:选择随机噪声干扰:生成一个随机噪声干扰r e (-2P\ );P7是干扰量r的比特长度; 步骤207:对明文m按bit加密生成密文
【文档编号】H04L9/30GK105933101SQ201610197397
【公开日】2016年9月7日
【申请日】2016年3月31日
【发明人】陈立全, 樊子娟, 黎洁昕, 张远方
【申请人】东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1