用SEAL分数转换为二进制

时间:2019-01-17 14:12:53

标签: seal

我可以将小数编码的密文转换为二进制编码的密文吗?

假设我用小数编码对5进行加密。然后,我可以由E(1),E(0),E(1)组成的数组吗? (5 = 101)

1 个答案:

答案 0 :(得分:2)

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

  1. 如果用“二进制编码的一个”表示二进制编码为5,则为是。小数编码的5和二进制编码的5都是纯文本x ^ 2 + 1。

  2. 如果用“由E(1),E(0),E(1)组成的数组”表示3个密文,分别解密为1、0和1,则为否。

    < / li>

从其小数/整数/二进制编码M(x)= m_ {n-1} x ^ {n-1} +中提取数字m的第k位(用m_k表示)。 。+ m_k x ^ k + ... + m_0,等同于找到一个函数F,对于给定的k和任何m,\ ZZ_2 [x] /中的F(M(x))= m_k (x ^ n + 1)。这样的功能很难找到。即使存在,它也可能是2 ^ n多项式的形状,太深而无法进行同态求值。

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

首先必须解决上述情况2,并成功提取那些单独的位。其余的纯粹是对密文进行批处理,可以借助SEAL中的 OCRz.Recognize(New Image(Of Bgr, Byte)(picStc1)) 'error too arguments RichTextBox1.Text = OCRz.GetBoxText 轻松完成。