Packed Ciphertexts in LWE-based Homomorphic Encryption:解读
本节内容记录阅读该论文的笔记
介绍#
PVW:对应论文(PVW:A framework for efficient and composable oblivious transfer),打包思想就是,将多个bit明文是为一个明文向量。
SV:对应论文(SV11:Fully homomorphic SIMD operations),打包思想:将多个明文通过“编码”插入到一个多项式上,转换成多项式的计算相当于这么多明文计算。多用于基于RLWE方案的。
Regev简介#
原paper:On lattices, learning with errors, random linear codes, and cryptography
加密单比特数据:系统参数
加解密#
具体加解密参考:密码算法汇总
将明文
同态计算#
(1)加法
Regev本身支持同态加法计算,即
(2)乘法
在该paper:(BV11a:Efficient fully homomorphic encryption from (standard) LWE)中给出同态乘法运算:
这里的“乘法”是张量积,满足:
张量积:参考(点积、张量积和范数)
下面就是如何构造乘法后的正确解密:
则:
可以看出,如果
所以需要一种方法去“降维”,即(BV11a)中给出的重线性化技术(re-linearization)将密文维数
重线性化,实质上就是密钥交换技术(Key Switching),即给出两个密钥
打包“压缩”明文#
前面提到原始的Regev方案是加密单bit明文,密文和密钥都是向量,这样效率较低。
可以将多个密钥
(1)打包明文的计算
还是和上面说的类似,加法(mod q),乘法通过张量积。
只不过在乘法后执行重线性化时有些变化:
假设
选择一个合适的密钥交换矩阵(用
(2)其他计算
可以在“打包”明文基础上实现SIMD同态计算、密文置换(permutation),并且使用PVW方法进行密文置换比使用SV方法更有优势。
SV方法,是通过自同构(automorphisms)实现,但是需要其他计算;而PVW是通过密钥交换实现的。
密文置换:移动密文内的slot,实现密文置换,解密后相当于明文置换。
基础#
符号#
具体参考:点积、张量积和范数
(2)其他符号
LWE问题#
安全参数
问:poly()表示什么意思?
关于LWE问题的困难性,在[Regev09]中给出了证明,表明能将LWE问题通过量子规约(quantum reductions)到
SLWE#
即搜索版本的LWE(search-LWE):
对于
DLWE#
即判绝版本的LWE(decision-LWE):
给出
Regev方案#
一个基于LWE问题的公钥加密方案,这里给出了一个对称加密方案,可以通过范型变换(generic transformations)获得一个公钥加密方案。
范型变换?
明文空间
这里介绍对称加密方案
密钥生成#
密钥
加解密#
计算
解密:
计算
解密成功的关键在于
上述解密可以看作:
以上基础的加密方案只需
同态计算#
若
(1)加法
对于
所以
(2)乘法
在【BV11】和【Bra12】中给出了Regev的乘法同态。
这里的
其中
所以
密钥交换#
上面可以看出,密文相乘后,维数扩张严重(指数级)。在【BV11a】中给出了方法-密钥交换技术,作用就是降维。
从上面密钥交换的简单介绍中,可知道主要功能:将一个维数为
下面介绍一种密钥交换的变体技术,相对更加简单。
(1)密钥交换需要一个密钥交换矩阵
密钥交换(
(2)然后将高维密文转换为低维密文
给出一个
总的来说,对于维数为
“打包”明文的计算#
介绍#
从上面可以看出,1bit的明文加密后的密文是
这里选取
上面是密钥生成,下面开始加解密:
(1)加密
对于明文
(2)解密
计算
(3)同态计算
从加解密来看,对于两个密文
密文相加
密文相乘
密钥交换#
密钥交换是需要“计算密钥”(public key key-switching gadgets)的,利用计算密钥使得
计算密钥能得到密钥交换矩阵
密钥交换的“计算密钥”可以看作是用密钥
这里的密钥交换矩阵
对于
总结#
给出一个高维密文
若对于
在一个Leveled-FHE方案中,需要提前生成多个互相独立的密钥矩阵
安全性是基于LWE问题。上面的引理是在
密文置换#
使用以上技术,可以实现“压缩”版的SIMD同态计算,就是每计算一次相当于计算多次!
在密文计算量更大的需求下,“压缩”实为是一种好的实现,对于密文置换,可以利用密钥交换实现。
介绍#
什么是密文置换?
规定一种置换映射
对于一个密文
使用密钥交换实现很简单:准备一个密钥交换矩阵
对于
总结#
本文基于LWE问题,设计了一种PVW变体的压缩明文方案,这就类似于SV压缩方案,在环上的便利。
基于整数环和多项式环上的对比#
(1)基于多项上环比实数环的方案具有更好的渐进效率(asymptotic efficiency)
(2)两种情况下密文的大小大致相同:多项式环上的密文是一个多项式,其中包含
(3)对于密文乘法(tensor product multiplication),基于整数的密文大小扩大为
(4)对于重线性化,基于整数的密钥交换矩阵为
(5)对于密文中的“slot”个数,基于多项式的是由底层环结构决定的,基于整数的slot个数可以任意设置。
(6)在密文置换上,基于整数的比基于多项式更优。
(7)对于密钥交换,基于整数的比基于多项式的更方便和高效。
参考#
1、【论文阅读笔记】-针对RSA的短解密指数的密码学分析(Cryptanalysis of Short RSA Secret Exponents)
2、范数||x||(norm)笔记
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/16271420.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2021-05-17 SM9-签名
2021-05-17 SM9-加解密
2021-05-17 SM9-密钥封装
2020-05-17 VS2019 使用
2020-05-17 C:.c文件和.h文件的关系