Подтвердить что ты не робот

Лучше ли шифровать сообщение, а затем сжимать его или наоборот? Что обеспечивает большую безопасность?

У меня есть предположение, что никакой дополнительной защиты вообще нет.

4b9b3361

Ответ 1

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

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

Из статьи в википедии:

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

Ответ 2

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

См. https://en.wikipedia.org/wiki/CRIME, например.

Ответ 3

Шифрование работает лучше на коротких сообщениях с равномерным распределением символов. Сжатие заменяет сообщение неравномерным распределением символов другой, более короткой последовательностью символов, которые более равномерно распределены.

Следовательно, математически безопаснее сжимать до шифрования. Сжатие после шифрования не влияет на шифрование, которое остается относительно слабым из-за неравномерного распределения открытого текста.

Конечно, если вы используете что-то вроде AES256, а NSA не после вас, это все теория.

Ответ 4

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

Поэтому сжимайте и зашифровывайте.

Ответ 6

Вы должны сжать перед шифрованием.

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

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

Ответ 7

В обеспечении безопасности нет никакой разницы.

Ответ 8

Да, в предоставляемой безопасности не должно быть разницы.