【发布时间】:2019-01-19 08:33:17
【问题描述】:
我能否将分数编码的密文转换为二进制编码的密文?
假设我用小数编码对 5 进行了加密。那么,我可以创建一个由 E(1)、E(0)、E(1) 组成的数组吗? (5 = 101)
【问题讨论】:
标签: seal
我能否将分数编码的密文转换为二进制编码的密文?
假设我用小数编码对 5 进行了加密。那么,我可以创建一个由 E(1)、E(0)、E(1) 组成的数组吗? (5 = 101)
【问题讨论】:
标签: seal
让我们尝试使用纯文本来解决它。然后我们可以尝试用密文来解决。
如果“二进制编码的”是指 5 的二进制编码,那么是的。小数编码5和二进制编码5都是明文x^2+1。
如果“由 E(1)、E(0)、E(1) 组成的数组”是指分别解密为 1、0 和 1 的 3 个密文,则不是。
从数字 m 的小数/整数/二进制编码中提取第 k 位(用 m_k 表示)M(x)=m_{n-1}x^{n-1}+.. .+m_kx^k+...+m_0, 等价于找到一个函数 F,使得对于给定的 k 和任何 m,F(M(x))=m_k in \ZZ_2[x]/ (x^n+1)。这样的函数很难找到。即使它存在,它也可能是一个 2^n 次多项式的形状,这太深而无法进行同态计算。
首先必须解决上述情况 2 并成功提取这些单独的位。剩下的就是纯粹对密文进行批处理,这可以在 SEAL 中的 rotate_rows 的帮助下轻松完成。
【讨论】: