Можно сжать его, но это вряд ли сохранит много дискового пространства. По его характеру шифрование редко оставляет файл сжимаемым очень.
Попробуйте его, чтобы себя видел, существуют ли какие-либо сбережения размера файла.
Одна точка данных:
-rw-r----- 1 gene gene 2428671 2009-06-02 12:39 test.log
-rw-r----- 1 gene gene 134524 2009-06-02 12:39 test.log.bz2
-rw-r----- 1 gene gene 217162 2009-06-02 12:38 test.log.gz
-rw-r--r-- 1 gene gene 263229 2009-06-02 12:47 test-AES.gpg
-rw-r--r-- 1 gene gene 264833 2009-06-02 12:42 test-AES.gpg.bz2
-rw-r--r-- 1 gene gene 263302 2009-06-02 12:41 test-AES.gpg.gz
-rw-r--r-- 1 gene gene 134609 2009-06-02 12:43 test-bz2-AES.gpg
-rw-r--r-- 1 gene gene 217246 2009-06-02 12:43 test-gz-AES.gpg
test.log
оригинал, и test.log.bz2
и test.log.gz
просто сжаты с bzip2 и gzip, соответственно.
Если я шифрую его (gpg --symmetric --cipher-algo AES --output test-AES.gpg test.log
) зашифрованный файл (test-AES.gpg
) немного больше, чем сжатые версии. Сжатие зашифрованного файла на самом деле добавляет немного размера (test-AES.gpg.bz2
и test-AES.gpg.gz
).
Сжатие сначала затем шифрования действительно показывает некоторые сбережения (test-bz2-AES.gpg
и test-gz-AES.gpg
), особенно с bzip2.
Конечно, Ваш опыт может отличаться данный другое программное обеспечение шифрования и/или другое программное обеспечение сжатия.
Необходимо рассмотреть, являются ли сбережения размера файла, которые Вы получаете просто через шифрование, достаточно, или если сжатие затем шифрования стоит дополнительного шага в процессе.
Не, если шифрование хорошо работает. Сжатие имеет дело с распознаванием шаблонов в данных и создании "стенографии", которая относится к тем шаблонам для более позднего извлечения.
Если Ваше шифрование хорошо, файл похож на случайные помехи, и это не собирается сжиматься очень из-за отсутствия шаблонов. Конечно, можно вставить его к архивному файлу (.zip, .gz, и т.д.), но Вы, вероятно, не заставите его стать намного меньшим.
Программы сжатия не изменяют фактические данные всегда - если бы они сделали, то они были бы бесполезны. (Звуковое и сжатие изображения является исключением, поскольку глаз человека не видит таких небольших изменений, в то время как компьютер может дросселировать на единственном зеркально отраженном бите.) Так да, можно сжать зашифрованные файлы.
Но начиная с зашифрованных данных очень похоже на случайные данные, они не сжимаются очень хорошо - поэтому, если Вы можете, сжатие перед шифрованием. Иначе "сжатие" будет довольно бесполезно.
Для программы сжатия мир Unix предпочитает tar
наряду с gzip
/bzip2
(обычно используемый из tar, как в tar czf foo.tar.gz foo
), в то время как пользователи Windows предпочитают ZIP, RAR или 7z.
Используя любую программу сжатия (7z, zip, gzip, bzip2) без потерь и не влияет на Вашу способность дешифровать данные.
Однако из-за природы зашифрованных данных, Вы, вероятно, не получите много от него.
Правильный поступок является сжатием это перед шагом шифрования. Существующие утилиты, такие как gpg делают это. Поведение сжаться перед шифрованием является значением по умолчанию:
michael:~> dd if=/dev/zero of=testfile bs=1048576 count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00300552 s, 349 MB/s
michael:~> gpg --symmetric --cipher-algo aes --batch --passphrase cheesestring testfile
michael:~> ls -al testfile testfile.gpg
-rw-r--r-- 1 michael users 1048576 2009-06-02 12:42 testfile
-rw-r--r-- 1 michael users 1123 2009-06-02 12:43 testfile.gpg
Зашифрованный файл утратит статистические имущества, которые заставляют сжатие работать, так сжатие зашифрованного файла сохранит мало если любое пространство. Необходимо сжать файл сначала (в то время как он все еще ведет себя способом, который сжимается хорошо) прежде, чем зашифровать сжатый файл. Кроме этого, сжатие не будет влиять на исходное содержание файла, когда Вы приедете для распаковки его.
Файл, который может быть сжат после шифрования, не был по определению зашифрован. Возможно, это было "скремблировано" или "запутано". Зашифрованные данные неотличимы от случайных данных.
Программное обеспечение Encryption, которое сначала не сжимает файл прежде, чем сделать шифрование, совершает действие небрежности.
Можно выполнить зашифрованный файл через алгоритм сжатия без потерь, не уничтожая данные. Это - гарантия сжатия - что безотносительно данных Вы даете его, поскольку вход будет восстановлен, как произведено с распаковки. По определению алгоритм сжатия без потерь возвратит любые данные Вам, если Вы сожмете и распакуете.
Да, это не должно вызывать проблемы. Насколько программа шифрования затронута, ее справедливые данные. Однако было бы трудно восстановить данные, таким образом, Вы могли бы хотеть использовать PAR2 после создания архива.
Я думаю в итоге сумма свободного места, которое Вы оставили бы, не будет стоить потенциальных проблем, которые это вызвало бы.
Конечно, это будет зависеть, на какой операционной системе Вы используете, локальны ли Ваши файлы или в сети, какое резервное копирование Ваше выполнение, что Ваше использование для шифрования и с каким регистрирует Вашу работу.
Основной проблемой была бы скорость доступа, в которой необходимо будет сначала распаковать, затем дешифруют и являются ли файлы большими или маленькими его попытка добавить процессы. Также Вы будете соединять риск отказа путем добавления процессов.
Наконец помните, что Ваше программное обеспечение дешифрования захочет дешифровать несжатый файл, таким образом, Вы могли закончить со сжатой и uncompressded версией, существующей одновременно, который возьмет дважды дисковое пространство в тот момент.
Для людей, которые говорят, что вам следует сжимать перед шифрованием, причина, по которой это менее безопасно, заключается в "атаках с использованием известного открытого текста". Если кто-то знает, что вы сжали свои данные с помощью gzip перед шифрованием, это означает, что они уже знают первую горстку байтов вашего открытого текста, поскольку это будет заголовок gzip. Отсюда у них есть немного больше плацдарма для взлома ваших зашифрованных данных.
Как всегда, идеальной безопасности не бывает, и сначала шифрование может быть совершенно нормальным для большинства применений, но, к вашему сведению, оно действительно снижает безопасное сжатие перед шифрованием.
Для людей, которым нравятся подобные вещи, я работаю над несколькими статьями, в которых рассказывается об основах криптографии (предназначенных для программистов и других технических специалистов):