![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
全同态加密
文章平均质量分 93
全同态加密
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
Unbounded CKKS for Bits & NTT with Composite Modulus
[DMP+24] 假设 CKKS 编码的消息取自**某个先验的离散集合**,然后使用**阶跃函数**将带噪的相位映射到**最近的离散点**(效果就是减小了噪声),从而可以支持无界深度的电路。原创 2024-06-19 17:38:55 · 1078 阅读 · 0 评论 -
Amortized bootstrapping via Automorphisms
[GPV23] 和 [DKM+24] 都遵照 [MS18] 的思路:1. **packing**:将 $n$ 个 LWE 密文打包成单个 RLWE 密文,系数编码,形如 $(b,a) \in R_{q,n}^2$,私钥 $s \in R_{n}$2. **decryption**:把 $s_i$ 加密在 RGSW 密文中作为自举密钥,将多项式 $a,b$ 的 DFT-form 加密在 RGSW 密文的指数上($q$ 阶乘法循环群),利用 RGSW 同态乘法(指数上的加法)计算常数 $NTT(a)$ 和原创 2024-06-11 16:55:44 · 1073 阅读 · 0 评论 -
New Work-flow of Circuit Bootstrapping
TFHE 除了有 FHE mode,还有 [CGGI17] 提出的 LHE mode:* 前者每个 Gate 都需要自举,利用 **LinPoly + PBS** 实现布尔运算;* 后者仅在噪声过大或者类型不符时才自举,利用 **det-WFA + CMux-based OBDD + BRS** 实现布尔运算。由于 RLWE 和 RGSW 外积的噪声增长不对称性,只要 RGSW 加密消息的范数很小(比如:布尔值、单项式),那么 LHE 的容许 CMux 深度就会很大。原创 2024-06-07 17:37:21 · 727 阅读 · 8 评论 -
TFHE-Key Packing,Smooth KS Process,Key Unrolling,Approximate Gadget Decomposition
[KLD+23] 关注 **Blind Rotation Key** 的传输开销,用于客户端能力受限的场景。原创 2024-05-31 17:26:52 · 926 阅读 · 0 评论 -
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 · 932 阅读 · 0 评论 -
Ring-Switch & Field-Switch
[GHPS12] 提出了环切换技术,它针对 coeff-packing,考虑的是 non-dual RLWE 版本。[GHPS13] 提出的域切换技术,它针对 slot-packing,并且考虑的是 dual RLWE 版本。原创 2024-05-11 17:08:13 · 430 阅读 · 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 · 760 阅读 · 0 评论 -
如何获得 FHE Circuit Privacy
电路隐私:保证任意的容许电路下的同态计算结果和新鲜加密的密文是计算不可区分的,从而不泄露所计算电路的信息。原创 2024-05-04 15:56:07 · 682 阅读 · 0 评论 -
Universal Thresholdizer:将多种密码学原语门限化
[BGG+18] 基于**门限同态加密**,给出了构造**各种门限密码系统**的一种通用方法。原创 2024-05-03 16:06:54 · 1606 阅读 · 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 · 645 阅读 · 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 · 961 阅读 · 0 评论 -
一些现有 FDFB 的设计思路
Full-Domain PBS原创 2024-04-17 11:10:52 · 609 阅读 · 0 评论 -
FDFB with smaller noise
[MHW+23] 将已有的 Full Domain Functional Bootstrap 分为了三类,Type-SelectMSB, Type-HalfRange, Type-Split原创 2024-04-08 16:16:22 · 733 阅读 · 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 · 1028 阅读 · 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 · 1078 阅读 · 0 评论 -
Leveled mode of TFHE
Leveled mode TFHE原创 2024-03-28 17:41:50 · 678 阅读 · 0 评论 -
Hardness of Scheme-Switching and Comparison in FHE
[EGM23] 证明了 Scheme-Switching 以及 Comparison 的困难度,给出了 BTS 到它们的归约。因此,方案切换和同态比较的计算复杂度不会很低,都与自举的复杂度相关联。原创 2024-03-15 17:14:17 · 919 阅读 · 0 评论 -
迭代的 CKKS 高精度自举
将 CKKS-BTS 作为黑盒,对 error 迭代自举,提高密文精度原创 2024-03-06 17:19:35 · 1089 阅读 · 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 · 1333 阅读 · 6 评论 -
Small and Fast 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 · 580 阅读 · 0 评论 -
使用 FHEW-like 自举 BV-like
[KDE+23] 提出可以使用 FHEW-like 实现 BV-like 的通用自举程序。文章说给出了 C++ 实现,不过没有给代码链接;文章中说性能依旧需要继续改进,没有给出具体的数据。原创 2024-01-29 22:01:33 · 929 阅读 · 0 评论 -
Conversion Between (R)LWE
[CDKS21] 提出了新的 LWE 的 Key-Switch 技术,将 LWE 密文嵌入到 RLWE 密文上原创 2024-01-29 13:53:57 · 1240 阅读 · 0 评论 -
BGV/BFV 的统一自举算法
[GV23] 给出了 BGV 和 BFV 的统一自举算法,指出两者复杂度是相同的。原创 2024-01-24 13:18:30 · 1225 阅读 · 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 · 1296 阅读 · 38 评论 -
近似的同态比较:简单多项式的迭代计算
CKK20] 提出可以通过迭代一个或两个简单多项式,来快速逼近符号函数,它达到了渐进最优。[CKK20] 的目标是找到一个好的简单多项式,并且它的迭代过程中不需要计算除法。事实上,我们只需要找出类似形状的多项式(不需要多项式分式),依旧可以通过迭代过程逼近这个阶跃函数。通过和 NewComp 的复杂度做比较,算法 NewCompG 在第一阶段的迭代深度降低了基本一半,因此乘法深度。需要的迭代次数也不同,但它是密文状态的,难以用它来动态地确定迭代次数。在第一阶段的迭代过程中,其实不需要。原创 2024-01-08 17:39:56 · 1094 阅读 · 8 评论 -
Large-Precision Sign using PBS
为了执行 [GBA21] 的 Tree-based PBS(包括高精度 LWE 密文的自举),我们需要同态数字分解算法。因此,模数(正确性)和维度(安全性)都会相应的变大,导致它比一般的 FHEW/TFHE 的效率更至少一倍。为了给出通用的算法(尤其是 CKKS 的噪声和明文混合在一起),[LMP22] 给出了第二个方法:使用三次 PBS,支持任意的噪声,在这个过程中,并不需要使用同态乘法,因此它的噪声就是 PBS 本身的噪声,常规的参数就足够使用。这里的 “精度” 指的是 MSD 编码的消息的比特长度。原创 2023-12-29 17:36:45 · 1145 阅读 · 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 · 585 阅读 · 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 · 1062 阅读 · 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 · 591 阅读 · 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 · 1189 阅读 · 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 · 1163 阅读 · 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 · 838 阅读 · 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 · 864 阅读 · 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 · 1037 阅读 · 0 评论 -
Amortized FHEW bootstrapping:Nussbaumer Transform & Ring Packing
[MS18] 给出了第一个 “困难假设的近似因子为**多项式**” 并且 “自举复杂度是(均摊)**亚线性**” 的 FHE 方案。虽然单次自举的复杂度略高于 FHEW,但是可以批处理,因此均摊下来减少了大约 $O(n)$ 因子。原创 2023-11-11 16:57:20 · 247 阅读 · 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 · 131 阅读 · 0 评论 -
FHEW 和 TFHE 的统一框架:标准化 FHE
FHEW 和 TFHE 本质上仅仅是**同态累加器的实现不同**,因此 [MP21] 将两者统一,使得它们满足 [ACC+18] 的**全同态加密标准化建议**:密文框架采用 FHEW 的密文格式(LWE/RLWE/RGSW),自举框架采用 FHEW 的累加器抽象,优化技术采用 TFHE 的外积运算。[MP21] 采取了更多的优化技术,包括:对 FHEW 的时间/空间权衡(更大的进制分解)、对 TFHE 的私钥分布扩展(利用自举例程的线性)。原创 2023-11-06 15:46:08 · 566 阅读 · 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 · 306 阅读 · 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 · 760 阅读 · 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 · 391 阅读 · 0 评论