- 博客(266)
- 资源 (1)
- 收藏
- 关注
原创 Unbounded CKKS for Bits & NTT with Composite Modulus
[DMP+24] 假设 CKKS 编码的消息取自**某个先验的离散集合**,然后使用**阶跃函数**将带噪的相位映射到**最近的离散点**(效果就是减小了噪声),从而可以支持无界深度的电路。
2024-06-19 17:38:55
1075
原创 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
1072
原创 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
721
8
原创 HElib 使用样例
文件 `./.cscode/tasks.json`(用于代码编译),在 `"args"` 中配置:头文件目录 `-I`、库文件目录 `-L`、链接的库 `-lhelib -lntl -lgmp -lgf2x -lssl -lstdc++ -lm`(注意 `gcc` 遵循 “从左到右” 编译顺序,**依赖其他库的库应当放在前面,被依赖的库必须放在后面**,否则依旧会出现 `undefined reference to` 报错,不过 `cmake` 似乎会自动重排)
2024-06-03 21:05:27
810
1
原创 ACWC:Worst-Case to Average-Case Decryption Error
PKE 最基本的要求是 Average-Case Decryption Error 可忽略。为了抵御 decryption-error attacks,还需要保证 Worst-Case Decryption Error 也是可忽略的。
2024-06-03 17:44:57
680
原创 OpenFHE 使用样例
BGV 方案使用 LSD 纠错码,**需要模切换**。在 `Ciphertext` 密文中,`GetScalingFactorInt()` 记录了**扭曲因子**,`GetLevel()` 记录了**乘法深度**,`GetNoiseScaleDeg()` 记录了**扭曲因子的指数**,`GetElements().size()` 是密文中环元素向量的长度。对于 `PackedPlaintext` 打包,明文模数必须是**满足 NTT 的大素数**,槽旋转对应的自同构指标由 `5 mo
2024-06-02 17:58:04
1090
原创 TFHE-Key Packing,Smooth KS Process,Key Unrolling,Approximate Gadget Decomposition
[KLD+23] 关注 **Blind Rotation Key** 的传输开销,用于客户端能力受限的场景。
2024-05-31 17:26:52
925
原创 Randomized Encodings in NC^0
IK00] 利用 Branching Program 构造出了任意布尔函数的 degree-3 随机多项式,这是紧的。在较温和的假设下,密码原语 OWF,PRG,CR-Hash,Enc,Sign,MACs,NI-Sommit 都可以在。因为 [IK00] 构造出了任意布尔函数的 degree-3 随机多项式,因此 [AIK04] 就构造出了。利用 minimal PRG,可以构造出一个对称加密方案,使得它的加密是落在。的电路所计算,这个电路包含:有界扇入的 OR 以及 AND,无界扇入的。
2024-05-21 17:45:18
746
原创 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
930
原创 Ring-Switch & Field-Switch
[GHPS12] 提出了环切换技术,它针对 coeff-packing,考虑的是 non-dual RLWE 版本。[GHPS13] 提出的域切换技术,它针对 slot-packing,并且考虑的是 dual RLWE 版本。
2024-05-11 17:08:13
426
原创 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
原创 如何获得 FHE Circuit Privacy
电路隐私:保证任意的容许电路下的同态计算结果和新鲜加密的密文是计算不可区分的,从而不泄露所计算电路的信息。
2024-05-04 15:56:07
682
原创 Universal Thresholdizer:将多种密码学原语门限化
[BGG+18] 基于**门限同态加密**,给出了构造**各种门限密码系统**的一种通用方法。
2024-05-03 16:06:54
1603
6
原创 PZK via OWF
[SMP88] 提出了一个弱化版本的 NIZK 系统,叫做 ZKP with Pre-processing(**PZK**)。它是一个 IP 系统,可以明确地分成交互阶段和非交互阶段。在交互阶段,Prover 和 Verifier 仅仅交换**一些和要证明的 statement 无关的信息**(预处理);在非交互阶段,Prover 发送 proof 给到 Verifier,后者不必回复。
2024-05-03 14:27:14
771
原创 Linear Secret-Sharing Scheme(LSSS)& Monotone Span Program(MSP)
人们证明了 Monotone Span Program 等价于 Linear Secret-Sharing Scheme。
2024-04-27 20:00:49
1010
原创 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
原创 Pasta:HHE Optimized Stream Cipher
DGH+23] 给出了 HHE 的形式化定义,设计了一个通用的 HHE 测试框架,并评估了目前已有的 HHE 方案的执行效率。为了降低乘法深度,采取的措施有:最小化轮数,低次数的 S-box(代价是更大的状态,但设计 packing-friendly cipher),平衡乘法深度和运算时间。不过 Rasta 使用了随机化的线性层(已经抵御了统计攻击),因此它的非线性层只需要求逆的次数很高即可(抵御代数攻击)。
2024-04-24 14:59:44
589
原创 海绵结构(sponge construction):Hash as RO
所有的 Iterated hash functions(例如 MD 结构)都存在 state collisions(有限的状态)。假如 $M_1 \neq M_2 \in \Sigma^*$ 会导致 chaining value 出现碰撞,那么对于任意的后缀 $N \in \Sigma^*$,总有 $M_1\|N \neq M_2\|N$ 具有相同的 digits,这个性质是 RO 不应该具有的。**其实状态碰撞是被允许的,但它不应该表现出外部可见的行为**。
2024-04-21 15:13:39
851
原创 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
959
原创 FDFB with smaller noise
[MHW+23] 将已有的 Full Domain Functional Bootstrap 分为了三类,Type-SelectMSB, Type-HalfRange, Type-Split
2024-04-08 16:16:22
732
原创 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
1026
原创 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
1075
原创 Hardness of Scheme-Switching and Comparison in FHE
[EGM23] 证明了 Scheme-Switching 以及 Comparison 的困难度,给出了 BTS 到它们的归约。因此,方案切换和同态比较的计算复杂度不会很低,都与自举的复杂度相关联。
2024-03-15 17:14:17
919
原创 FHE 的应用场景
HPRE 的一种简单实现就是 delegator 利用 delegatee 的 pk 加密自身的 sk 发送给 proxy,于是 proxy 可以在不知道 sk 的情况下实现密文的重加密。实现了大数据集上的峰岭回归。[DHP+18] 提出了一种基于 Finite Field Isomorphism(FFI)问题的 FHE,说的是恢复两个有限域之间的同构映射是困难的。变体 B/FV,[BEHZ16] 和 [HPS19] 给出了 BFV 的 RNS 变体,[KLPX18] 给出了 BFV 的大明文模数的变体。
2024-03-02 17:15:25
979
原创 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
1316
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人