- •Оглавление
- •1. Информация, ее представление и измерение
- •2. Системы счисления и действия в них
- •3. Пространство сообщений. Коды обнаружения и исправления ошибок
- •4. Кодирование и шифрование информации
- •4.1. Криптография и криптоанализ
- •4.2. Традиционные симметричные криптосистемы
- •4.2. Шифрование методом замены
- •4.3. Шифрование методами перестановки
- •4.4. Шифрование методом гаммирования
- •4.3.Элементы криптоанализа
- •5. Функции алгебры логики. Программная реализация логических функций
- •5.1. Основные функции алгебры логики
- •Коммутативность
- •Ассоциативность
- •Дистрибутивность
- •5.2. Булева алгебра. Функциональная полнота
- •Свойства алгебры Жегалкина
- •1. Коммутативность
- •2. Дистрибутивность
- •3. Идемпотентность
- •5.3. Минимизация функций алгебры логики
- •5.4. Программная реализация логических функций и автоматов
- •6. Логические элементы эвм
- •8. Данные, типы данных, структуры и обработка
- •9. Методы разработки и анализа алгоритмов
- •10. Теория конечных автоматов
- •10.1. Определение конечного автомата
- •10.2. Способы представления конечных автоматов
- •11. Архитектура эвм
- •12. Программное и техническое обеспечение эвм
- •13. Информационные структуры
- •13.1. Последовательное и связанное распределение данных
- •13.2. Стеки и очереди
- •13.3. Деревья
- •13.4. Представление деревьев
- •13.5. Прохождение деревьев, леса
- •14. Формальные языки и грамматики
- •14.1. Введение в теорию формальных языков и грамматик
- •14.2. Выводы цепочек формальных грамматик. Деревья ксг
- •14.3. Основные понятия теории формальных языков и грамматик
- •Литература
4.3. Шифрование методами перестановки
Шифрование перестановкой заключается в том, что символы открытого текста переставляются по определенному правилу в пределах некоторого блока этого текста. Данные преобразования приводят к изменению только порядка следования символов исходного сообщения.
При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.
Метод простой перестановки
При шифровании методом простой перестановки производят деление открытого текста на блоки одинаковой длины равной длине ключа. Ключ длины n представляет собой последовательность неповторяющихся чисел от 1 до n. Символы открытого текста внутри каждого из блоков переставляют в соответствие с символами ключа. Элемент ключа Ki в заданной позиции блока говорит о том, что на данное место будет помещен символ открытого текста с номером Ki из соответствующего блока.
Пример. Зашифруем открытый текст «ПРИЕЗЖАЮДНЕМ» методом перестановки с ключом К=3142.
П |
Р |
И |
Е |
З |
Ж |
А |
Ю |
Д |
Н |
Е |
М |
3 |
1 |
4 |
2 |
3 |
1 |
4 |
2 |
3 |
1 |
4 |
2 |
И |
П |
Е |
Р |
А |
З |
Ю |
Ж |
Е |
Д |
М |
Н |
Для дешифрования шифротекста необходимо символы шифротекста перемещать в позицию, указанную соответствующим им символом ключа Ki.
4.4. Шифрование методом гаммирования
Под гаммированием понимают наложение на открытые данные по определенному закону гаммы шифра [5].
Гамма шифра – псевдослучайная последовательность, вырабатываемая по определенному алгоритму, используемая для шифровки открытых данных и дешифровки шифротекста.
Общая схема шифрования методом гаммирования представлена на рис. 4.3.
Рис. 4.3. Схема шифрования методом гаммирования
Принцип шифрования заключается в формировании генератором псевдослучайных чисел (ГПСЧ) гаммы шифра и наложении этой гаммы на открытые данные обратимым образом, например, путем сложения по модулю два. Процесс дешифрования данных сводится к повторной генерации гаммы шифра и наложении гаммы на зашифрованные данные. Ключом шифрования в данном случае является начальное состояние генератора псевдослучайных чисел. При одном и том же начальном состоянии ГПСЧ будет формировать одни и те же псевдослучайные последовательности.
Перед шифрованием открытые данные обычно разбивают на блоки одинаковой длины, например по 64 бита. Гамма шифра также вырабатывается в виде последовательности блоков той же длины.
Стойкость шифрования методом гаммирования определяется главным образом свойствами гаммы – длиной периода и равномерностью статистических характеристик. Последнее свойство обеспечивает отсутствие закономерностей в появлении различных символов в пределах периода. Полученный зашифрованный текст является достаточно трудным для раскрытия. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого блока.
Обычно разделяют две разновидности гаммирования – с конечной и бесконечной гаммами. При хороших статистических свойствах гаммы стойкость шифрования определяется только длиной периода гаммы. При этом, если длина периода гаммы превышает длину шифруемого текста, то такой шифр теоретически является абсолютно стойким, т.е. его нельзя вскрыть при помощи статистической обработки зашифрованного текста, а можно раскрыть только прямым перебором. Криптостойкость в этом случае определяется размером ключа.