IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 基于近似计算的同态加密方案CKKS17----Relinearization和Rescaling -> 正文阅读

[区块链]基于近似计算的同态加密方案CKKS17----Relinearization和Rescaling

Relinearization

? ? ? ? 重线性化主要是针对密文乘法后密文尺寸膨胀的问题。

? ? ? ? 先来看加解密过程。生成公私钥过程:

????????????????s\leftarrow\mathcal{H}WT(h),a\leftarrow\mathcal{R}_{qL},b\leftarrow-as+e

????????????????pk\leftarrow(b,a)=(-as+e,a)

????????????????sk\leftarrow(1,s)

? ? ? ? 加解密过程:

????????????????\mu \in \mathbb{Z}_q[X]/(X^N+1)

????????????????\texttt{Encrypt}(\mu,pk) = c = (c_0,c_1) = (\mu,0) + pk = (b + \mu,a) \in \mathcal{R}_q^2

????????????????\texttt{Decrypt}(c,sk) = c_0 + c_1.s = \mu + e

? ? ? ? 同态加法及解密正确性:

????????????????\texttt{C}_\texttt{ADD}(c,c') = (c_0 + c_0',c_1+c_1') = c + c' = c_{add}

????????????????\texttt{Decrypt}(c_{add},sk) = c_0 + c_0' + (c_1 + c_1').s = c_0 + c_1.s + c_0' + c_1'.s = \texttt{Decrypt}(c,sk) + \texttt{Decrypt}(c',sk) \approx \mu + \mu'

? ? ? ? 同态乘法:

????????如果同态乘法是正确的,则有???????:

???????????????????????\texttt{DecryptMult}(\texttt{CMult}(c,c'),sk) = \texttt{Decrypt}(c,sk).\texttt{Decrypt}(c',sk)

? ? ? ? 已知\texttt{Decrypt}(c,sk) = c_0 + c_1 .s,则可以推出,同态乘法正确计算并解密后的结果为:

???????????????????????\texttt{Decrypt}(c,sk) . \texttt{Decrypt}(c',sk) = (c_0 + c_1.s) . (c_0' + c_1'.s) = c_0.c_0' + (c_0.c_1' + c_0'.c_1).s + c_1.c_1'.s^2 = d_0 + d_1.s + d_2.s^2

????????其中d_0 = c_0.c_0', d_1 = (c_0.c_1' + c_0'.c_1), d_2 = c_1.c_1'

? ? ? ? 可以观察到,密文经过一次乘法后膨胀了,原始密文只有两项,而同态乘法后变为了三项。如果不经处理,一直这样乘下去,那么两次乘法后就会变为五项,三次乘法后就会变为七项......

? ? ? ? 所以需要在每次乘法后进行重线性化,来防止密文尺寸的增加。

重现性化

???????????????我们可以知道,重线性化后的结果应该是:(d_0',d_1') = \texttt{Relin}(c_{mult})。对重线性化后的结果解密可以得到:

???????????????????????\texttt{Decrypt}((d_0',d_1'),sk) = d_0' + d_1'.s = d_0 + d_1.s + d_2.s^2 = \texttt{Decrypt}(c,sk) . \texttt{Decrypt}(c',sk)

,观察上式可以看到:d_0' + d_1'.s = d_0 + d_1.s + d_2.s^2。如果存在一组多项式P,满足\texttt{Decrypt}(P,sk)=d_2.s^2,则(d_0',d_1') = (d_0,d_1) + P,即:

???????????????????????\texttt{Decrypt}((d_0',d_1'),sk) = \texttt{Decrypt}((d_0,d_1),sk) +\texttt{Decrypt}(P,sk) = d_0 + d_1.s + d_2.s^2

? ? ? ? 那么现在问题就是如何确定P了。解密过程最多只乘进来一个s,而期待的\texttt{Decrypt}(P,sk) =d_2.s^2中s为二次,那么P中一定是包含s的。问题来了:sk是要我们自己偷偷保管的啊,不可以给别人,那么又该怎样把s传到P中呢?用到的就是evaluation key。

evaluation key

????????令evk = (-a_0.s + e_0 + s^2, a_0),则\texttt{Decrypt}(evk,sk) = e_0 + s^2 \approx s^2。同时可以看到,evk中添加了两个随机化参数,可以保证s不泄露。

? ? ? ? 所以可以设置P = d_2.evk = (d_2.(-a_0 + e_0 + s^2), d_2.a_0)\texttt{Decrypt}(P,sk) = d_2.s^2 + d_2.e_0???????。但是问题又来了:d_2.s^2 + d_2.e_0 \neq d_2.s^2d_2较大。

? ? ? ? 解决办法就是更改下evk的形式,设置evk = (-a_0.s + e_0 + p.s^2, a_0) (\text{mod } p.q),其中a_0\leftarrow\mathcal{R}_{p.q}

????????故而P = \lfloor p^{-1}.d_2.evk \rceil (\text{mod } q)\texttt{Relin}((d_0,d_1,d_2),evk) = (d_0,d_1) + \lfloor p^{-1}.d_2.evk \rceil

Rescaling

????????为了保证计算精度,在编码过程中预先乘入了缩放因子\Delta。两次乘法后缩放因子就又膨胀了,变为\Delta^2

????????设置q_0 \geq \Deltaq = \Delta^L.q_0q_0代表整数部分精度,\Delta代表小数部分精度。则有重缩放过程:

???????????????????????RS_{l \rightarrow l-1}(c) = \lfloor \frac{q_{l-1}}{q_l} c \rceil (\text{mod } q_{l-1}) = \lfloor \Delta^{-1} c \rceil (\text{mod } q_{l-1})

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:14:38  更:2022-04-06 23:14:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:37:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计