В настоящее время очень часто требуется не только зашифровать данные, но и сделать их хранение и передачу как можно более эффективной. На практике, задача сжать и зашифровать файл решается напрямую – сначала данные сжимаются каким-нибудь известным методом, а затем шифруются блочным шифром.
Сжатие – это процесс устранения избыточности представления информации. Шифрование же, наоборот, стремиться увеличить энтропию выходных данных с тем, чтобы криптоаналитик не имел возможности использовать статистические зависимости шифротекста для проведения успешного криптоанализа.
Объединение этих алгоритмов позволит повысить эффективность передачи и хранения данных по сравнению с последовательным применением алгоритма шифрования и алгоритма сжатия по отдельности. [1]
Все криптографические алгоритмы строятся с использованием, так называемых, криптографических примитивов – простейших операций, комбинация которых позволяет получить алгоритм шифрования данных.
Для симметричных алгоритмов шифрования такими криптографическими примитивами являются:
- Подстановка (или замена). Операция, заменяющая символ открытого текста другим символом алфавита по заданному правилу.
- Перестановка. Операция, меняющая местами символы открытого текста по заданному правилу.
- Криптопреобразование Адамара — обратимое преобразование битовой строки.
Для разрабатываемого алгоритма была выбрана операция подстановки. Эта операция использует таблицу замены, отвечающую требованиям стойкости. Наиболее распространенными таблицами замены являются таблицы замены современных стандартов шифрования: ГОСТ 28147-89 и AES (Advanced Encryption Standard).
Таблица замены алгоритма ГОСТ представляет несколько вариантов замены исходных 4-х битов текста, что делает ее применение более предпочтительным.
Были проанализированы алгоритмы сжатия данных без потерь:
- кодирование Хаффмана;
- адаптивное кодирование Хаффмана;
- арифметическое кодирование;
- адаптивное арифметическое кодирование.
Анализ алгоритмов проводился по критериям:
- степень сжатия;
- скорость сжатия (таблица 1).
Таблица 1
Значения критериев для методов сжатия
Степень сжатия | Скорость сжатия | ||
худшая | лучшая | ||
Кодирование Хаффмана | 1 | 8 | 0 |
Адаптивное кодирование Хаффмана | 1 | >8 | 0,5 |
Арифметическое кодирование | 1 | >8 | 0,5 |
Адаптивное арифметическое кодирование | 1 | >8 | 1 |
Для алгоритма криптографического сжатия был выбран метод Кодирование Хаффмана, т.к. он обладает лучшей совокупностью скорости и степени сжатия по сравнению с другими методами сжатия.
Был составлен неформальный алгоритм работы кодирования Хаффмана:
- Расчет и упорядочивание частот появления символов;
- Построение дерева Хаффмана;
- Кодирование, считывание битов по дереву, пока не достигнем листа;
- Декодирование.
Оптимальным способ осуществления криптографического сжатия является модификация алгоритма сжатия, т.к. если сначала зашифровать текст, то сжатие криптографического текста будет бесполезным и малоэффективным, потому что распределение частот появления символов в шифротексте стремиться к равновероятному.
По результатам анализа алгоритма работы кодирования Хаффмана было принято решение о добавлении операции подстановки на шаге 3 – процессе кодирования открытого текста. При этом симметричная операция обратной подстановки должна быть добавлена на шаге 4 – процессе раскодирования сжатого и зашифрованного текста.
Была разработана математическая модель криптографического сжатия данных.
Производится замена результирующего символа z*=k*<<4+t* с помощью дерева G.
Дальнейшие исследования направлены на разработку программного средства и проведение экспериментальных исследований с целью определить его качество, как с точки зрения сжатия, так и с точки зрения криптографической стойкости.
Список литературы:
- Никишова А.В., Кожевникова И.С., Васенёва В.А., Николаенко В.Г. Свойства сжатых данных, влияющие на их защищенность – Национальная ассоциация ученых. Ежемесячный научный журнал №5 / 2014 часть 2. V Международная научно-практическая конференция: «Отечественная наука в эпоху изменений: постулаты прошлого и теории нового времени» — Ек.: 2014, стр.33-35[schema type=»book» name=»ФОРМАЛИЗОВАННАЯ МОДЕЛЬ КРИПТОГРАФИЧЕСКОГО СЖАТИЯ ДАННЫХ» description=»Для соединения таких теоретически противоположных операций как сжатие и шифрование данных, был разработан алгоритм криптографического кодирования. Разработанный алгоритм является модификацией алгоритма сжатия, во время работы которого данные шифруются с помощью криптографического примитива.» author=»Кожевникова Ирина Сергеевна, Ананьин Евгений Викторович, Датская Лариса Викторовна» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2017-03-13″ edition=»ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_30.05.2015_05(14)» ebook=»yes» ]