| Алфавіт
A | 02 | {ABCD}
B | 102 | {ABCD}
C | 1102 | {BACD}
D | 1112 | {CBAD}
D | 02 | {DCBA}
A | 1112 | {DCBA}
A | 02 | {ADCB}
переміщується на початок списку. Таким чином символи, які часто зустрічаються, завжди будуть знаходитись на початку списку і відповідно представлятись короткими кодовими комбінаціями. Порядок кодування за ступенем новизни демонструє табл. 1.
Якщо список алфавіту “АL” згенерувати, наприклад, використовуючи генератор ПВЧ, то вихідна послідовність стане іншою. Не знаючи початковий стан алфавіту, неможливо дешифрувати повідомлення. При цьому реалізується шифрування методом багатоалфавітної підстановки і стиснення даних одночасно. Для одночасного стиснення і шифрування даних методом багатоалфавітної підстановки може використовуватись така схема:
- згідно з формулою (3) генерується алфавіт повідомлення. Оскільки символи в комп’ютерних системах представлені 8-и бітовими комбінаціями, то m=256, а константи , і породжуюче число T0 можна вводити в якості ключа шифра.
- виконується стиснення згідно приведеного методу
Додаткові затрати відсутні, оскільки генерація символів алфавіту виконується в будь-якому випадку.
При незначних додаткових затратах можливо застосувати комбінацію методів, яка включає два основні етапи:
Етап1. Кодування за ступенем новизни для стиснення і шифрування методом багатоалфавітної підстановки.
Етап2. Шифрування за допомогою додаткового генератора ПВЧ з m рівним довжині початкового файлу результатів етапу 1. Цей або інший генератор ПВЧ може бути використаний також для виконання перестановок, оскільки він генерує всі числа в межах довжини початкового файлу. Якщо в стисненні даних немає потреби, то ця перестановка дозволить замаскувати стиснені дані в межах файлу такого ж розміру як і початковий з попередньо записаною випадковою інформацією.
Аналіз таких відомих алгоритмів стиснення інформації як кодування Хаффмана та LZW [5] показує також, що їх легко адаптувати до одночасного виконання стиснення і шифрування інформації. А при деяких додаткових обчисленнях згідно формули (3), ще і шифрування методом ПВЧ. Для цього достатньо лише сформувати таблицю перекодування кожного зчитаного з пам’яті символу. Ця таблиця може бути сформована, наприклад, за допомогою генератора ПВЧ (3) з m=256. При цьому зчитаний з початкового файлу символ даних задає позицію в таблиці перекодування, з якої вибирається код підстановки.
4. Висновки
1. Аналіз відомих алгоритмів стиснення даних показує, що вони дозволяють виконувати одночасно з стисненням і шифрування інформації без або при незначних додаткових затратах.
2. Для підвищення криптостійкості найбільш доцільно додатково до стиснення-шифрування використовувати генератори ПВЧ для накладання гами ключа на стиснуті дані і виконання перестановок у вихідних даних, оскільки додаткові обчилювальні затрати при цьому незначні.
Література:
1. Новосельский А. Алгоритмы шифрования // Компьютеры + программы 1996-№5.- С.70-77
2. Хоффман Л. Современные методы защиты информации: Пер. с англ. -М.: Сов. радио, 1980, 264с.
3. Защита информации в персональных ЭВМ/ Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др.-М.: Радио и связь, НП «Весна», 1992.
4. Кричевский Р.Е, Сжатие и поиск информации. –М.: Радио и связь, 1989.-168с.
5. Кохманюк Д. Сжатие данных: как это делается // Компьютеры+программы,1995.-№5. -С.18-19
6. Гончаров С. Криптография: ломайте головы… // Компьютер-пресс, 1998.-№6.-С.59-61
7. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.