Рейтинг:1

Обеспечивает ли Salsa20/ChaCha20 целостность при шифровании растрового изображения?

флаг in

Простите меня за этот вопрос. У меня есть идея зашифровать растровые файлы *.bmp с помощью ChaCha20/Salsa20 без Poly1305.

Это просто простая программа, в которой я могу шифровать растровые изображения *.bmp, получая в результате CipherText в виде файлов *.bmp, которые все еще можно открывать и отображать случайные пиксели, которые были зашифрованы. Иллюстрация изображения ниже:

Иллюстрация

  1. Это возможно?
  2. Если да, то создает ли Ciphertext при расшифровке тот же файл Bitmap, что и PlaintText (оба имеют одинаковое значение контрольной суммы)?.
Рейтинг:3
флаг in
  1. Возможно ли это (по-прежнему обеспечивать целостность при шифровании растрового изображения)?

Нет, ChaCha20 — это просто потоковый шифр, сам по себе он не обеспечивает целостность/аутентичность сообщения; не без существенной переделки - тогда и называлась бы она как-то иначе.

  1. Если да, то создает ли Ciphertext при расшифровке тот же файл Bitmap, что и PlaintText (оба имеют одинаковое значение контрольной суммы)?.

Да, если зашифрованный текст не изменен расшифровка по-прежнему обратна шифрованию. Шифры являются детерминированными и обратимыми при инициализации с правильным ключом (ключами).

Тег аутентификации (Poly1305) используется для определения того, был ли зашифрованный текст (или тег) изменен из-за повреждения (ошибки передачи, дефекты во время хранения) или из-за преднамеренной попытки злоумышленника. Не требуется поддерживать целостность, если не происходит никаких внешних изменений.


Поскольку ChaCha20 является потоковым шифром (не поддерживающим открытый текст), функция шифрования является обратной самой себе: она генерирует поток ключей, который затем подвергается операции XOR с открытым текстом для шифрования и с зашифрованным текстом для дешифрования.

Недостатком этого является то, что вы не можете просто поместить «шпаргалку» или известное значение в открытый текст, чтобы определить, было ли расшифрование успешным или нет - в основном любое значение в полученном открытом тексте может быть изменено по желанию путем изменения зашифрованного текста.


Довольно часто в файлах есть места, где можно скрыть информацию. Например, вы можете ознакомиться с Заголовок DIB или таблица цветов/профиль если вы хотите сохранить дополнительные байты, такие как тег аутентификации Poly1305.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.