0

我想找到一个提供下述功能的加密算法。

给定一个密钥(一个向量Vkey)和一个数据(一个图像),使用这个密钥来加密图像;加密后的图像无法识别。

解密时,如果:

  1. 使用a key = Vkey 解密,解码后的图像与原图相同,没有错误。
  2. 使用 a key = Vkey_1,并且 diff(Vkey, Vkey_1) < threashold,解码后的图像与原始图像略有不同(例如,对于每个像素 1~5 的差异)。
  3. 使用与 Vkey (diff(Vkey, Vkey_1) > threashold) 非常不同的 key = Vkey_2,解码后的图像远不如原始图像清晰。

简而言之,diff(Vkey, Vkey_try) 与 diff(original, decrypted image) 成正比。

一些加密算法要求解密密钥应该与密钥完全相同,但在这里,我们需要“如果不完全匹配但只是略有不同,我们仍然可以解码但有一点神器”。

是否有任何类似的 en(de)crypt 算法可以提供所需的功能?

4

1 回答 1

1

没有满足 2 的加密安全算法。当您使用加密安全算法时,如果没有正确的密钥,数据与随机数据是无法区分的。因此,如果您使用不同的密钥进行解密,则数据应该是完全随机的。

存在相关密钥可以产生类似加密的算法,例如 RC4,但这被认为是一个主要的安全问题,因此 RC4 在 TLS 和其他安全协议中被禁止。输出也不够相似,无法满足您的目标。

如果您的目标是安全地加密您的数据(如您的标签“去马赛克”所建议的那样)之外的其他事情,那么如果您提到该目标是什么会有所帮助,这样我们就可以提供有用的回复来帮助您实现该目标。例如,如果您的目标是生成仅略有不同的相似图像,但您不需要加密安全,那么有一些算法可以满足您的需求。

于 2021-06-18T20:40:27.413 回答