全同态发展简介与Packing Messages and Optimizing Bootstrapping报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全同态加密发展简介与 Packing Messages and Optimizing Bootstrapping 报告
1、全同态大体背景 1.1 历史背景—主要是应用,后面详细介绍 1.2 定义 FHE={Gen,Enc,Dec,Eval} Gen: { pk , sk , evk} Gen(1n ) Enc: c Enc( pk , m) Dec: m Dec( sk , c ) Eval: c f Eval (evk , f ,{c1, c2 ,..., cl }) 要求: 1) 对于任意概率多项式时间(PPT)的对手 A,{Gen,Enc,Dec} 必须是 CPA-安全的, 即攻击者首先选择明文,然后使用加密算法(公开的)产生相应的密文,期望用得到的明 -密 文来降低密码体制安全性。 (选择密文攻击 CCA:攻击者选择密文并可以使用解密服务产生相应的明文,攻击者期 望在不使用解密服务的情况下用所得到的明文来猜测其余的密文对应的明文。 ) 2) 对任意算术电路 f ,算法 Eval 输出的密文长度最多是 s poly (n) ,应该与输入变量的数 量和 f 无关。 3) 应该要求 Pr[ Dec(sk , c f ) f (m1, m2 ,..., ml )] negl (n) 。 2. 主要 FHE 2.1 Gentry 框架(Gentry‟ Blueprint) :I 建立一个 somewhat 的 homomorphic encryption 方案, 即能够同态计算一步或有限几步的同态方案。II 利用 Bootstrapping 定理将上述 somewhat 的同态方案转化为全同态加密方案。III 压缩解密电路。 2.2 基于 LWE 困难的方案: (Bv11b,GSW13) 。 I Bv11b 方案: 加密: C a,b
x vi

同态加法。设 C1 和 C2 分别为对应于明文 μ1 和 μ2 的两个密文。令 C+ 为 C1 与 C2 之和,即
C+ = C1 +C2 。 可 得 ������ + ∙ ������ = (������1 +������2 ) ∙ ������ = ������1 ∙ ������ + ������2 ∙ ������ = ������1 ∙ ������ + ������1 +������2 ∙ ������ + ������2 = (������1 +������2 ) ∙ ������ + (������1 + ������2 )。若e1 + e2 足够小,即可保证同态解密正确。 同态乘法。设 C1 和 C2 分别为对应于明文 μ1 和 μ2 的两个密文。令 C× 为 C1 与 C2 之乘积,即 C× = C1 ∙ C2 。 可 得 ������ × ∙ ������ = ������1 ∙ ������2 ∙ ������ = ������1 ∙ ������2 ∙ ������ + ������2 = ������2 ∙ ������1 ∙ ������ + ������1 +������1 ∙ ������2 = ������1 ∙ ������2 ∙ ������ + ������2 ∙ ������1 +������1 ∙ ������2 = ������1 ∙ ������2 ∙ ������ + ������������������������������ 。如果μ2 ∙ e1 +C1 ∙ e2 足够小,就可以保证同态解密 的正确性。 注意到该操作得到的噪音与μ2 ,C1 和原噪音e1 ,e2 有关。为控制μ2 对噪音增长的效果,必 须控制密文矩阵元素的范围。故方案中采取了所谓的密文平化处理。 所谓密文平化处理,即使用三个算法: ①Powersof2 b = (������1 , 2������1 , ⋯ 2������−1 ������1 , ⋯ , ������������ , ⋯ , 2������−1 ������������ ),是一个N维向量。 ②Bitdecomp a :一个 N维向量:(������1,0 , ������1,1 , ⋯ ������1,������−1 , ������2,0 , ⋯ ������������ ,0 , ⋯ ������������ ,������−1 ),这里 ai,j 是ai 的 二进制表示中的第j位。 这两个算法满足:< ������������������������������������������������������ a , Powersof2 b >=< a, b > 。 ③平化算法: ������������������������������������������ ������′ = ������������������������������������������������������ ������������������������������������������−1 ������′ 。 该算法得到一个N维 0/1 向量。
经证明, 对上述模型, 如果存在一个有效解决算法, 则必存在一个有效的量子算法能够解决R上 ������ (1) 理想格的d ∙ (������/������)近似最坏情况的最短向量问题(SVP) 。 II BGV 方案。 参数设置: R Z[ x] ( f ( x)) =Z[ x]/(xd 1) ,其余各参数同 RLWE 问题。 2 私钥产生:均匀随机选取s′ ← ������。设置������������ = ������ ← (1, ������′) ∈ ������������ 。 N N 公钥产生:均匀随机产生向量 B Rq 和 e ,并设置 b Bt 2e 。令 A [b B] 。注意 到:������ ∙ ������ = 2������。取������作为公钥 pk 。 2 N 加密:对于明文 m R2 ,设 m ( m, 0) R q ,随机选择向量 r R2 ,计算得到密文:
若输入为矩阵A,以上三个算法结果定义为对A的每行做相应运算得到的矩阵。 该算法满足:对N × N矩阵C和N维向量������ = Powersof2 ������ ,有Flatten ������ ∙ ������ = ������ ∙ ������ 。即它 能够将矩阵变为 0-1 矩阵,同时保持其与������ = Powersof2 ������ 的乘积等于原来矩阵������ 与������的乘积。 2.3 BGV 方案。 I Ring-LWE 问题。 设安全参数为 n,多函数 f ( x) xd 1 ,这里 d d (n) 为 2 的幂。令 q q(n) 2 为整数。又
设 R Z[ x] ( f ( x)) =Z[ x]/(xd 1) , Rq R qR , (n) 为 R 上的一个分布。则 RLWEd , p, 问题
2 的目标是区分下列两个分布:第一个分布是从 Rq 中均匀随机选择 (ai , bi ) 。第二个分布是首先
2 从 Rq 中随机选择向量 s 和 ai ,从 上随机选择 ei ,然后计算 bi ai s ei 并构造 (ai , bi ) Rq 。已
q) 。密钥v是一个Zq 上的N维向量,具有至少一个大的分量。明文μ是一个小的整数。e是一个 小的误差向量。基本加密方案为:������ ∙ ������ = ������ ∙ ������ + ������。可以看出,μ是方阵C的近似特征值,而密 钥v是方阵C的近似特征向量。 基本解密方案。 从方阵C中提取第i行Ci , 计算: ������ ←< ������������ , ������ >= ������ ∙ ������������ + ������������ , 然后计算: μ=
n a,S 2e m Zq Zq 。其中m
n ∈ {0,1}为明文,S ∈ Zq 是解密私钥,a 为随
n 机向量,且a ∈ Zq ,e ≪ q为噪音,C 为密文。q为大奇数,不需要为素Байду номын сангаас。
解密: b -
a,S
modq mod2 。
注:1) 该方案显然是符合加法同态的,但据有人分析,只支持一次乘法同态操作,因为 乘法操作使得密文膨胀很巨大。 2) 为解决上述问题, 引入重线性化技术。 即将两个密文相乘得到的一次项和二次项均用一 个新密钥 t 加密,再做一定处理,就会将原乘积变为关于新密钥 t 的一次多项式。再用密 钥 t 解密,即可得到原来两个密文的乘积。 3) 又引入模交换技术。 将参数为(n, logq)的密文C变为参数为(k, logp)的密文C„, 且C与C‟对 应同一个明文(密钥不同) 。 II GSW13 方案。 2013 年 8 月, Gentry 在 Crypto 会议上提出了一个基于近似特征向量的全同态加密新方 案。 该方案也可以推广到环-LWE 上, 但是其效率不如目前环-LWE 上的其它方案 (例如: BGV
方案) 。 该方案的一个最大特点就是解决了密文乘积所带来的密文维数膨胀问题 (该方案的密文是 矩阵,矩阵的乘积并不会导致矩阵维数的改变) ,从而消除了使用密钥交换技术。尽管密钥交 换技术直接导致了 LWE 上的全同态加密方案的出现, 但是使用密钥交换技术的代价是巨大的, 需要在公钥中加入许多用于密钥交换的矩阵,而且每次密文计算后都需要做密钥交换计算。 基本加密方案。本方案中,密文C是取值在Zq 上的一个N × N的方阵。其元素较小(远小于
2 。 c m AT r Rq
m ' AT r , s m ', s AT r , s m+2r T e 。 c, s 解密:计算 m q 2 q q q 2 2 2 注:实际方案中还要用到密钥交换技术和模交换技术。 3、全同态加密的最近工作 虽然全同态体制的实用化方面有了很多工作,但其实现效率还远未达到实用要求。一个重要原 因是到目前为止, 自举技术是实现真正全同态加密的唯一选择。而自举操作的复杂性至少是解 密算法的复杂度乘以用来加密密钥比特的密文的比特长度。 这是因为自举技术需要同态计算解 密函数,而解密密钥需要经过加密处理。解密算法的复杂度和密钥长度均为 O ( ) 。因此自举 的复杂度至少是二次的。 1) 对原有方案的优化,主要包括: 自举技术效率的提升: Brakerski 和 Vaikuntanathan ([BV14] Z. Brakerski and V. Vaikuntanathan. Lattice-based FHE as secure as PKE. In ITCS,2014)在基于多项式近似近似因子的 LWE 问题基础上,对自举技术进 行了优化。 他们的工作是在 GSW13 方案的基础上, 结合 Barrington‟s 的“电路顺序化定理”(STOC 1986)进行的。 得到的结果是, 在同态乘法中误差增长是多项式级别的。 但却是很大的多项式, 其整体效率也不高。 2014 年 6 月 13 日, Jacob Alperin-Sheriff 和 Chris Peikert 发表了一篇名为 Faster Bootstrapping with Polynomial Error 的文章,给出了一个新的自举算法。其运行时间和误差都是比 GSW13 更小的多项式级别的。一个重要思路是将解密算法看成一个算术函数 arithmetic function,而不 是一个布尔电路 boolean circuit。这就可以避免以前迂回低下的模式:首先要设计一个浅层电 路,然后通过 Barrington‟s 的定理转换成多项式长度的分支程序,以直接有效的算术形式评估 解密函数。其次,注意到两个向量的点积运算其中只用到循环群的理论。另外,还提出了一个 GSW13 方案的简化版本。 2015 年,加利福尼亚大学的 L´ eoDucas 和 Daniele Micciancio 发表了一篇名为 FHE Bootstrapping in less than a second 的文章。声称提出了一个新的基于 LWE 的自举方法,可以 在个人电脑上在半秒之内完成自举。而之前最新的成果是 Halevi 和 Shoup 在 HElib 中实现的 (Algorithms in HElib)自举(刷新)过程大约用了半小时。主要使用了两个技术。一个是计 算两个 LWE 密文的与非门的新方法。由于 LWE 方案密文满足近似加同态性质,即由 b a,s 2e m ,得到 b1 b2 a,s 2e1 m1 a,s 2e 2 m 2,对其解密得到 m1 m2 ,
相关文档
最新文档