- •Минобрнауки россии
- •Содержание
- •Раздел 1. Современные методы защиты Тема 1. Криптографические методы защиты данных
- •1.1. Основные типы криптографических протоколов
- •1.2 Симметричная и асимметричная криптография.
- •1.3. Подстановочные и перестановочные шифры
- •Рекомендуемая литература:
- •Тема 2. Симметричные криптографические системы
- •2.1. Стандарт шифрования des
- •Режимы использования шифра des
- •Увеличение криптостойкости алгоритма
- •Применение шифра des
- •2.2. Стандарт шифрования гост 28147-89
- •Рекомендуемая литература:
- •Тема 3. Асимметрические криптографические системы
- •3.1. Алгоритм rsa
- •3.2. Шифр Эль-Гамаля
- •3.3. Основные результаты по анализу стойкости
- •Рекомендуемая литература:
- •Раздел 2. Практические вопросы защиты операционных систем Тема 1. Причины существования уязвимостей в Unix-системах
- •1.1. Краткая история Unix
- •1.2. Уязвимости операционных систем
- •1.3. Технология переполнения буфера
- •Рекомендуемая литература:
- •Тема 2. Проекты безопасности для Linux
- •2.1. Проект openwall
- •2.2. Проект pax
- •2.3. Проект medusa
- •Рекомендуемая литература:
- •Тема 3. Мандатные модели в Linux
- •3.1. Rsbac
- •3.2. Type Enforcement
- •3.3. Сравнение rsbac и seLinux.
- •Рекомендуемая литература:
- •Заключение
- •Список литературы
1.3. Подстановочные и перестановочные шифры
Подстановочные и перестановочные шифры являются классическими примерами зашифровки текста. Для того чтобы рассмотреть подробнее эти шифры, посмотрим их реализации на примерах.
Подстановочные шифры: При подстановке отдельные буквы открытого текста заменяются другими буквами или числами либо какими-то иными символами. Если открытый текст рассматривается как последовательность битов, то подстановка сводится к замене заданных последовательностей битов открытого текста заданными последовательностями битов шифрованного текста.
Самым древним и самым простым из известных подстановочных шифров является шифр, использовавшийся Юлием Цезарем. В шифре Цезаря каждая буква алфавита заменяется буквой, которая находится на три позиции дальше в том же алфавите. Проще всего увидеть это на примере.
Открытый текст: meet me after the toga party
Шифрованный текст: PHHW PH DIWHU WKH WRJD SDUMB
Обратите внимание на то, что алфавит считается "циклическим", поэтому после Z идет A. Определить преобразование можно, перечислив все варианты, как оказано ниже.
Открытый текст: abcdefghijklmnopqrstuvwxyz
Шифрованный текст: DEFGHIJKLMNOPQRSTUVWXYZABC
Если каждой букве назначить числовой эквивалент (а = 1, b = 2 и т.д.), то алгоритм можно выразить следующими формулами. Каждая буква открытого текста p заменяется буквой шифрованного текста C:
C = E(p) = (р + 3) mod(26).
В общем случае сдвиг может быть любым, поэтому обобщенный алгоритм Цезаря записывается формулой
C = E(p) = (p + k) mod(26).
Где k принимает значения в диапазоне от 1 до 25. Алгоритм дешифрования также прост:
p = D(C) = (C = k) mod(26).
Если известно, что определенный текст был шифрован с помощью шифра Цезаря, то с помощью простого перебора всех вариантов раскрыть шифр очень просто — для этого достаточно проверить 25 возможных вариантов ключей.
Применение метода последовательного перебора всех возможных вариантов оправдано следующими тремя важными характеристиками данного шифра.
известны алгоритмы шифрования и дешифрования;
необходимо перебрать всего 25 вариантов;
язык открытого текста известен и легко узнаваем.
В большинстве случаев, когда речь идет о защите сетей, можно предполагать, что алгоритм известен. Единственное, что делает криптоанализ на основе метода последовательного перебора практически бесполезным — это применение алгоритма, для которого требуется перебрать слишком много ключей.
Перестановочные шифры: Все рассмотренные выше методы основывались на замещении символов открытого текста различными символами шифрованного текста. Принципиально иной класс преобразований строится на использований перестановок букв открытого текста. Шифры, созданные с помощью перестановок, называют перестановочными шифрами.
Простейший из таких шифров использует преобразование "лесенки", заключающееся в том, что открытый текст записывается вдоль наклонных строк определенной длины ("ступенек"), а затем считывается построчно по горизонтали. Например, чтобы шифровать сообщение "meet me after the toga party" по методу лесенки со ступеньками длиной 2, запишем это сообщение в виде
mematrhtgpry
etefeteoaat
Шифрованное сообщение будет иметь следующий вид.
MEMATRHTGPRYETEFETEOAAT
Такой "шифр"особой сложности для криптоанализа не представляет. Более сложная схема предполагает запись текста сообщения в горизонтальные строки одинаковой длины и последующее считывание текста столбец за столбцом, но не по порядку, а в соответствии с некоторой перестановкой столбцов. Порядок считывания столбцов при этом становится ключом алгоритма.