全同态加密
文章平均质量分 92
全同态加密
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
Faster Ring-Packing via BST and Ring-Switch
导致 KSK 规模的较大。为了进一步减小密钥规模,[BCK+23] 将上述的 Ring packing 推广到 Module packing,在 LWE 密文和 RLWE 密文之间插入 MLWE 密文,多层迭代。这里的 base ring packing 可以是上述的三种打包方法,但是 column method 不需要 Galois 自同构,因此不消耗 Levels,获得的收益会更大。自举要求巨大的模数,从而维度也会很大,之前的那些打包算法存在诸多限制:系数打包、速度慢、仅支持少量 LWE 密文。原创 2024-05-13 17:02:17 · 880 阅读 · 0 评论 -
Ring-Switch & Field-Switch
[GHPS12] 提出了环切换技术,它针对 coeff-packing,考虑的是 non-dual RLWE 版本。[GHPS13] 提出的域切换技术,它针对 slot-packing,并且考虑的是 dual RLWE 版本。原创 2024-05-11 17:08:13 · 401 阅读 · 0 评论 -
Simple ThFHE with poly ratio via Rényi Divergence
[BS23] 在安全定义中使用 Rényi Divergence 替换了原本的 statistical distance,给出了**多项式模数的简单 ThFHE 方案**。由于 Renyi 散度不兼容 IND-CPA 安全性,他们首先构造了 OW-CPA ThFHE,然后再转化为 IND-CPA ThFHE。原创 2024-05-06 17:35:48 · 744 阅读 · 0 评论 -
如何获得 FHE Circuit Privacy
电路隐私:保证任意的容许电路下的同态计算结果和新鲜加密的密文是计算不可区分的,从而不泄露所计算电路的信息。原创 2024-05-04 15:56:07 · 655 阅读 · 0 评论 -
Universal Thresholdizer:将多种密码学原语门限化
[BGG+18] 基于**门限同态加密**,给出了构造**各种门限密码系统**的一种通用方法。原创 2024-05-03 16:06:54 · 1526 阅读 · 6 评论 -
Faster Key-Switch via Decomposition
[KLSS23] 的设计思路为:* 外积运算**本身使用了某个 Gadget 向量** $g=(g_0,g_1,\cdots,g_{d-1}) \in R_{\tilde Q}^d$ 及其对应的 Gadget 分解函数 $h: R_{\tilde Q} \to R^d$* 给定某**元素** $a \in R_Q$,把它分解为**行矢** $\vec b=h(a)=(b_0,\cdots,b_{d-1}) \in R^d$* 我们**额外再使用一个 Gadget 向量** $\tilde g=(\t原创 2024-04-26 17:37:44 · 590 阅读 · 0 评论 -
Improve the BGV-BTS via Null Polynomials
[PS73] 描述了三种多项式求值算法,其中的算法 B 只需要加法和乘法,利用了 BSGS 以及 Horner’s rule,复杂度为 2n2\sqrt n2n 次非标量乘法。[GH11] 描述了一种批量的多项式求值算法:假设 M(k,n)M(k,n)M(k,n) 是总的非标量乘法的复杂度,易知:M(k,n)≤min(n−1,M(2k,n/2)+k+1)M(k,n) \le \min\left( n-1, M(2k,n/2) + k+1 \right)M(k,n)≤min(n−1,M(2原创 2024-04-18 17:39:51 · 893 阅读 · 0 评论 -
一些现有 FDFB 的设计思路
Full-Domain PBS原创 2024-04-17 11:10:52 · 591 阅读 · 0 评论 -
FDFB with smaller noise
[MHW+23] 将已有的 Full Domain Functional Bootstrap 分为了三类,Type-SelectMSB, Type-HalfRange, Type-Split原创 2024-04-08 16:16:22 · 719 阅读 · 0 评论 -
Polynomial Evaluation using Galois Structure in BFV/BGV
[OPP23] 利用 BFV/BGV 的明文槽是高维线性空间的特点,对于某些特殊的多项式(低次的变元、高秩的系数、基环上求值),提出了基于 Galois 自同构的求值算法,计算复杂度仅为 $O(\log d)$,而 [PS73] 的通用求值算法复杂度为 $O(\sqrt d)$,这里的计数单位是 KS 过程(乘法、自同构)。原创 2024-04-03 14:12:27 · 971 阅读 · 0 评论 -
Full Domain PBS
共计 2 次 PBS(为了降低噪声,使用了 Decompose,次数会更多,但是用 multi-output PBS 可以一起做),并且保持 LUT 规模不变。为了计算任意的函数,需要一个 Padding Bit 在 MSB 位置,这不仅导致明文空间缩小,还使得仿射变换之后必须执行 PBS 清理掉 Padding Bit,从而可以继续下一次仿射变换。在原始的 PBS 中,由于二的幂次分圆环是一个反循环卷积环,这导致 LUT 必须是反循环函数。的 LWE 密文(MSB 编码),提取它的符号。原创 2024-03-29 17:48:01 · 1058 阅读 · 0 评论 -
Leveled mode of TFHE
Leveled mode TFHE原创 2024-03-28 17:41:50 · 655 阅读 · 0 评论 -
Hardness of Scheme-Switching and Comparison in FHE
[EGM23] 证明了 Scheme-Switching 以及 Comparison 的困难度,给出了 BTS 到它们的归约。因此,方案切换和同态比较的计算复杂度不会很低,都与自举的复杂度相关联。原创 2024-03-15 17:14:17 · 902 阅读 · 0 评论 -
迭代的 CKKS 高精度自举
将 CKKS-BTS 作为黑盒,对 error 迭代自举,提高密文精度原创 2024-03-06 17:19:35 · 993 阅读 · 0 评论 -
Full-RNS CKKS
参考文献:[CHKKS18a] 提出了 CKKS 的 RNS 变体。一般地 FHE 需要很大的模数 QQQ,将它写作 Q=∏i=1LqiQ=\prod_{i=1}^L q_iQ=∏i=1Lqi,满足 qi=1(mod2N)q_i=1\pmod{2N}qi=1(mod2N),我们简记 Qi=q1⋯qiQ_i=q_1\cdots q_iQi=q1⋯qi,集合 {qi}\{q_i\}{qi} 称为 RNS Base,它们的大小至多为 646464 比特。我们希望 FHE 的全部运算都是单精度的(现代原创 2024-03-01 17:47:39 · 1155 阅读 · 2 评论 -
Faster Blind Rotation via Automorphisms
文章 [LMK+23] 提出了一种新的盲旋转方式,**使用自同构 $X \to X^t$ 实现盲旋转**,而非 AP/FHEW 或者 GINX/TFHE 的自举方式。文章的目标是使得盲旋转算法支持任意的私钥分布,保持较高的计算速度,同时显著减小自举秘钥的规模。另外,由于 **Threshold-FHE** 以及 **Multi-Key FHE** 的分布式秘钥生成的秘钥分布不是二元的,因此本文的自举算法容易扩展到两者。文章 [XZD+23] 提出了一种特殊形式密文的 NTRU-based GSW-lik原创 2024-01-30 16:40:18 · 533 阅读 · 0 评论 -
使用 FHEW-like 自举 BV-like
[KDE+23] 提出可以使用 FHEW-like 实现 BV-like 的通用自举程序。文章说给出了 C++ 实现,不过没有给代码链接;文章中说性能依旧需要继续改进,没有给出具体的数据。原创 2024-01-29 22:01:33 · 894 阅读 · 0 评论 -
Conversion Between (R)LWE
[CDKS21] 提出了新的 LWE 的 Key-Switch 技术,将 LWE 密文嵌入到 RLWE 密文上原创 2024-01-29 13:53:57 · 1169 阅读 · 0 评论 -
BGV/BFV 的统一自举算法
[GV23] 给出了 BGV 和 BFV 的统一自举算法,指出两者复杂度是相同的。原创 2024-01-24 13:18:30 · 1118 阅读 · 0 评论 -
Bit Extraction and Bootstrapping for BGV/BFV
多项式环 $R:=\mathbb Z[X]/(F(X))$,明文空间 $p=2$,密文模数 $\gcd(q,p)=1$,**BGV** 方案的解密分为三步:1. 计算私钥上的依赖密文的线性函数,$Z=\langle c,s\rangle \bmod F$2. 模掉密文模数,$e = [Z]_q$,这里 $e=2u+\mu \in R$3. 提取最低比特位,$\mu = [e]_2$[GHS12] 的一个重要观察是:如果 $q=2^r+1$,那么解密过程可以简化。原创 2024-01-22 22:13:02 · 1199 阅读 · 26 评论 -
近似的同态比较:简单多项式的迭代计算
CKK20] 提出可以通过迭代一个或两个简单多项式,来快速逼近符号函数,它达到了渐进最优。[CKK20] 的目标是找到一个好的简单多项式,并且它的迭代过程中不需要计算除法。事实上,我们只需要找出类似形状的多项式(不需要多项式分式),依旧可以通过迭代过程逼近这个阶跃函数。通过和 NewComp 的复杂度做比较,算法 NewCompG 在第一阶段的迭代深度降低了基本一半,因此乘法深度。需要的迭代次数也不同,但它是密文状态的,难以用它来动态地确定迭代次数。在第一阶段的迭代过程中,其实不需要。原创 2024-01-08 17:39:56 · 1050 阅读 · 8 评论 -
Large-Precision Sign using PBS
为了执行 [GBA21] 的 Tree-based PBS(包括高精度 LWE 密文的自举),我们需要同态数字分解算法。因此,模数(正确性)和维度(安全性)都会相应的变大,导致它比一般的 FHEW/TFHE 的效率更至少一倍。为了给出通用的算法(尤其是 CKKS 的噪声和明文混合在一起),[LMP22] 给出了第二个方法:使用三次 PBS,支持任意的噪声,在这个过程中,并不需要使用同态乘法,因此它的噪声就是 PBS 本身的噪声,常规的参数就足够使用。这里的 “精度” 指的是 MSD 编码的消息的比特长度。原创 2023-12-29 17:36:45 · 1128 阅读 · 0 评论 -
消除 TFHE 的限制:WoP-GenPBS
对比 [CIM19] 的 Multi-value PBS,它需要把 ACC 乘以各个函数的 Test Vector(FHEW-like),这导致了依赖于各个函数的噪声增长。注意 [CLOT21] 是将 LWE 的整数采取 Coeff Packing 编码在 GLWE 的多项式上,多项式乘积的系数包含了大量的无用结果,为了不发生回绕多项式的长度。在后续的算法中,LWEMult 是关键的部件,被用于组合多个 PBS 的结果,搭建出 WoP-PBS(不需要 Pading 成为半环)为了计算任意函数,我们将。原创 2023-12-27 17:43:13 · 561 阅读 · 5 评论 -
Multi-value & Large-LUT PBS
[CIM19] 分析了 FHEW 和 TFHE 的自举程序,发现:1. FHEW 使用 ACC 计算 $X^{b-s^Ta}$,然后使用关于 $F$ 的 Test Vector 作用到 ACC 上(多项式数乘),将 LUT 旋转为常数项是 $F(m)$ * 优点:盲旋转获得的 ACC,可以作用到关于不同 $F$ 的多个 TV 上 * 缺点:由于 ACC 和 TV 的乘法,**噪声增长依赖于 TV 的范数**2. TFHE 直接把这个 Test Vector 嵌入到初始的 ACC 中,计算过原创 2023-12-22 17:33:45 · 1044 阅读 · 0 评论 -
Amortized Bootstrapping of LWE:使用 BFV 打包处理
[LW23] 直接使用 BFV 的 SIMD 性质(并非 ACC + LUT)来批量自举 LWE 密文。简单来说:1. 输入若干 LWE 密文,**堆叠**为矩阵形式 $(A,b)$2. 采取 Pegasus 的**同态线性变换**,在 BFV 的明文槽中解密出 $\vec \mu=b-As$3. 将函数 $f$ **插值为多项式**,同态计算出 ${f(\vec\mu)}$,这是 Slot-Packing 打包的4. 采取 Slot-to-Coeff 技术**同态解码**,此时 BFV 加密 $原创 2023-12-15 17:39:02 · 540 阅读 · 0 评论 -
Pegasus:CKKS 和 TFHE 的混合
[MS18] 为了实现均摊 FHEW 自举,提出了 Ring packing 技术:将多个 LWE 密文(行矢)堆叠,然后按列转化为多项式,使用 Key-Switch 执行同态线性解密,最终获得打包了 LWE 的单个 RLWE 密文。但是,其中的 SwK 是对于 LWE 私钥的各个分量分别 RLWE 加密的,导致规模大、速度慢。[LHH+21] 提出的 Chimera 也使用类似的技术,将 TLWE 打包转换到 RLWE 密文上。[CDKS21] 提出了新的 Key-Switch 技术(后文简记原创 2023-12-12 17:25:59 · 1100 阅读 · 4 评论 -
CKKS 同态模约简:切比雪夫插值
插值任务:已知函数 f:D→Rf:D \to Rf:D→R 的若干相异数据点 (xi,yi),i=0,1,2,⋯ ,n(x_i,y_i),i=0,1,2,\cdots,n(xi,yi),i=0,1,2,⋯,n,共有 n+1n+1n+1 个点计算某个 nnn 次多项式 P(x)∈F[x]P(x) \in \mathbb F[x]P(x)∈F[x],使得误差 Rn(x)=f(x)−P(x)R_n(x)=f(x)-P(x)Rn(x)=f(x)−P(x) 尽可能的小我们定义多项式 wk(x)w_{k原创 2023-12-11 14:54:16 · 1080 阅读 · 0 评论 -
BGV 和 BFV 的统一框架
[CS15] 使用了启发式的平均噪声估计,研究了四种同态方案:BGV、BFV(scale-invariant version of BGV)、NTRU、YASHE(scale-invariant version of NTRU),并研究了两种 key-Switching 方案:BV 和 GHS。他们以相似的安全强度(808080 比特的安全性),给出了密文模数的选取建议,比较了密文规模以及运算效率。发现:对于 t=2t=2t=2 明文模数 YASHE 的效率略高一些,对于较大的明文模数 BGV 的原创 2023-12-07 14:34:20 · 679 阅读 · 7 评论 -
Full-RNS BGV/BFV
一般地,FHE 需要很大的模数 QQQ,将它写作 Q=∏i=1LqiQ=\prod_{i=1}^L q_iQ=∏i=1Lqi,满足 qi=1(mod2N)q_i=1\pmod{2N}qi=1(mod2N),我们简记 Qi=q1⋯qiQ_i=q_1\cdots q_iQi=q1⋯qi,集合 {qi}\{q_i\}{qi} 称为 RNS basis,它们的大小至多为 646464 比特。我们希望 FHE 的全部运算都是单精度的(现代计算机的机器字),也就是全部运算都在 RNS 下完成,而原创 2023-12-05 15:32:24 · 768 阅读 · 0 评论 -
Baby-Step Giant-Step & Homomorphic DFT
文章 [Shoup95] 研究并实现了 BSGS factoring method,用于将单变元多项式分解为不可约因子。其中使用了 CRT 和 FFT 来表示多项式(比 GHS12 的 Doube-CRT 更早) ,并且实现了多项式的快速乘法、除法、逆元、平方、GCD 等等运算。多项式分解可以分为三步,主要步骤集中在 step 2,[Shoup95] 观察到事实:对于任意的非负整数 a,b∈Z+a,b \in \mathbb Z^+a,b∈Z+,多项式 ha,b(x)=xpa−xpb∈GF(p)[原创 2023-11-28 17:15:13 · 970 阅读 · 0 评论 -
Amortized FHEW bootstrapping:Nussbaumer Transform & Ring Packing
[MS18] 给出了第一个 “困难假设的近似因子为**多项式**” 并且 “自举复杂度是(均摊)**亚线性**” 的 FHE 方案。虽然单次自举的复杂度略高于 FHEW,但是可以批处理,因此均摊下来减少了大约 $O(n)$ 因子。原创 2023-11-11 16:57:20 · 225 阅读 · 0 评论 -
FHE as secure as PKE & Circuit Privacy for Free
[BV14] 展示了 GSW 的**非对称噪声增长**,并利用分支程序的每条语句都依赖**新鲜的输入密文**,给出了可计算任意 $NC^1$ 电路的 Level FHE,噪声比率为 $\alpha=n^{-c},c>0$。然后利用连续的 dimension-modulus reduction procedure,将它降低到了 $\alpha \le 1/\tilde O_\kappa(n^\epsilon \cdot \sqrt{n\log q})$,最终给出了第一个满足以下归约的全同态加密方案:原创 2023-11-08 10:42:14 · 115 阅读 · 0 评论 -
FHEW 和 TFHE 的统一框架:标准化 FHE
FHEW 和 TFHE 本质上仅仅是**同态累加器的实现不同**,因此 [MP21] 将两者统一,使得它们满足 [ACC+18] 的**全同态加密标准化建议**:密文框架采用 FHEW 的密文格式(LWE/RLWE/RGSW),自举框架采用 FHEW 的累加器抽象,优化技术采用 TFHE 的外积运算。[MP21] 采取了更多的优化技术,包括:对 FHEW 的时间/空间权衡(更大的进制分解)、对 TFHE 的私钥分布扩展(利用自举例程的线性)。原创 2023-11-06 15:46:08 · 461 阅读 · 4 评论 -
FHE 的高精度算术:BGV-big、BFV-big
# BGV-big-number类似于 [HS00] 的 **NTRU 优化技巧**,[GC15] 提出了 Ring Isomorphism Encoding 编码方案,使用形如 $p=x-b$ 的明文模数,给出了**高精度整数的 BV/BGV 变体**。原创 2023-10-30 17:46:07 · 270 阅读 · 0 评论 -
Chimera:混合的 RLWE-FHE 方案
[CGGI20] 给出了实数环面(Torus)上的 T( R )LWE-based FHE 算法 TFHE,其密文的底层代数结构是连续的环面(而非 BGV/BFV、CKKS 的离散的环)。[BGGJ20] 提出了如何把 BFV、CKKS 的明密文空间都映射到环面上,**可以将 BFV、CKKS、TFHE 的明密文空间统一起来**,实现了三者之间的密文转换。开源代码:[DPPH/**chimera-iDash2018**](https://github.com/DPPH/chimera-iDash2018)原创 2023-10-27 23:03:45 · 721 阅读 · 0 评论 -
TFHE 的全同态模结构(FHE Module Structure)
TFHE 就是让 **TGSW 和 TLWE**、**TRGSW 和 TRLWE** 组成了全同态模结构,从而实现了 “外积”,* 元组 $((\mathbb Z,\text{TGSW}),(\mathbb T,\text{TLWE}))$,组成了环 $\mathbb Z$ 模 $\mathbb T$ 的全同态模结构* 元组 $((R,\text{TRGSW}),(\mathbb T_R,\text{TRLWE}))$,组成了环 $R$ 模 $\mathbb T_R$ 的全同态模结构原创 2023-10-23 23:59:04 · 302 阅读 · 0 评论 -
SEAL:如何将数值(int, float)编码为多项式(Z[x])
微软 [DGL+15] 给出了 BFV 的简单实现 **SEAL**(Simple Encrypted Arithmetic Library),之后的 [CLP17] 描述了 SEAL v2.1 版本。原创 2023-10-19 17:39:40 · 168 阅读 · 4 评论 -
Modulus Lift & Delayed Reduction
GHS12] 中提出了著名的槽切换技术,使用 Shift Networks 实现任意的置换。这篇文章的附录中还有一些有意思的贡献,它提出了 BGV 的变体,它的环是。可能有很多的非零系数,取模运算极为麻烦。总是不太好计算的,不仅仅是解密运算,我们想要将密文本身也放置到环。但是这个环上的 RLWE 很简单,因为可以归约到环。是任意的分园多项式。而在 BGV 的环是。,采取 LSB 编码,解密函数为。[GHS12] 的方法是利用。都是向量,内积运算需要在。的一维格,不是困难的。,并且它的系数表示的。原创 2023-10-17 17:34:26 · 137 阅读 · 0 评论 -
FHE 的槽置换:Benes Network
BGV 的 SIMD 技术中,提供了 component-wise $l$-Add and $l$-Mult,以及底层代数结构提供的 $l$ 个简单的快速迁移置换。我们希望再实现任意的 $l$-Permute,从而获得数组运算的**完备集**(complete set of operations for arrays)在第 $i-1$ 层的输出线有 $w$ 条,打包在大约 $w/l$ 个密文中(可能包含 empty slots)。第 $i$ 层的输入线有 $w'$ 条,它们是来自上一层输出线的任意映射:原创 2023-10-17 11:55:26 · 354 阅读 · 5 评论 -
环面上 FHE 的快速自举:GSIS/GLWE & LUT/Automata & Blind Rotate
TFHE 方案的盲旋转,它将环面以精度 $1/2N$ 离散化,然后使用 $v \in \mathbb T[X]/(X^N+1)$ 记录 “**反循环函数**”(满足 $f(x+1/2)=-f(x)$ 反对称性) $f(i/2N)$ 的 Lookup Table,使用自举秘钥 $E(si)$ 作为控制位,串行执行 MUX 实现对向量 $v$ 的循环移位,最后提取出 $f(b-s \cdot a) \in \mathbb T$ 的 TRLWE 密文。离散环面上的园整函数,恰好就是一个反循环函数。原创 2023-10-07 22:04:08 · 413 阅读 · 0 评论