FDFB with smaller noise

参考文献:

  1. [CZB+22] Clet P E, Zuber M, Boudguiga A, et al. Putting up the swiss army knife of homomorphic calculations by means of TFHE functional bootstrapping[J]. Cryptology ePrint Archive, 2022.
  2. [MHW+23] Ma S, Huang T, Wang A, et al. Fast and accurate: efficient full-domain functional bootstrap and digit decomposition for homomorphic computation[J]. Cryptology ePrint Archive, 2023.
  3. 消除 TFHE 的限制:WoP-GenPBS-CSDN博客
  4. Large-Precision Sign using PBS-CSDN博客
  5. Full Domain PBS - CSDN博客

文章目录

  • Types of FDFB
  • FDFB
    • FDFB-Compress
    • FDFB-CancelSign
    • FDFB-Select
    • FDFB-SelectAlt
    • WoP-PBS1-Refine
    • FDFB-BFVMult
  • Homomorghic Decomposition
    • HomDecomp-Reduce
    • HomDecomp-FDFB
  • Analysis

Types of FDFB

[MHW+23] 将已有的 Full Domain Functional Bootstrap 分为了三类,

  • Type-SelectMSB
    • 思路是使用 MSB 去挑选两个反循环的 LUT,组合为任意函数
    • [CLOT21] 使用 BFV-Mul 构建 CMux Gate,挑选两个 LUT 执行 PBS 的结果
    • [KS22] 使用 Power-of-Base Scale-Mul 构建 ACC-Builder,从两个公开的 LUT 中挑选出一个去执行 PBS
  • Type-HalfRange
    • 思路是将消息限制到一半的空间,使用反循环的 LUT 去计算
    • [CLOT21] 强行提升密文模数,使用 BFV-Mul 消除随机 MSB 的影响
    • [LMP22] 强行提升密文模数,使用 PBS 消除随机的 MSB
  • Type-Split
    • 思路是将任意函数拆分为两个函数的加和,每个函数分别用反循环 LUT 计算
    • [CZB+22] 提出了 pseudo-odd, pseudo-even 函数,它们都可以用两个反循环 LUT 迭代计算,而任意函数可以表示为 f ( x ) = f ( x ) + f ( − x − 1 ) 2 + f ( x ) − f ( − x − 1 ) 2 f(x) = \frac{f(x)+f(-x-1)}{2} + \frac{f(x)-f(-x-1)}{2} f(x)=2f(x)+f(x1)+2f(x)f(x1),前者是伪偶的,后者是伪奇的

一些符号,

  • 多种密文: L W E , R L W E , R L W E ′ , R G S W LWE, RLWE, RLWE', RGSW LWE,RLWE,RLWE,RGSW,其中 R L W E ′ RLWE' RLWE 是强线性的
  • 模数变换: M o d D o w n , M o d U p , M o d S w i t c h ModDown, ModUp, ModSwitch ModDown,ModUp,ModSwitch,其中 D o w n , U p Down,Up Down,Up 要求整除性
  • 自举过程: B o o t , B o o t R a w Boot, BootRaw Boot,BootRaw,后者表示新鲜提取的 LWE 密文(没有执行 KS 和 MS)
  • 不同噪声: e r n d , e m s , e k s , e m u l t , e a c c , e b o o t , e c o m e_{rnd}, e_{ms}, e_{ks}, e_{mult}, e_{acc}, e_{boot}, e_{com} ernd,ems,eks,emult,eacc,eboot,ecom,分别代表了 MSB 编码/解码、模切换、密钥切换/密文打包、FV乘积、盲旋转、完整自举、自举提取出的 LWE 密文做 KS 和 MS 的噪声,对应的标准差是 σ X \sigma_{X} σX
  • 自举噪声的启发式上界:计算 b n d = 2 ⋅ erfc − 1 ( 2 − 32 ) ≈ 6.338 bnd=\sqrt{2}\cdot \text{erfc}^{-1}(2^{-{32}}) \approx 6.338 bnd=2 erfc1(232)6.338,设置 β = b n d ⋅ σ b o o t \beta=bnd \cdot \sigma_{boot} β=bndσboot
  • LWE 密文模数 q = 2 N q=2N q=2N,明文模数 p p p,相位 m = q / p ⋅ m ′ + e m=q/p \cdot m'+e m=q/pm+e,保证 ∣ e ∣ < q / 2 p |e|<q/2p e<q/2p,任何运算之前总是 c t + ( 0 , q / 2 p ) ct+(0,q/2p) ct+(0,q/2p) 保证噪声的范围 [ 0 , q / p ) [0,q/p) [0,q/p),并且假设所有算法输入的 LWE 密文噪声上界是 β \beta β

FDFB

[MHW+23] 提出了多种 FDFB 算法,主要是改进了噪声增长。虽然 PBS 的调用次数不变甚至增多,但是数字分解可以更粗糙,总体的计算效率略有提升。

FDFB-Compress

此算法遵循 Type-HalfRange 策略,不再是强行提升模数,而是使用 PBS 将范围 [ − q / 2 , q / 2 ) [-q/2,q/2) [q/2,q/2) 的原始 coded message 压缩到范围 [ − q / 4 , q / 4 ) [-q/4,q/4) [q/4,q/4),从而再用一次 PBS 计算任意函数。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

需要注意,执行 f C f_C fC 需要自举噪声的规模 2 β 2\beta 2β 不超过 q / 2 p q/2p q/2p

FDFB-CancelSign

此算法遵循 Type-SelectMSB 策略,先强行提升模数,出现随机的 β \beta β 最高位,直接 PBS 的结果中存在随机 ( − 1 ) β (-1)^{\beta} (1)β 影响。不是使用 BFV-Mult 去消除,而是将 LWE 密文转化为 ACC,再使用 PBS 消除这个因子。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

这里的输入 LWE 的密文模数是 q / 2 q/2 q/2,因此也要求 2 β < q / 2 p 2\beta<q/2p 2β<q/2p

FDFB-Select

此算法遵循 Type-SelectMSB 策略,不再提升密文模数,它将消息 m = q / p ⋅ m ′ + e m=q/p \cdot m'+e m=q/pm+e 的最高比特视为 β \beta β,把任意函数按照 β \beta β 分割为两个 sub-LUTs,分别执行 PBS 之后将计算结果打包为新的 ACC。接着 PBS 提取出 β \beta β,再次执行 PBS 挑选出最终结果。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

前三次 PBS 都是对于同一个 c t ct ct 执行的,因此可以使用 [CIM19] 的 Mult-Output PBS 合并计算,代价是 ACC 乘以 TV 导致噪声增长。共计 4 4 4 个 PBS,合并为 2 2 2 个。

FDFB-SelectAlt

此算法遵循 Type-SelectMSB 策略,不是直接对 f p o s f_{pos} fpos f n e g f_{neg} fneg 执行 PBS,而是对 f s u m = ( f n e g + f p o s ) / 2 f_{sum}=(f_{neg}+f_{pos})/2 fsum=(fneg+fpos)/2 以及 f d i f f = ( f n e g − f p o s ) / 2 f_{diff}=(f_{neg}-f_{pos})/2 fdiff=(fnegfpos)/2 自举,然后根据 β \beta β f d i f f f_{diff} fdiff 的自举结果形成的 ACC 执行 PBS,从而确定两者是相加还是作差。

算法为:

在这里插入图片描述

前两个 PBS 可以合并,最后一个 PBS 依赖于它们的结果。合并后是 2 2 2 个 PBS。

WoP-PBS1-Refine

此算法遵循 Type-SelectMSB 策略,先强行提升模数,再使用 BFV-Mult 消除随机因子 ( − 1 ) β (-1)^\beta (1)β 的影响。这实际就是 [CLOT21] 的第一种 WoP-PBS 算法,只不过将 LWE 密文转化为 RLWE 密文再计算 BFV-Mult 的时候,其相位的非常数项都只是很小的噪声,因此 [MHW+23] 给出了一个更紧的噪声估计,方差缩小了 N N N 因子。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

使用 Mult-Output PBS 加速,这里的 2 2 2 个 PBS 被合并为 1 1 1 个。

FDFB-BFVMult

此算法遵循 Type-SelectMSB 策略,将任意函数拆分为 f = f p o s + β ( f n e g − f p o s ) f = f_{pos} + \beta(f_{neg}-f_{pos}) f=fpos+β(fnegfpos),自举出两部分多项式的结果后,使用 BFV-Mult 将它们组合起来。这是对 [CLOT21] 第二种 WoP-PBS 算法中的 f = ( 1 − β ) f p o s + β f n e g f = (1-\beta)f_{pos} + \beta f_{neg} f=(1β)fpos+βfneg 的改良。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

使用 Mult-Output PBS 加速,这 3 3 3 个 PBS 也被合并成 1 1 1 个。由于只需要一次 BFV-Mult,它的噪声比 [CLOT21] 的更低。

Homomorghic Decomposition

[MHW+23] 也给出了两个同态数字分解算法,两者都支持 CKKS 密文的分解。而 [LMP22] 的第一种 Floor 算法要求输入 LWE 密文的消息和噪声之间存在 gap(不兼容 CKKS 密文),从而密文作差时的噪声不会影响高位数据;第二种 Floor 算法需要额外的一次 PBS 去消除这个约束,但是要求自举噪声具有更小的规模。[MHW+23] 的算法消除了这些限制。

HomDecomp-Reduce

这个算法的思路是,每次迭代不再清理掉 LSB 数据块,而是仅仅将它的取值范围缩小一半(不再关心具体数值),从而空出这个数据块的最高位,于是累加噪声就不会破坏更高的数据。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

HomDecomp-FDFB

而这个算法的思路则还是完全清理掉 LSB 数据块。它使用了 FDFB-Compress,但是由于 PBS 的结果需要和原始 LWE 密文作差,对自举结果的范围有更高的要求。

用到的反循环函数是:

在这里插入图片描述

算法为:

在这里插入图片描述

Analysis

最后 [MHW+23] 分析了这些 FDFB 以及同态数字分解算法的噪声和 PBS 数量。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

富家千金私奔破产小子:卓文君与渣男司马相如

当戏文里爱唱的千金大小姐爱上穷小子成为现实&#xff0c;是否会像电视剧里的一样美好。 司马相如与卓文君的爱情故事就上演了这样的戏码&#xff0c;他所作的一首《凤求凰》更是被传成佳话&#xff0c;千古流传。 让大多数人误以为他们伉俪情深&#xff0c;可是事情的真相却…

低代码平台种草推荐

告别繁琐&#xff0c;拥抱未来&#xff01;只需简单拖拽&#xff0c;Vue代码即刻生成&#xff0c;一键下载&#xff0c;轻松上手。我们的低代码平台&#xff0c;不仅高效便捷&#xff0c;更完全开源&#xff0c;让你自由探索编程的无限可能&#xff01; 下载网址&#xff1a;ht…

elasticsearch -- mapping(动态映射)

Dynamic field mapping (动态字段类型映射) ES 官方文档地址 个人理解: 本篇主要描述的是 ES会根据保存的字段动态的设置字段类型,不像MySQL创建表时需要定义字段类型 Date detection 数据检测(默认开启) _mapping 命令:查看文档中各个字段的数据类型 PUT my-index-000001…

免费试用!英智未来BayStone平台提供高性能算力服务

英智未来BayStone人工智能公共服务平台聚焦全球高端算力资源&#xff0c;提供基于英伟达HGX1系列GPU算力服务&#xff0c;现面向所有政企和科研机构提供现货算力资源服务。点击申请试用 BayStone平台通过全球算力资源调度&#xff0c;帮助用户高效使用高端算力资源&#xff0c;…

学透Spring Boot — 004. Spring Boot Starter机制和自动配置机制

如果你项目中一直用的是 Spring Boot&#xff0c;那么恭喜你没有经历过用 Spring 手动集成其它框架的痛苦。 都说 Spring Boot 大大简化了 Spring 框架开发 Web 应用的难度&#xff0c;这里我们通过配置 Hibernate 的两种方式来深刻体会这一点&#xff1a; 使用 Spring 框架集…

【MIT6.S081】Lab1: Xv6 and Unix utilities(详细解答版)

实验内容网址&#xff1a;https://xv6.dgs.zone/labs/requirements/lab1.html Sleep 关键点&#xff1a;函数参数判断、系统函数调用 思路&#xff1a; 通过argc来判断函数参数是否正确&#xff0c;通过atoi函数来讲字符串转化为整型&#xff0c;调用sleep函数后退出程序。 代…

守护人类健康:人工智能赋能医疗领域创新应用

编者按&#xff1a;每年的4月7日是世界卫生日&#xff0c;又称世界健康日&#xff0c;旨在引起世界各国人民对卫生、健康工作的关注&#xff0c;提高人们对卫生领域的素质和认识&#xff0c;强调健康对于劳动创造和幸福生活的重要性。那么&#xff0c;如果医疗技术能够更加智能…

vue vue3 日期选择的组件,封装组件

一、背景 基于element日期选择组件&#xff0c;自行封装了一个组件。 以下是达到的效果&#xff1a; 1.选择年&#xff0c;日期选择组件默认填充是&#xff1a;当时的年&#xff1b; 2.选择月&#xff0c;日期选择组件默认填充的是&#xff1a;当时的年月&#xff1b; 3.选择日…

Redis监控方案以及相关黄金指标提升稳定性和可靠性

Redis监控方案以及相关黄金指标提升稳定性和可靠性 1. 需要了解的词2. 「基准性能」相关指标2.1 Latency2.2 最大响应延迟2.3 平均响应延迟2.4 OPS(instantaneous_ops_per_sec)2.5 Hit Rate 3. 「内存」相关指标3.1 内存使用量(used_memory)3.2 内存碎片率(mem_fragmentation_r…

商业银行布局AI大模型的“三大路径”

随着人工智能技术的迅猛发展&#xff0c;AI创新应用模式持续涌现&#xff0c;2022年11月OpenAI推出的对话式通用人工智能工具ChatGPT正式上线&#xff0c;标志着人工智能技术的发展迈入了全新阶段。随着ChatGPT的蹿红&#xff0c;一时间&#xff0c;人工智能大模型技术迅速成为…

区块链相关概念

区块链是什么&#xff0c;就算是做计算机技术开发的程序员&#xff0c;100个当中都没有几个能把这个概念理解明白&#xff0c;更不要说讲清楚了。那对于普通人来说&#xff0c;就更扯了。 除了“挖矿”表面意思似乎比较好理解外&#xff0c;其他的基础概念真TMD绕。 去中心化、…

OpenHarmony应用启动流程分析——ApplicationAbility初始化

作者&#xff1a;汪语 一、引言 本文基于OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09; 4.0 Release版本的源码&#xff0c;对应用进程初始化后MainThread初始化及调用AttachApplication、LaunchApplication、LaunchAbility的过程做了分析和总结&…

HarmonyOS-数据请求(http / axios)

一、http数据请求 步骤&#xff1a; 1.在module.json5中申请ohos.permission.INTERNET权限 "module": {"requestPermissions": [{ "name": "ohos.permission.INTERNET" }],...} 2.在xxx.ets页面中导入&#xff1a;import http fro…

Jenkins结合gitlab自动化持续集成

最近在公司有负责搭建自动化测试环境&#xff0c;自动化脚本写好后&#xff0c;毋庸置疑是需要将自动化脚本进行持续集成测试&#xff0c;能够根据企业的定制化需求&#xff0c;通过Jenkins触发执行构建任务&#xff0c;定时执行自动化脚本等&#xff0c;今天就给大家介绍一下J…

Mybatis一级缓存

一级缓存简介 在常见的应用系统中&#xff0c;数据库是比较珍贵的资源&#xff0c;很容易成为整个系统的瓶颈。在设计和护系统时&#xff0c;会进行多方面的权衡&#xff0c;并且利用多种优化手段&#xff0c;减少对数据库的直接访问。使用缓存是一种比较有效的优化手段&#x…

干货分享 | 在TSMaster中加载基于DotNet平台的SeedKey

在UDS诊断过程中&#xff0c;会涉及到安全访问的问题&#xff0c;也就是所谓的Seed&Key。TSMaster 诊断模块支持通过.dll文件载入 Seed&Key 算法用于安全访问解锁。在最近发布的TSMaster 2024.03版本中不仅支持了C/C&#xff0c;Delphi等语言封装的DLL文件&#xff0c;…

【CVE复现计划】CVE-2024-0195

CVE-2024-0195 简介&#xff1a; SpiderFlow是新一代开源爬虫平台&#xff0c;以图形化方式定义爬虫流程&#xff0c;不写代码即可完成爬虫。基于springbootlayui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞&#xff0c;攻击者可以构造恶意命…

蓝帕控制阀门将莅临2024年第13届生物发酵展

参展企业介绍 感谢你正在或即将使用蓝帕控制阀门(江苏)有限公司系列产品&#xff0c;感谢你关注蓝帕控制阀门(江苏)有限公司&#xff01; 蓝帕控制阀门(江苏)有限公司&#xff0c;流体控制领域的国际品牌之一&#xff0c;总部位于意大利米兰&#xff0c;成立多年以来&#xf…

流式密集视频字幕

流式密集视频字幕 摘要1 IntroductionRelated Work3 Streaming Dense Video Captioning Streaming Dense Video Captioning 摘要 对于一个密集视频字幕生成模型&#xff0c;预测在视频中时间上定位的字幕&#xff0c;理想情况下应该能够处理长的输入视频&#xff0c;预测丰富、…

Rust 标准库 API 文件和文件夹操作 File,读取/创建/修改/追加/删除/重命名文件等

File::create 使用File的关联函数&#xff08;类似Java中的静态方法&#xff09;create&#xff0c;创建文件&#xff0c;如果存在&#xff0c;则覆盖。 use std::fs::{File, Metadata};fn main() -> std::io::Result<()> {let file: File File::create("foo.…