我想找到一个提供下述功能的加密算法。
给定一个密钥(一个向量Vkey)和一个数据(一个图像),使用这个密钥来加密图像;加密后的图像无法识别。
解密时,如果:
- 使用a key = Vkey 解密,解码后的图像与原图相同,没有错误。
- 使用 a key = Vkey_1,并且 diff(Vkey, Vkey_1) < threashold,解码后的图像与原始图像略有不同(例如,对于每个像素 1~5 的差异)。
- 使用与 Vkey (diff(Vkey, Vkey_1) > threashold) 非常不同的 key = Vkey_2,解码后的图像远不如原始图像清晰。
简而言之,diff(Vkey, Vkey_try) 与 diff(original, decrypted image) 成正比。
一些加密算法要求解密密钥应该与密钥完全相同,但在这里,我们需要“如果不完全匹配但只是略有不同,我们仍然可以解码但有一点神器”。
是否有任何类似的 en(de)crypt 算法可以提供所需的功能?