Назад | Перейти на главную страницу

Сжатие зашифрованных файлов

Есть ли там установщик, такой как InstallShield, Wise или любой другой, который позволяет мне выполнять сжатие (в любом формате) зашифрованного файла, если я дам ему кодовую фразу, которую я использовал при шифровании файла?

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

Я прочитал другую тему, но она не ответила на нужный мне вопрос.


Спасибо всем замечательным людям, которые пытаются помочь.

возможно, мне стоит здесь подробнее остановиться ...

в моем софте есть программа для просмотра офисных документов. Он встроен в Office. Мое программное обеспечение поставляется с действительно красивыми Word Tempates, которые я хочу защитить от "копировальных устройств", чтобы законные люди не страдали, программа / программа просмотра отображает миниатюры пользователю, когда законный пользователь пытается открыть tempalte, мою работающую "службу "расшифровывает файл и открывает его без проблем.

теперь ВСЕ шаблоны документов Word, которые я предоставил, зашифрованы. Они по-прежнему показывают формат файла .doc, например Template001.doc. Его нельзя открыть без программы просмотра. если у вас есть просмотрщик, то у вас есть доступ ко всем tempaltes.

из-за того, что к моим файлам документов не применялось сжатие, размер моего установщика составляет 500 МБ. Если они не были зашифрованы, установка с использованием LZMA занимает 10 МБ, вы можете сразу увидеть огромную разницу.

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

Есть идеи сейчас?

спасибо DC

К сожалению, нет. Зашифрованные файлы выглядят как случайный шум, и нет возможности сжать случайные данные.

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

Как сказал Зак, вы не можете сжать зашифрованные данные (вы мощь получите сжатие 1 или 2%, если повезет).

Правильный способ справиться с этим - расшифровать данные, сжать их, а затем повторно зашифровать этот сжатый архив.

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

Один из вариантов, который вы можете попробовать, - расшифровать файлы, затем использовать приложение для архивирования, такое как 7-Zip или WinRAR, чтобы сжать их, и использовать встроенную функцию шифрования инструмента. Фактически, современные версии таких утилит позволяют не только шифровать файлы, но даже имена файлов, так что архив действительно непрозрачен без пароля.

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

Почему бы вместо этого просто не зашифровать сжатые файлы? Это должно сработать.

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

Я думаю, что ваши требования, если я их правильно понимаю:

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

Возможно, один из способов сделать это:

  • создать зашифрованный том, например, используя truecrypt, cryptfs или Microsoft Encrypted File System
  • расшифровать зашифрованные файлы в папку на этом томе
  • запустить упаковщик для файлов в этой папке, сжать их, а затем повторно зашифровать их на лету

Вариант этого варианта, если ваше упаковочное решение само по себе не поддерживает шифрование и т. Д., Может заключаться в следующем:

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

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

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

Вам нужно применить сжатие ПЕРЕД шифрованием.

"моя работающая" служба "расшифровывает файл"

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

Самый простой - это сжатие с помощью zlib.

Если вы пользуетесь какой-либо услугой шифрования от других людей / компании, сообщите нам название этой услуги.

Почему бы не применить base64 к зашифрованным данным, а затем сжать их? Звучит неубедительно, но, по крайней мере, у вас будет много букв и цифр, которые, в свою очередь, можно сжать. Это моя теория, так не пробовал.

Надеюсь, это поможет, С уважением, Том.