Сжать и затем зашифровать, или наоборот?

Я пишу систему VPN, которая шифрует (AES256) ее трафик через сеть (Почему запись мое собственное, когда уже существует 1 000 001 другий там? Ну, мой - специальный для определенной задачи что ни один из других соответствие).

В основном я хочу выполнить свои взгляды мимо Вас, чтобы удостовериться, что я делаю это в правильном порядке.

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

Так, мои взгляды, я должен сжать пакеты прежде, чем зашифровать, как незашифрованный пакет сожмется лучше, чем зашифрованный? Или наоборот?

Я буду, вероятно, использовать zlib для сжатия.

Читайте больше на блоге Суперпользователя.

88
задан 30.08.2018, 05:33

4 ответа

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

Сжатие перед шифрованием.

176
ответ дан 07.12.2019, 08:00

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

Кроме того, как г-н Alpha указывает, если Вы шифруете сначала, результат очень трудно сжать.

22
ответ дан 07.12.2019, 08:00

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

1
ответ дан 07.12.2019, 08:00

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

0
ответ дан 07.12.2019, 08:00

Теги

Похожие вопросы