Алгоритм кодирования в архиваторе 7 zip

Обновлено: 06.07.2024

Доброго времени суток, уважаемый читатель! Волею судьбы, я, на этом этапе жизни я преподаватель IT дисциплин в колледже и делюсь некоторыми наблюдениями с Вами, дорогими читателями.

Современные дети с пеленок ловко управляются со смартфоном, устанавливают операционные системы на ПК, и взламывают Touch ID на гаджетах, что уж говорить о профессионально развивающихся людях, в данном направлении.

В данной статье пойдет речь, как ни странно, о бесплатном архиваторе 7-Zip , имеющим в своем арсенале, не новый, функционал по защите информации с помощью парольной защиты.

В данной статье расскажу о простой парольной защите и защите с шифрованием имен файлов . К слову, 7-Zip использует популярный стандарт шифрования AES-256 .

Причем здесь архиватор?

Об архиваторах не слышал только ленивый. Появились они давно, у истоков стояли WinZip и WinRAR, там также парольная защита присутствовала, даже в "бородатых" версиях ПО.

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

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

В чем его надежность?

Шифрование AES - 256 . Advanced Encryption Standard (AES) - один из наиболее часто используемых и наиболее безопасных алгоритмов шифрования.

Неужели его так сложно взломать?

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

Простая парольная защита в 7-Zip (последовательность действий)

1. Создаем папку, для удобства, размещаем в нее, необходимые файлы, нажимаем на папке правой кнопкой мыши, 7-Zip - Добавить к архиву.

Содержание

LZMA использует алгоритм словарного сжатия, выходные данные которого закодированы интервальным кодированием, использующим сложную модель вычисления вероятности появления каждого бита. Система сжатия находит соответствия, используя словарную структуру данных, и создает поток символов и ссылок фраз, уже находящихся в словаре, который закодирован [math]1[/math] битом интервальным кодировщиком.

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

По сравнению с алгоритмом LZ77 алгоритм LZMA имеет следующие преимущества: более высокий коэффициент сжатия, изменяемый размер словаря, небольшие требования по памяти для «распаковки» данных.

Алгоритм LZMA не на всех типах входных данных работает одинаково эффективно.

В дополнении к алгоритмам, используемым в LZ77, LZMA использует Дельта-фильтр и интервальное кодирование.

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

Lzma3.jpg

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

  1. Функция принимает массив и длину массива как аргументы, если длина не была передана, то массив не обрабатывается.
  2. Инициализируем переменные [math]tmp[/math] , для сохранения последнего элемента и [math]last[/math] для хранения предыдущего числа.Инициализируем цикл.
  3. В цикле: 3.1 Сохраняем элемент с индексом [math]i[/math] . 3.2 Вычисляем разницу между элементом под номером [math]i[/math] и [math]i-1[/math] и перезаписываем ее в элемент массива с индексом [math]i[/math] .
  1. Инициализируем переменную для хранения последнего символа.
  2. Инициализируем цикл.
  3. В цикле: 3.1 Добавляем к этому элементу значение предыдущего элемента. 3.2 Сохраняем значение текущего элемента.

В декодере должны быть такое же распределение вероятностей как и при кодировании.

Закодируем строку [math]abehhilopsu[/math] . Для начала пропустим ее через дельта фильтр. Тогда исходная строка [math]abehhilopsu[/math] примет вид:

[math]a[/math] [math]1[/math] [math]3[/math] [math]3[/math] [math]0[/math] [math]1[/math] [math]3[/math] [math]3[/math] [math]1[/math] [math]3[/math] [math]2[/math] .

Как мы видим, теперь в нашей строке вместо [math]10[/math] различных символов [math]5[/math] различных символа. Далее применим к получившейся строке метод «скользящего» окна:

Для нашей строки получаем диапазон [math][0; 10^9][/math] и распределение вероятностей: [math]\[/math]

Удобство использования архива известно всем! Это, в первую очередь, возможность уменьшить занимаемое файлами место на компьютере за счет их сжатия. Да и пересылать по почте или выкладывать в интернете набор файлов бывает удобнее в виде архива, чем по одному.

Но, наверное, не все знают, что помимо сжатия файлов архиваторы дают возможность ограничивать доступ к содержимому архива посредством ввода пароля. Таким образом, кроме экономии места на диске, пользователь получает еще и защищенные с помощью шифрования файлы. Как можно защитить свой архив, рассмотрим на примере использования программ WinRAR и 7-Zip.

WinRAR

Опция - добавить в архив (WinRAR)

В диалоге создания архива выбираем формат "RAR", метод сжатия – "Без сжатия" (если нужна только защита, можно не тратить время на архивирование) и нажимаем на кнопку "Установить пароль…".

установка опций архивирования в WinRAR

Придумываем и дважды вводим пароль, а также обязательно ставим галочку "Шифровать имена файлов" (преимущество над ZIP). Нажимаем везде "ОК", начнется шифрование файлов.

Установка пароля на архив в WinRAR

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

Запрос пароля на архив

Подобрать пароль практически невозможно, так как WinRAR, начиная с 5-й версии, использует AES шифрование с длиной ключа 256 бит. Более старые версии используют шифрование AES-128. Помню, где-то слышал, что для подбора пароля к архиву, зашифрованному методом AES с длиной ключа в 128 бит, на самом современном компьютере понадобится больше 15 лет. Как видите, вам нечего опасаться!

Если пароль введен правильно, WinRAR покажет вам содержимое архива.

Просмотр архива в WinRAR

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

  • Архивирование / разархивирование: 7z, ZIP, GZIP, BZIP2 и TAR;
  • Только разархивирование: ARJ, CAB, CHM, CPIO, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR и Z.

Имеет свой собственный одноименный формат сжатия – "7z". Этот формат так же, как и RAR поддерживает защиту имен файлов. Для шифрования кликаем по файлах в проводнике Windows и выбираем опцию контекстного меню "7-Zip > Добавить к архиву…".

Добавить в архив 7-Zip

Выбираем в выпадающем списке "Формат архива" значение "7z", уровень сжатия – "Без сжатия" (по той же причине, что и в WinRAR), в группе "Шифрование" придумываем и задаем пароль, а также, как и в WinRAR, ставим галочку "Шифровать имена файлов". Как видите, метод шифрования такой же, как и в WinRAR – "AES-256".

Настройки архивации в 7-Zip

Нажимаем "ОК", будет создан зашифрованный архив. При попытке открыть архив будет запрошен пароль.

Запрос пароля на архив 7z

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

Будьте осторожными! Если забыли пароль, никто и ничто не поможет вам восстановить ваши данные!

Формат 7z, алгоритм сжатия LZMA и подробное описание 7-Zip

Эта статья подробно знакомит с форматом сжатия 7z, алгоритмом сжатия LZMA и программным обеспечением сжатия 7-Zip, которое поддерживает формат сжатия 7z. Я надеюсь, что это поможет вам понять формат сжатия 7z.

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

Основные особенности формата 7z:
  • Открытая архитектура, вы легко можете добавить любой новый метод сжатия, например LZMA, LZMA2, BZip2 и т.д .;
  • Высокая степень сжатия;
  • Мощное шифрование AES-256 (256-битный расширенный стандарт шифрования (AES));
  • Совместимость с любым алгоритмом сжатия, преобразования и шифрования;
  • Поддерживает сжатие файлов до 16000000000 ГБ;
  • Имя файла на основе Unicode;
  • Поддержка твердого сжатия;
  • Поддержка сжатия заголовков файлов;
Алгоритмы, поддерживаемые форматом 7z:

7zБыла раскрыта функция редактирования структуры, поэтому она может поддерживать любой новый алгоритм сжатия. На данный момент следующие алгоритмы сжатия были интегрированы в7zСередина::

Алгоритм сжатия Замечания
LZMA Улучшенный и оптимизированный алгоритм LZ77
LZMA2 Улучшенный алгоритм LZMA
PPMD Алгоритм PPMdH на основе Дмитрия Шкарина
BCJ Конвертер 32-битных исполняемых файлов x86
BCJ2 Конвертер 32-битных исполняемых файлов x86
BZip2 Стандартный алгоритм BWT
Deflate Стандартный алгоритм на основе LZ77

Введение в алгоритм LZMA:

LZMA - это алгоритм сжатия по умолчанию для формата 7z. Его основные особенности:

  • Высокая степень сжатия;
  • Переменный размер словаря (до 4 ГБ);
  • Скорость сжатия: около 1 МБ / с на процессоре 2 ГГц;
  • Скорость декомпрессии: около 10-20 МБ / с на процессоре 2 ГГц;
  • Меньшая декомпрессионная память (в зависимости от выбранного размера словаря);
  • Меньший код декомпрессии, около 5 КБ;
  • Поддержка многопоточности;
Введение в 7-Zip и основные функции:

7-Zip - это программное обеспечение для сжатия с открытым исходным кодом и очень высокой степенью сжатия.Большая часть исходного кода выпущена в соответствии с лицензионным соглашением GNU LGPL и может использоваться по желанию. Его основные особенности заключаются в следующем:

  • использовал LZMA против LZMA2Формат 7z алгоритма имеет очень высокую степень сжатия;
  • Формат поддержки:
    • Сжатие / распаковка: 7z, XZ, BZIP2, GZIP, TAR, ZIP и WIM
    • Только декомпрессия: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS. , UDF, VHD, WIM, XAR, Z

    7-Zip

    7-ZipПодходит для Windows 7 / Vista / XP / 2008/2003/2000 / NT / ME / 98. И есть версии для командной строки для платформ Mac OS X, Linux и Unix.

    7-ZipКоэффициент сжатия

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

    Настройки файла:После полной установкиMozilla Firefox1.0.7 для Windows иGoogle Earth 3.0.0616 for Windows。

    название программного обеспечения Mozilla Firefox Google Earth
    161 файл
    15 684 168 байт
    115 файлов
    23 530 652 байта
    После сжатия Коэффициент сжатия После сжатия Коэффициент сжатия
    7-Zip 4,23 (формат 7z) 4621135 100% 6109183 100%
    WinRAR 3.50 5021556 109% 6824892 112%
    CABARC 5.1 5131393 111% 7434325 122%
    WinZip 10.0 beta(maximum-PPMd) 5277118 114% 8200708 134%
    7-Zip 4,23 (формат zip) 6222627 135% 8909446 146%
    WinZip 10.0 beta(maximum-portable) 6448666 140% 9153898 150%

    Результат степени сжатия определяется размером сжатых данных. Обычно используется7-ZipФормат 7z может быть на 30-70% меньше, чем файлы, сжатые в формате zip. И использовать7-ZipСозданный zip-формат на 2-10% меньше, чем формат, созданный большинством других программ сжатия.

    Читайте также: