【问题标题】:fractional to binary with SEAL使用 SEAL 将分数转换为二进制
【发布时间】:2019-01-19 08:33:17
【问题描述】:

我能否将分数编码的密文转换为二进制编码的密文?

假设我用小数编码对 5 进行了加密。那么,我可以创建一个由 E(1)、E(0)、E(1) 组成的数组吗? (5 = 101)

【问题讨论】:

    标签: seal


    【解决方案1】:

    让我们尝试使用纯文本来解决它。然后我们可以尝试用密文来解决。

    1. 如果“二进制编码的”是指 5 的二进制编码,那么是的。小数编码5和二进制编码5都是明文x^2+1。

    2. 如果“由 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 次多项式的形状,这太深而无法进行同态计算。

    1. 如果“由 E(1)、E(0)、E(1) 组成的数组”是指解密为向量 [1,0,1] 的 1 个密文,则不是。

    首先必须解决上述情况 2 并成功提取这些单独的位。剩下的就是纯粹对密文进行批处理,这可以在 SEAL 中的 rotate_rows 的帮助下轻松完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-03
      • 2019-02-13
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多