- •Криптографическая защита информации
- •Оглавление
- •Раздел 1. Общие подходы к криптографической защите информации
- •Тема 1. Теоретические основы криптографии
- •1.1. Криптография
- •1.2. Управление секретными ключами
- •1.3. Инфраструктура открытых ключей.
- •1.4. Формальные модели шифров
- •1.5. Модели открытых текстов
- •Тема 2. Простейшие и исторические шифры и их анализ
- •Тема 3. Математические основы криптографии
- •3.1. Элементы алгебры и теории чисел
- •3.1.1. Модулярная арифметика. Основные определения.
- •3.1.2. Алгоритм Евклида нахождения наибольшего общего делителя
- •3.1.3. Взаимно простые числа
- •3.1.4. Наименьшее общее кратное
- •3.1.5. Простые числа
- •3.1.6. Сравнения
- •3.1.7. Классы вычетов
- •3.1.8. Функция Эйлера
- •3.1.9. Сравнения первой степени
- •3.1.10. Система сравнений первой степени
- •3.1.11. Первообразные корни
- •3.1.12. Индексы по модулям рk и 2рk
- •3.1.13. Символ Лежандра
- •3.1.14. Квадратичный закон взаимности
- •3.1.15. Символ Якоби
- •3.1.16. Цепные дроби
- •3.1.17. Подходящие дроби
- •3.1.18. Подходящие дроби в качестве наилучших приближений
- •3.2. Группы
- •3.2.1. Понятие группы
- •3.2.2. Подгруппы групп
- •3.2.3. Циклические группы
- •3.2.4. Гомоморфизмы групп
- •3.2.5. Группы подстановок
- •3.2.6. Действие группы на множестве
- •3.3. Кольца и поля
- •3.3.1. Определения
- •3.3.2. Подкольца
- •3.3.3. Гомоморфизмы колец
- •3.3.4. Евклидовы кольца
- •3.3.5. Простые и максимальные идеалы
- •3.3.6. Конечные расширения полей
- •3.3.7. Поле разложения
- •3.3.8. Конечные поля
- •3.3.9. Порядки неприводимых многочленов
- •3.3.10. Линейные рекуррентные последовательности
- •3.3.11. Последовательности максимального периода
- •3.3.12. Задания
- •Тема 4. Классификация шифров
- •4.1. Классификация шифров по типу преобразования
- •4.2. Классификация шифров замены
- •4.3 Шифры перестановки
- •4.3.1. Маршрутные перестановки
- •4.3.2. Элементы криптоанализа шифров перестановки
- •4.4. Шифры замены
- •4.4.1. Поточные шифры простой замены
- •4.4.2. Криптоанализ поточного шифра простой замены
- •4.4.3. Блочные шифры простой замены
- •4.4.4. Многоалфавитные шифры замены
- •4.4.5. Дисковые многоалфавитные шифры замены
- •4.5. Шифры гаммирования
- •4.5.1. Табличное гаммирование
- •4.5.2. О возможности восстановления вероятностей знаков гаммы
- •4.5.3. Восстановление текстов, зашифрованных неравновероятной гаммой
- •5.5.4. Повторное использование гаммы
- •4.5.5. Криптоанализ шифра Виженера
- •Тема 5. Поточные шифры
- •5.1. Принципы построения поточных шифрсистем
- •Примеры поточных шифрсистем
- •5.3. Линейные регистры сдвига
- •5.4. Алгоритм Берлекемпа-Месси
- •5.5. Усложнение линейных рекуррентных последовательностей
- •5.6. Методы анализа поточных шифров
- •6. Блочные шифры
- •6.1. Принципы построения блочных шифров
- •6.2. Примеры блочных шифров
- •6.3. Режимы использования блочных шифров
- •6.4. Комбинирование алгоритмов блочного шифрования
- •6.5. Методы анализа алгоритмов блочного шифрования
- •6.6. Рекомендации по использованию алгоритмов блочного шифрования
- •7. Криптографические хэш-функции
- •7.1. Функции хэширования и целостность данных
- •7.2. Ключевые функции хэширования
- •7.3. Бесключевые функции хэширования
- •7.4. Целостность данных и аутентификация сообщений
- •7.5. Возможные атаки на функции хэширования
- •Тема 8. Криптосистемы с открытым ключом
- •8.1. Шифрсистема rsa
- •8.2. Шифрсистема Эль-Гамаля
- •8.3. Шифрсистема Мак-Элиса
- •8.4. Шифрсистемы на основе "проблемы рюкзака"
4.4.4. Многоалфавитные шифры замены
Напомним, что правило зашифрования многоалфавитного шифра однозначной замены определяется следующим образом. Пусть х=(х1,...,хn) – открытый текст, представленный последовательностью шифрвеличин хi U, i=1,…,n, и k – произвольный ключ. Тогда
Еk(х) = ((х1),..., n(хn)), (2)
где i , i =1,…, n – некоторые подстановки на множестве всех шифрвеличин, однозначно определяемые данным ключом. При этом здесь и далее мы ограничимся рассмотрением случая, когда множества шифрвеличин и шифробозначений совпадают друг с другом (U = V ).
На практике используются в основном поточные многоалфавитные шифры, среди которых выделяются два больших подкласса – шифры, реализуемые дисковыми шифраторами, и шифры гаммирования. В следующем подпункте мы остановимся на дисковых шифрах, а шифрам гаммирования, в силу их большой значимости, отведем отдельную главу.
4.4.5. Дисковые многоалфавитные шифры замены
Общая характеристика и принцип действия дискового шифратора были даны в Теме 2. Здесь мы рассмотрим правило зашифрования и некоторые свойства такого шифра.
Прежде всего, следует выписать преобразование символов алфавита (в качестве которого, как и ранее, будем рассматривать множество Zn={0,1,...,–1}), осуществляемое движущимся диском. Для этого рассмотрим два соседних угловых положения диска при его повороте (по часовой стрелке). Пусть в исходном положении диск реализует подстановку
Введем в рассмотрение подстановку
После поворота на угол 2/n, диск реализует подстановку, представимую в виде произведения подстановок:
Теперь очевидно, что при повороте диска на угол 2m/n, m=1,…,n–1, диск будет реализовать подстановку T-mXTm.
Рассмотрим теперь дисковый шифратор, состоящий из нескольких насаженных на общую ось дисков, так что символы с входной розетки, попадая на блок дисков, последовательно проходят перепайки каждого из дисков, попадая на контакты выходной розетки. Обычно при работе такого шифратора диски при шифровании очередного знака открытого текста сдвигаются (по определенному правилу) на некоторые угловые положения (кратные 2/n). Схема движения дисков является ключевым элементом шифратора. Получим правило зашифрования текущего знака открытого текста такого шифратора.
Пусть в начальных угловых положениях рассматриваемые диски реализуют подстановки Х1,...,ХN из симметрической группы Sn (они также являются ключевыми элементами) и в данный такт шифрования данные диски находятся в соответствующих угловых положениях 1,...,N, i 0,…, п–1. Это означает, что i-й диск реализует подстановку Т -i Xi •Тi. Тогда очередная буква открытого текста x будет зашифрована в букву
у = Т -1 X1 • Т1 -2 X2 • Т2 -3 … •ТN-1 -N XN (х).
Формально определить правило зашифрования любого открытого текста для дискового шифратора чрезвычайно сложно (в связи с обилием различных ключевых элементов). Для поточных шифров, как правило, бывает достаточно знания правила зашифрования буквы текста.
Число простых замен, из которых "состоит" многоалфавитный шифр, реализуемый дисковым шифратором, может быть чрезвычайно большим. Чем больше это число, тем сложнее криптоанализ такого шифра. В связи с этим параметры дисковых схем (число дисков, реализуемые ими подстановки, схемы движения дисков и т. д.) должны быть тщательно продуманы.
Схемы токопрохождения электрических импульсов в дисковом шифраторе могут усложняться за счет введения "отражающего экрана", вместо выходной розетки. В результате этого импульс тока вторично проходит через блок дисков, только в противоположную сторону. Такая "обратимая" схема токопрохождения была использована в знаменитой "Энигме".
Криптоанализ дисковых шифраторов является весьма сложной задачей.