摘要
Hoisting在一个密文需要旋转多次的时候,可以预先计算公共的部分,从而加速整个旋转操作。
本文简要介绍RLWE同态加密的旋转(Rotation)操作和Hoisting的优化原理,然后给出如何在OpenFHE同态加密库中使用Hoisting Rotation。
密文旋转
RLWE同态密文旋转主要有下面三步:
- 自同态:通过自同态将密文槽旋转,即计算 ϕ ( c t ) \phi(ct) ϕ(ct);
- 数值分解(break into digits):将密文的系数用 δ \delta δ进制表示 ϕ ( c t ) = ∑ q i δ i \phi(ct)=\sum q_i \delta^i ϕ(ct)=∑qiδi。其中 δ \delta δ是一个小的整数, q i q_i qi的系数小于 δ \delta δ;
- 密钥交换:将旋转后的密文的解密密钥 ϕ ( s k ) \phi(sk) ϕ(sk),通过密钥交换,变为原来的密钥 s k sk sk。
密文旋转的本质就是一个自同态映射 ϕ \phi ϕ。我们使用 c t ct ct表示密文,那么旋转后的密文 c t 1 = ϕ ( c t ) ct_1=\phi(ct) ct1=ϕ(ct). 这时的密文中的明文已经移到对应的位置了,但是解密密钥却变为了 ϕ ( s k ) \phi(sk) ϕ(sk).
因此,第2、3步是为了将解密密钥重新切换为

最低0.47元/天 解锁文章
1595

被折叠的 条评论
为什么被折叠?



