алгоритм шифрования с помощью векторного ключа, и ошибка пропорциональна разнице между ключом ввода и реальным ключом
Я хочу найти алгоритм криптографии, обеспечивающий описанные ниже функции.
Имея ключ (вектор Vkey) и данные (изображение), используйте этот ключ для шифрования изображения; зашифрованное изображение не может быть идентифицировано после шифрования.
При расшифровке, если:
- используйте ключ = Vkey для дешифрования, декодированное изображение без ошибок такое же, как и исходное.
- используйте ключ = Vkey_1 и diff(Vkey, Vkey_1) <три, декодированное изображение имеет небольшое отличие (например, для каждого пикселя 1~5 разницы) с оригиналом.
- используйте ключ = Vkey_2, который сильно отличается от Vkey (diff(Vkey, Vkey_1)> threeashold), декодированное изображение далеко не четкое, как исходное.
Короче говоря, diff(Vkey, Vkey_try) пропорционален diff(исходному, расшифрованному изображению).
Некоторые алгоритмы шифрования запрашивают, чтобы ключ дешифрования был точно таким же, как и ключ, но здесь нам нужно «если не полностью совпадать, а лишь немного отличаться, мы все равно можем декодировать, но с небольшим артефактом».
Есть ли какой-либо аналогичный алгоритм шифрования (де) криптографии, который обеспечивает запрашиваемую функциональность?
1 ответ
Не существует криптографически безопасного алгоритма, удовлетворяющего 2. Когда вы используете криптографически безопасный алгоритм, данные неотличимы от случайных без правильного ключа. Следовательно, если вы используете другой ключ для дешифрования, данные должны быть полностью рандомизированы.
Существуют алгоритмы, в которых связанные ключи могут обеспечивать аналогичное шифрование, например RC4, но это считается серьезной проблемой безопасности, и, как следствие, RC4 запрещен в TLS и других безопасных протоколах. Результат также недостаточно похож для достижения ваших целей.
Если ваша цель - сделать что-то иное, чем надежное шифрование ваших данных (как предлагает ваш тег "demosaicing"), было бы полезно, если бы вы упомянули, в чем заключалась эта цель, чтобы мы могли предоставить полезный ответ, который поможет вам в достижении этой цели. Например, если ваша цель - создать похожие изображения, которые лишь незначительно отличаются, но вам не нужна криптографическая безопасность, существуют алгоритмы, которые могут удовлетворить ваши потребности.