I want to find an encryption algorithm which provides the functionality described below.

Given a key (a vector Vkey) and a data (an image), use this key to encrypt the image; the encrypted image can not be identified afer encryption.

When decrypt, if:

  1. use a key = Vkey to decrypt, the decoded image is the same as original one without error.
  2. use a key = Vkey_1, and diff(Vkey, Vkey_1) < threshold, the decoded image has slightly difference (ex, for each pixel 1~5 difference) with original.
  3. use a key = Vkey_2 which is much unlike Vkey (diff(Vkey, Vkey_1) > threshold), the decoded image is far from clear as original.

In short, diff(Vkey, Vkey_try) is Proportional to diff(original, decrypted image).

Some encrypt algorithm requests that the decrypt key should be exactly the same as the key but here, we need "if not completely match but only slightly different, we still can decode but with a little artifact".

Is there any similar encryption algorithm which provides the requested functionality?


1 Answer 1


I think Fuzzy IBE should work, but there is no notion of "proportional" : you can totally decrypt if your identity is near (in the sense of Hamming weight) and you can't, if it is not the case.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.