数字加密算法[关闭]

问题描述 投票:-4回答:1

我有一个数字列表。我将调用一个服务(让我们说会计服务),它将对这些数字列表执行一些操作,并将返回给我最终结果。

我不想以普通格式传递我的数据。我希望以这种方式加密数字,如果服务执行任何算术运算并返回结果,我将能够用实际结果将其解密。

encryption numbers logic
1个回答
1
投票

是。您可以使用名为Homomorphic encryption的东西,“这是一种加密形式,允许在密文上进行计算,生成加密结果,当解密时,将匹配操作结果,就像它们已在明文上执行一样。”使用这种类型的加密,它们可以是Partially homomorphicFully homomorphic。完全同态加密可以支持arbitrary computation (also called "bignum arithmetic" or "Arbitrary-precision arithmetic"),而部分同态算法则不能。正如cryptography stack exchange用户mikeazothis thread上所述,

ElGamal是一种语义安全的乘法同态密码。 Paillier是一种语义安全的,附加同态的密码。

用户还进一步阐述并提到这种加密形式的重大缺点:

同态密码本身通常不提供可验证的计算。简而言之,您可以加密数据,将其发送到云端,然后让云为您计算数据。你怎么知道云执行了正确的计算?为了获得这种保证,需要其他机器。

在您的情况下,您将通过(我假设)信誉良好的API发送它,因此这可能不是您的担忧。

根据我的研究,你最好的选择可能是Gentry's cryptosystem。要使用它(在程序中),HElib应该可以正常工作。

将来,crypto.stackexchange.com可能会成为这类问题的更好地方

© www.soinside.com 2019 - 2024. All rights reserved.