
同态加密
文章平均质量分 95
Mr.Ants
努力学习,卖个好价钱。
展开
-
同态加密和SEAL库的介绍(一)简介
本文介绍了同态加密的性质,和实现同态加密的Microsoft SEAL库。本篇只是简单介绍了下概念,后续会针对不同模式进行具体使用的分享。原创 2024-08-04 16:21:13 · 2049 阅读 · 0 评论 -
同态加密和SEAL库的介绍(十)CKKS 参数心得 2
本篇继续上篇针对 CKKS 方案的测试,首先证明了重新线性化虽然会减少密文长度,但是并不会对计算结果的精度有明显的影响;模数链的长度确实会限制乘法深度(具体来说是 Rescale 次数),这点上密文乘法和明文乘法相同;上篇中证明了增加 scale 会提高精度,本篇也证明了增长模数链也能增加精度,但是内存测试后,前者 scale 不会提高内存,后者会增加内存成本和时间成本。原创 2024-08-12 14:59:24 · 1529 阅读 · 0 评论 -
同态加密和SEAL库的介绍(九)CKKS 参数心得 1
本篇为自己使用同态加密库的 CKKS方案 时,试验得出的一些心得,主要包含:连乘时,要注意的参数匹配问题;Coeff_modulus 的中间数 和 Scale 的关系;Scale 对精度的影响;模数链长度对乘法深度,准确说对 Rescale 次数 的影响;报错scale out of bounds 的具体情况;想提高精度,比较合适的参数设置。原创 2024-08-12 09:37:48 · 1733 阅读 · 0 评论 -
同态加密和SEAL库的介绍(八)性能
本篇对比了 三种方案的不同加密参数下,各种操作的性能情况,为选择合适的方案和参数提供参考依据。原创 2024-08-08 22:03:50 · 1221 阅读 · 0 评论 -
同态加密和SEAL库的介绍(七)密文 - 旋转
本篇介绍了SEAL库中的密文旋转,举例了 BFV/BGV 方案的旋转和 CKKS 方案的旋转,并比对了两者的区别。为大家在使用的时候提供一些帮助。原创 2024-08-08 16:32:25 · 1578 阅读 · 0 评论 -
同态加密和SEAL库的介绍(六)BGV 方案
本篇介绍了同态加密的BGV方案,同时做实验比对,验证了模数切换带来的减缓噪声预算的消耗。原创 2024-08-07 16:59:57 · 1876 阅读 · 0 评论 -
同态加密和SEAL库的介绍(五)级别 概念
本篇介绍 BFV 和 CKKS 中的“级别”概念,以及在Microsoft SEAL中表示这些级别的相关对象。具体包括模数切换链和模数向下切换带来的好处。原创 2024-08-07 09:08:46 · 1162 阅读 · 0 评论 -
同态加密和SEAL库的介绍(四)CKKS 方案
本篇介绍了 SEAL库的 CKKS 方案(及其编码器 CKKSEncoder),该方案解决了 BFV 中数据类型溢出问题,同时这里也对其近似性进行了说明。原创 2024-08-06 15:58:14 · 2499 阅读 · 4 评论 -
同态加密和SEAL库的介绍(三)BFV - Batch Encoder
本篇在上篇BFV基础方案上,介绍了结合Batch Encoder实现的批处理,当所需的加密计算高度并行化时,批处理允许我们高效地使用整个明文多项式。原创 2024-08-06 09:59:09 · 1192 阅读 · 0 评论 -
同态加密和SEAL库的介绍(二)BFV 基础方案实现
在上面的例子中,我们仅使用了明文多项式的一个系数。这实际上是非常浪费的,因为明文多项式很大,而且无论如何都会被整体加密。同时,因为是取模故会产生溢出,如果直接增加 plain_modulus 参数,直到没有溢出发生,并且计算表现得像整数运算。问题在于增加 plain_modulus 会增加噪声预算的消耗,并且还会减少初始噪声预算。在下篇将讨论其他将数据布局到明文元素(编码)的方法,这些方法可以允许更多的计算而不会发生数据类型溢出,并且可以充分利用整个明文多项式。原创 2024-08-05 21:57:58 · 2011 阅读 · 0 评论