CKKS Part5: CKKS的重缩放】的更多相关文章

本文翻译于 CKKS EXPLAINED, PART 5: RESCALING,主要介绍CKKS方案中最重要的技术- rescaling,重缩放技术 介绍 在CKKS的前一篇文章 CKKS Part4: CKKS的乘法和重线性化 中,我们了解了密文乘法在CKKS中的工作原理,为什么需要重新线性化输出以及保持恒定的密文大小,以及如何做到这一点. 尽管如此,正如我们将看到的,我们需要一个名为"重缩放"的最终操作来管理噪音并避免溢出.这将是本系列的最后一篇理论性文章,在下一篇也是最后一篇文章…
本文翻译于CKKS EXPLAINED, PART 4: MULTIPLICATION AND RELINEARIZATION,主要介绍CKKS方案中的密文乘法和重线性化技术 介绍 在上一篇 CKKS Part3: CKKS的加密和解密 ,我们看到了如何基于RLWE问题创建同态加密方案,实现同态加法和密文明文乘法. 虽然执行密文-明文乘法很容易,但正如我们将看到的,密文-密文要复杂得多.事实上,我们需要处理很多事情才能正确地完成它,比如找到正确的操作,这样一旦解密,我们就可以得到两个密文的乘积,…
本篇文章翻译于CKKS EXPLAINED, PART 3: ENCRYPTION AND DECRYPTION,主要介绍CKKS方案的加密和解密. 介绍 在上一篇 CKKS Part2: CKKS的编码和解码 中,我们看到了如何实现CKKS的编码器和解码器,这使我们能够将向量转换为多项式,反之亦然.这一步是必要的,因为我们将看到,与直接使用向量相比,使用多项式构建同态加密方案要高效得多. 在本文中,我们将看到如何使用困难问题,例如LWE或RLWE来构建近似同态加密方案.CKKS使用近似算法而不…
该文章翻译自CKKS EXPLAINED, PART 2: FULL ENCODING AND DECODING,主要介绍CKKS方案中是如何编码和解码的(如何将复数向量转成整数多项式,以及如何求逆运算) 介绍 在前一篇文章<CKKS:第1部分,普通编码和解码>中,我们了解到,要在CKKS方案中实现加密复数向量的计算,必须首先构建一个编码和解码,将复数向量转换为多项式. 这个编/解码步骤是必要的,因为加密.解密和其他机制在多项式环上工作.因此,有必要找到一种将复数向量转换成多项式的方法. 我们…
在此记录Tenseal的学习笔记 介绍 在张量上进行同态计算的库,是对Seal的python版实现,给开发者提供简单的python接口,无需深究底层密码实现. 当前最新版本:3.11 位置:A library for doing homomorphic encryption operations on tensors 具备以下特点: BFV方案的加解密(整数) CKKS方案的加解密(浮点数) 密文-密文.密文-明文的加法和乘法运算(同态计算) 点积和矩阵乘法 将Seal封装为tenseal.se…
本文内容来自"Protecting Privacy throughHomomorphic Encryption",主要学习里面的CKKS部分. CKKS是一种同态加密方案,其安全性依赖于RLWE问题.明文是实数向量,表示为定点类型计算方式(实数表示方法:浮点计算和定点计算).该方案很支持以SIMD方式在这些向量之间进行定点运算. CKKS方案涉及几个参数,这些参数决定了该方案支持的安全级别.功能和精度.这些参数是: 1.与计算精度相对应的小数位数f: 2.(最大的)密文模数q: 3.密…
这篇文章,翻译于:[CKKS EXPLAINED: PART 1, VANILLA ENCODING AND DECODING] 主要介绍为CKKS中编码/解码做铺垫,讲一些基础知识 介绍 同态加密是一个很有前途的领域,它允许对密文进行计算.下面这篇优秀的文章<什么是同态加密>对同态加密是什么以及这一研究领域的利害关系进行了广泛的解释. 在本系列文章中,我们将深入研究Cheon-Kim-Song(CKKS)方案,该方案首次在论文<Homomorphic Encryption for Ar…
本篇文章对最新版的HEAAN库进行研究,老版的介绍见 HEAAN库学习 主要参考:slide-HEAAN.pdf HEAAN介绍 HEAAN是一个支持在加密的复数数组之间进行操作的库,方案的安全性取决于\(log_Q\).\(log^N\)和高斯分布的标准差\(\sigma =3.2\).如果使用 Martin's LWE parameter estimator,你可以检测这个方案的安全性. lwe-estimator,是一个Sage函数[Sage更多:参考],用于测试求解LWE问题的运行时间…
在看SEAL库和HElib库中经常在编码中碰到打包(batch)技术,另外还提到了SIMD编码技术,有点困惑,编码.打包.SIMD到底有什么关系? 编码 在CKKS方案中,因为明文空间在复数域上,简单的说一个明文就是一个复数向量,那么CKKS是基于RLWE问题,计算是在环上,也就是整数多项式上,所以在加密之前需要进行编码,将一个复数向量编码成一个整数多项式,然后在加密,进而计算. 那如何将一个复数向量编码为了整数多项式? 具体细节请参考:CKKS Part2: CKKS的编码和解码 BGV和BF…
本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 ================================================================================================================================================== 本章讨论的图形,主要用于分析数据前,对数据的初步掌握.想要对数据有一个初步的印象,最好的方式就是观察它,也就是将数据可视化.在这个过程中,我们…