问题:同态加密可以“读取”加密的单词吗?

时间:2019-07-15 13:37:39

标签: encryption homomorphism

这是我的问题。我不是这门学科的专家,所以请对答案保持友善。

我了解同态加密过程允许读取消息,就好像它已被解密一样,但是在不删除加密过程中放置​​的保护层的情况下,它可以做到这一点。

让我们假设对“ TESTE”一词进行加密,并对该加密的词进行同态加密。

我的问题是:

同态会理解加密文本的“含义”吗?同态会知道加密的单词也是“ TESTE”吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

让我给你一个不同的例子。我不确定该示例是否可以在当今的系统中实现。但无论如何它说明了这一点:

  • 甲方有10个号码并对其进行加密。
  • 加密的号码被提供给乙方。
  • 乙方计算10个号码的总和。结果是加密的数据。
  • 甲方已获得加密结果。
  • 甲方解密结果。

主要特征是,乙方不需要解密10个号码。此外,在整个总和计算中都将保持加密。因此,乙方既不知道输入数字也不知道计算得出的总和,因为所有操作都对加密数据进行。

答案 1 :(得分:0)

  

我了解同态加密过程允许读取一条消息,就像它已被解密一样。

不。同态加密是公钥加密,它使某人无需访问数据即可对加密数据进行评估(技术上是电路评估)。好的一面是,只要方案不中断,客户端就可以将繁重的过程交给云,而不必考虑它的数据受到损害。

要了解FHE,我们可以看一下没有填充的RSA教科书。教科书RSA启用乘法,即如果您将两个密文相乘然后解密,您将获得明文的相乘。因此,如果您想在云上复制数据,只需发送使用RSA加密的数据即可。 RSA仅乘法,但没有其他运算,这称为部分同态。

还有其他仅支持一种操作的公共密钥密码系统,例如x-or。这可用于验证云上的指纹,而无需向云透露数据。

如果执行两次运算,则称为完全同态,理论上我们可以构建任意电路。

主要思想是在语义上加密您的数据(用于计算的输入),然后发送电路(您要执行的操作)并发送到云以使用您的公钥进行计算。云计算电路并返回给您。只有您才能私下解密返回的信息以获取结果。

要点是无需访问数据即可完成计算。只要不破坏密码原语,就不会有人访问您的数据。

注意:Gentry的开创性工作的突破在于找到了一种处理噪声的新方法,该噪声可以乘以两倍。