@2021SC@SDUSC 源码分析: 有关BFV的标准和机制的一些想法

2021SC@SDUSC

根据 同态加密标准 BFV的参数需要有如下

 

问题1: 这两个分布指的是什么 用来干什么

问题2: 这个环R是否是多项式环

这些参数应是用于后续的加密和解密以及密钥生成

现在来看一下公私钥的生成

 

这在PALISADE的实现如下 关于这部分上上篇blog大体论述了其流程 这两个分布D1, D2 是可以被配置的 这里照应了上上篇blog的一个问题 那就是这个评估密钥是什么

而在实现中 这里是统一用的向量化的运算

 

关于噪音的容错 这里给出了比较清晰的解答 只要噪音不超过临界W 那么就能恢复准确的原文

 

而这里仍然存在一个问题 我之前设想的是BFV其实也应该用到了bootstrapping 结果发现与bootstrapping相关的搜索结果并没有出现在bfv.cpp与其头文件中 只有在二进制或者说bool同态 - binfhe中才发现了bootstrap的实现

 

那么bfv是用什么方式降噪的呢

 

这是在 binfhe 也就是 二进制fhe中的

pke中的example 中鲜有提及bootstrap的 而且风格也与binfhe大相径庭

这里的bootstrapping似乎只出现在了注释里

 

那么会不会有这么一种可能 那就是这里其实仍然用到了bootstrap 但是没有显式的写出来? 我觉得是比较有可能的 

 

先来查一下这个Rescale的成分 能够发现的是 它的工作其实是 mod-reduce

那么什么是mod-reduce呢?   字面上翻译就是减少模 不过这样解释确实很难让人满意

 

这是一个关键性的地方 homomophic encryption without bootstrap

(bfv中或许和bgv一样也没有bootstrap)

 

从各种意义上来说 接下来确实需要去查一下原论文了

另外翻源码的过程中还接触到了一个名词 叫作重线性化 用于部分同态加密 这样可能有助于理解别的相关机制

参考:

同态加密(一)-基于标准LWE的高效全同态加密1(Efficient Fully Homomorphic Encryption from (Standard) LWE) - 知乎 (zhihu.com)

同态加密标准 (Section 1) - 知乎 (zhihu.com)

初探全同态加密之四:Bootstrapping的原理与实现 - 知乎 (zhihu.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值