Hardness of Scheme-Switching and Comparison in FHE

news2025/1/11 16:53:54

参考文献:

  1. [AP13] Alperin-Sheriffff, J., Peikert, C.: Practical bootstrapping in quasilinear time. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013. LNCS, vol. 8042, pp. 1–20. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40041-4 1
  2. [EGM23] Eldefrawy K, Genise N, Manohar N. On the Hardness of Scheme-Switching Between SIMD FHE Schemes[C]//International Conference on Post-Quantum Cryptography. Cham: Springer Nature Switzerland, 2023: 196-224.
  3. Bit Extraction and Bootstrapping for BGV/BFV

文章目录

  • Homomorphic Scheme-Switching
  • Bootstrapping via a Weak Scheme-Switching Oracle
    • Bootstrapping for CKKS
    • Bootstrapping for BGV
    • Switching using Bootstrapping
  • Bootstrapping via a Comparison Oracle
    • Comparison Oracles
    • Bootstrapping for CKKS
    • Bootstrapping for BGV

[EGM23] 证明了 Scheme-Switching 以及 Comparison 的困难度,给出了 BTS 到它们的归约。因此,方案切换和同态比较的计算复杂度不会很低,都与自举的复杂度相关联。

Homomorphic Scheme-Switching

根据 [AP13],可以使用标量乘法实现 BGV 和 BGV 之间的密文切换。现在,我们只关注 BGV 和 CKKS 之间的方案切换。[EGM23] 证明这是至少和 BTS 一样困难的问题。

首先,我们定义 Weak Scheme-Switching Oracles,这里的 “weak” 指的是不处理 encoding/decoding 问题,仅保证 m ( X ) ∈ R m(X) \in R m(X)R 是相同的。

在这里插入图片描述

当然,BGV 密文的相位是 m 1 ( X ) + p ⋅ e 1 ( X ) ∈ R Q 1 m_1(X)+p \cdot e_1(X) \in R_{Q_1} m1(X)+pe1(X)RQ1,而 CKKS 密文的相位是 Δ ⋅ m 2 ( X ) + e 2 ( X ) ∈ R Q 2 \Delta \cdot m_2(X)+e_2(X) \in R_{Q_2} Δm2(X)+e2(X)RQ2,为了保证可以相互正确转换,最基本的要求是 ∥ f ( e 1 ) ∥ ∞ < Δ \|f(e_1)\|_\infty < \Delta f(e1)<Δ 以及 ∥ m 2 ∥ ∞ < p / 2 \|m_2\|_\infty < p/2 m2<p/2

接下来,我们定义 Strong Scheme-Switching Oracles,它保证 evaluation representation (slots) 的一致性。可以由 weak 版本再附加上 StC 和 CtS 线性变换来得到。

在这里插入图片描述

Bootstrapping via a Weak Scheme-Switching Oracle

[EGM23] 给出了从 Bootstrapping 到 Weak Scheme-Switching 的归约。乍一看 BTS 似乎是比 Weak SS 更复杂的任务,但实际上后者不比前者简单。

Bootstrapping for CKKS

我们可以用 BGV-to-CKKS 实现 CKKS-BTS:关键在于把 CKKS 密文 c t ( s ) = Δ m + e + q I ( X ) ∈ R ct(s) = \Delta m+e + qI(X) \in R ct(s)=Δm+e+qI(X)R 视为 BGV 密文

设置其明文空间为 p = q p=q p=q,则消息是 Δ m + e \Delta m+e Δm+e,噪声是 I ( X ) I(X) I(X)。使用 BGV-to-CKKS 获得相位是 Δ ′ ( Δ m + e ) + e χ \Delta'(\Delta m+e)+e_\chi Δ(Δm+e)+eχ 的 CKKS 密文,利用 RS 消除额外的缩放因子,获得原始相位的 CKKS 密文。

在这里插入图片描述

归约算法的示意图:

在这里插入图片描述

Bootstrapping for BGV

我们可以用 CKKS-to-BGV 实现 BGV-BTS:关键在于把 BGV 密文 c t ( s ) = z ∈ R ct(s) = z \in R ct(s)=zR,其中 q = p r + 1 q=p^r+1 q=pr+1,视为 CKKS 密文

设置编码因子为 Δ = p r \Delta=p^r Δ=pr,则消息是 z [ r ] z[r] z[r],噪声是 z [ r − 1 : 0 ] z[r-1:0] z[r1:0]。使用 CKKS-to-BGV 获得 z [ r ] z[r] z[r] 的 BGV密文,然后可以利用 [GHS12] 的简化解密算法,获得 m = [ [ z ] q ] p = [ z [ 0 ] − z [ r ] ] p m = [[z]_q]_p = [z[0]-z[r]]_p m=[[z]q]p=[z[0]z[r]]p 的 BGV 密文。

在这里插入图片描述

归约算法的示意图:

在这里插入图片描述

Switching using Bootstrapping

利用 BTS 容易实现方案切换:关键在于把 BFV 密文 c t ( s ) = ⌊ Q / p ⌉ ⋅ m + e ct(s)=\lfloor Q/p\rceil \cdot m+e ct(s)=Q/pm+e 视为 “耗尽的” CKKS 密文,其中 Δ = ⌊ Q / p ⌉ \Delta=\lfloor Q/p\rceil Δ=Q/p

构造 weak 版本的方案切换,

  • 对于 BFV-to-CKKS,我们将 BFV 密文直接视为 CKKS 密文,调用 CKKS-BTS 提升模数,这就获得了具有足够计算容量的 CKKS 密文
  • 对于 CKKS-to-BFV,我们将 CKKS 密文模切换到最底层,可以视为 BFV 密文,调用 BFV-BTS 消除噪声,这就获得了具有足够计算容量的 BFV 密文

由于 BGV 和 BFV 的密文很容易相互转换,这也就实现了 BGV 和 CKKS 之间的切换。

Bootstrapping via a Comparison Oracle

在机器学习中,Min/Max 和 ReLU 都大量的用到了比较运算。但是比较运算难以表示为低次多项式,同态下计算的效率很低。[EGM23] 给出了同态比较的困难度证明,它也至少和 BTS 一样困难。

Comparison Oracles

首先,分别定义 BGV 和 CKKS 中的比较运算,

在这里插入图片描述

注意,这里定义的是密文 c t ct ct 和标量 α \alpha α 之间的比较。一般的算法设计中,计算的是两个密文之间的比较。前者可以归约到后者(自行用 pk 加密就是了),[EGM23] 证明了 BTS 可以归约到前者。因此两个密文的比较,实际上是一个很难的问题。

Bootstrapping for CKKS

由于 CKKS 密文的相位是 c t ( s ) = m + e + q I ∈ R ct(s)=m+e+qI \in R ct(s)=m+e+qIR,满足 q I ≪ Q qI \ll Q qIQ,因此可以假设 ∥ I ∥ ∞ < K \|I\|_\infty < K I<K,然后通过 log ⁡ K \log K logK 次迭代,依次二分搜索获得 I = ∑ i 2 i I i I=\sum_i 2^iI_i I=i2iIi,从而消除它得到 m + e ∈ R Q m+e \in R_Q m+eRQ 的密文。

在这里插入图片描述

Bootstrapping for BGV

在 BGV 密文自举时,首先得到 z = a ⋅ s + b ( m o d p r + 1 ) z=a \cdot s +b \pmod{p^{r+1}} z=as+b(modpr+1) 下的密文,然后试图分别提取 z [ 0 ] z[0] z[0] z [ r ] z[r] z[r],前者是自然的,而后者可以写作 z [ r ] = ∑ i 2 i z i z[r] = \sum_i 2^iz_i z[r]=i2izi,然后通过 log ⁡ p \log p logp 次迭代的二分搜索来获得,从而完成 [GHS12] 的自举。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务初识

1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.1.单体架构 单体架构&#xff1a;将业务的所有功能集中在一个项目中开发&#xff0c;打…

Qt4 设计师自定义控件----写好qmake文件,无需额外拷贝

前言 浏览了很多帖子&#xff0c;看了很多博主的教程&#xff0c;每一个都写的很好&#xff0c;美中不足的是。Qt在每次自定义插件时都需要拷贝&#xff0c;如果能够利用qmake install拷贝功能就很完美了&#xff0c;在其他人使用的时候只要简单的几个步骤就能轻松的用起来&am…

点餐平台网站|基于springboot框架+ Mysql+Java+Tomcat的点餐平台网站设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能实现 系统功能设计 数据库E-R图设计 lunwen参…

R语言数据挖掘-关联规则挖掘(1)

一、分析目的和数据集描述 要分析的数据是美国一区域的保险费支出的历史数据。保险费用数据表的每列分别为年龄、性别、体重指数、孩子数量、是否吸烟、所在区域、保险收费。 本文的主要目的是分析在年龄、性别、体重指数、孩子数量、是否吸烟、所在区域中这些因素中&#xf…

【PTA】L1-039 古风排版(C++)

题目链接&#xff1a;L1-039 古风排版 - 团体程序设计天梯赛-练习集 (pintia.cn) 目录&#xff1a; 目录&#xff1a; 题目要求&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 思路&#xff1a; 代码&#xff1a; 测试结…

【四 (4)数据可视化之 Ploty Express常用图表及代码实现 】

目录 文章导航一、介绍二、安装Plotly Express三、导入Plotly Express四、占比类图表1、饼图2、环形图3、堆叠条形图4、百分比堆叠条形图 五、比较排序类1、条形图2、漏斗图3、面积漏斗图 六、趋势类图表1、折线图2、多图例折线图3、分列折线图4、面积图5、多图例面积图 七、频…

解锁区块链游戏数据解决方案

作者&#xff1a;stellafootprint.network 随着区块链技术的日新月异&#xff0c;游戏行业正迎来一场革命&#xff0c;催生了区块链游戏的崛起。这一变革不仅为用户带来了全新的互动体验&#xff0c;也开辟了全新的盈利渠道。然而&#xff0c;在这一新兴领域&#xff0c;数据的…

程序人生——Java泛型和反射的使用建议

目录 引出泛型和反射建议93&#xff1a;Java的泛型是类型擦除的建议94&#xff1a;不能初始化泛型参数和数组建议95&#xff1a;强制声明泛型的实际类型 建议96&#xff1a;不同的场景使用不同的泛型通配符建议97&#xff1a;警惕泛型是不能协变和逆变的 建议98&#xff1a;建议…

安卓国产百度网盘与国外云盘软件onedrive对比

我更愿意使用国外软件公司的产品&#xff0c;而不是使用国内百度等制作的流氓软件。使用这些国产软件让我不放心&#xff0c;他们占用我的设备大量空间&#xff0c;在我的设备上推送运行各种无用的垃圾功能。瞒着我&#xff0c;做一些我不知道的事情。 百度网盘安装包大小&…

网络层_IP

传输层解决的是传输控制&#xff0c;而实际真正决定数据能否发送到对端的是网络层。网络层是有概率传输&#xff0c;而传输层是可靠性传输。所以传输层网络层就可以做到将数据可靠发送到对端。网络层的常见协议有&#xff1a;IP、ICMP等&#xff0c;其中最重要的是IP协议&#…

HTML、XHTML和HTML5系列对比

目录 HTML HTML的优点&#xff1a; HTML的缺点&#xff1a; 应用场景&#xff1a; XHTML XHTML的优点&#xff1a; XHTML的缺点&#xff1a; 应用场景&#xff1a; HTML5 HTML5的优点&#xff1a; HTML5的缺点&#xff1a; 应用场景&#xff1a; 回首发现&#xff0…

Flutter Inspector 视图调试工具突然不能用了

The embedded browser failed to load. Error: JCEF is not supported in this env or failed to initialize 1、在 Android Studio 的 Help 菜单中&#xff0c;找到 Find Action 2、搜索 boot runtime&#xff0c;找到「Choose Boot Java Runtime for the IDE」选项 3、在「…

串行通信——IIC总结

一.什么是IIC&#xff1f; IIC&#xff08;Inter-Integrated Circuit&#xff09;也称I2C&#xff0c;中文叫集成电路总线。是一个多主从的串行总线&#xff0c;由飞利浦公司发明的通讯总线&#xff0c;属于半双工同步传输类总线&#xff0c;仅由两条线就能完成多机通讯&#…

电竞游戏行业有哪些媒体资源?活动发布会如何宣传?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 电竞游戏行业的媒体资源主要包括&#xff1a;游戏门户网站、综合资讯网站、社交媒体平台、电视和网络直播等。 在电竞游戏行业中&#xff0c;媒体资源是丰富多样的。游戏门户网站如游民…

sql中使用collection返回集合数据

今天在写一个接口时&#xff0c;有两级目录&#xff08;父子关系&#xff09;&#xff0c;接口需要把两级数据以嵌套的形式返回给前端。我这个新手菜鸟一上来就查询两次sql&#xff0c;然后业务中处理嵌套关系&#xff0c;事实这种方法也能达到目的。但主管PR代码时&#xff0c…

【自动驾驶可视化工具】

自动驾驶可视化工具 自动驾驶可视化工具1.百度Apollo的Dreamview:2.Cruise的Worldview:3.Uber的AVS:4.Fglovex Studio: 自动驾驶可视化工具 介绍一下当前主流的自动驾驶可视化工具。 1.百度Apollo的Dreamview: Dreamview是百度Apollo平台开发的一种可视化工具&#xff0c;用…

华为配置中心AP内漫游实验

华为配置中心AP内漫游示例 组网图形 图1 配置中心AP内漫游组网图 配置流程组网需求配置思路数据规划配置注意事项操作步骤配置文件 配置流程 WLAN不同的特性和功能需要在不同类型的模板下进行配置和维护&#xff0c;这些模板统称为WLAN模板&#xff0c;如域管理模板、射频模…

K8S日志收集方案-EFK部署

EFK架构工作流程 部署说明 ECK (Elastic Cloud on Kubernetes)&#xff1a;2.7 Kubernetes&#xff1a;1.23.0 文件准备 crds.yaml 下载地址&#xff1a;https://download.elastic.co/downloads/eck/2.7.0/crds.yaml operator.yaml 下载地址&#xff1a;https://download.e…

javaweb-maven+HTTP协议+Tomcat+SpringBoot入门+请求+响应+分层解耦

Maven IDEA集成Maven 依赖管理 依赖配置 maven是插件完成对应的工作的~ 哇哇哇maven看完啦~~~~~~ Spring.io Springboot是Spring家族的子项目&#xff0c;可以帮助我们非常快速地构建应用程序&#xff0c;简化开发&#xff0c;提高效率。 RestController请…

【XR806开发板试用】基于WEBSOCKET实现人机交互(控制开关灯)以及开发问题记录

一、开发板编译、功能介绍 根据官方文档编译烧录成功后&#xff0c;我们修改下官方例子&#xff0c;进行开发来实现websocket。 整体流程&#xff1a;开发板先自动寻找指定的wifi并且连接&#xff0c;连接成功后&#xff0c;通过websocket来与服务端连接&#xff0c;连接成功后…