Если я что-то плохо шифрую, а потом с сильным шифром это безопасно? - PullRequest
1 голос
/ 25 марта 2010

Довольно бессмысленно, но если я зашифрую что-то с помощью своего собственного шифра (я буду считать, что это неправильно и плохо), то зашифрую это с помощью чего-то вроде AES или другого известного хорошего шифра, эти данные будут безопасны?

Логически я говорю да, потому что верхний слой безопасен. Кто-нибудь знает наверняка?

Ответы [ 2 ]

6 голосов
/ 25 марта 2010

Может быть.

Ситуация, которую вы описываете, была проанализирована Маурером и Мэсси в статье «Каскадные шифры: важность быть первым», опубликованной в Journal of Cryptology, 1993. Здесь авторы показывают, что каскад из двух шифров не может быть слабее, чем первый шифр. Обратите внимание, что этот результат предполагает, что шифры используют независимые ключи.

Они также несколько удивительно показывают, что каскад может быть не таким сильным, как второй шифр. Пример, приведенный в статье, немного академичен, и на самом деле довольно сложно найти реалистичные примеры. Вот попытка:

Предположим, что пользователи веб-страницы отправляют на сервер зашифрованные формы, содержащие некоторые конфиденциальные поля. Чтобы убедиться, что длина зашифрованного текста не пропускает никакой информации, все варианты чувствительных полей должны быть отформатированы так, чтобы они имели одинаковую длину. Шифрование открытых текстов одинаковой длины, скажем, с помощью AES-CBC, всегда приводит к шифротекстам одинаковой длины. Теперь предположим, что мы вставляем еще один шаг шифрования перед уровнем AES, который использует сжатие. Теперь внезапно, шифротексты больше не будут всегда иметь одинаковую длину, а длина зависит от выбора пользователя. Особенно, если количество вариантов ограничено (например, голосование), это действительно может привести к утечке реальной информации.

Конечно, во многих ситуациях добавление еще одного шага шифрования не повредит. Просто заключение Маурера и Мэсси о том, что на это не стоит полагаться.

2 голосов
/ 25 марта 2010

Это только доказуемо верно, если ключи, используемые слоем AES и другим слоем, различны и совершенно не связаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...