- •Криптографическая защита информации
- •Оглавление
- •Раздел 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. Шифрсистемы на основе "проблемы рюкзака"
3.2.6. Действие группы на множестве
Пусть G – произвольная конечная группа, Х – конечное множество из п элементов. Будем говорить, что G действует на X, если задан любой гомоморфизм GS(X). Тем самым задано отображение декартова произведения G Х в множество X. Если gS(X), то (g,x) (х). Вместо (g,x) будем писать gx = (х). При этом выполняются очевидные свойства
е(х) = х, х X; (gh)x = g(h(x)), g, h G.
Два элемента х, х' Х называются эквивалентными относительно группы G, действующей на X, если х' =gx. Легко проверяются свойства рефлексивности, транзитивности и симметричности. Соответствующие классы эквивалентности называются орбитами. Орбиту, содержащую элемент х0, удобно обозначать символом G(х0), т.е. G(х0) ={gх0|gG}. Например, Sn(l)={1, 2,..., п}.
Пусть х0 – элемент из Х. Рассмотрим множество St(х0) ={gG|gх0=х0}. Легко убедиться, что St(х0) – подгруппа в G. Она называется стабилизатором элемента х0. Для рассмотренного примера St(1) – множество всех подстановок, оставляющих элемент 1 на месте. Очевидно, St(1) Sn-1, т. е. это фактически симметрическая группа на множестве 2,3,…,п.
Теорема 1. Card G(x0)= [G: St(x0)].
Левые смежные классы находятся во взаимно однозначном соответствии с элементами орбиты G(x0).
Из этой теоремы и теоремы Лагранжа следует, что длина любой орбиты конечной группы является делителем порядка группы.
Группа перестановок G Sn, действующая на множестве Х = {1, 2,..., п}, называется транзитивной, если орбита некоторой (а значит, и любой) точки совпадает со всем множеством X. Транзитивной будет вся группа Sn и, как нетрудно убедиться, знакопеременная группа Ап. Определим действие группы G на левых смежных классах по подгруппе Н по правилу g(g1H) = (g1g2)H. В этом случае также имеем дело с транзитивностью. В самом деле, если g1H и g2H — два смежных класса, то g2g1-1g1H = g2H.
3.3. Кольца и поля
3.3.1. Определения
Кольцом называется множество R с двумя бинарными операциями, обозначаемыми символами «+» и «•», такими, что:
1) R – абелева группа относительно операции «+»;
2) операция умножения ассоциативна, т.е. для всех a,b,c R (ab)c = а(bс);
3) выполняются законы дистрибутивности, т.е. для всех a,b,c R
а(b + с) = ab + ас и (b + с)а = bа + сa.
Условимся называть нейтральный элемент аддитивной группы кольца нулем и обозначать его символом 0. Противоположный к а элемент обозначают через -а. Вместо а + (–b) обычно пишут а–b. Легко доказываются свойства а0 = 0а = 0 для всех а R. Из этого следует, что (-а)b = а(-b) = -ab для всех a,b R. Простейшими примерами колец являются кольца целых чисел Z и многочленов R[x] с вещественными коэффициентами.
Кольцо называется кольцом с единицей, если оно имеет мультипликативную единицу, т.е. такой элемент е, что ае = еа = а для любого аR.
Кольцо называется коммутативным, если операция умножения коммутативна.
Два элемента кольца а 0, b0 называются делителями нуля, если ab = 0. Приведем пример делителей нуля. Рассмотрим кольцо классов вычетов Zm по модулю т. Оно состоит из элементов 0, 1, 2,..., т –1. Операция сложения над этими элементами была определена ранее. Аналогично определяется умножение. Выполняем обычное умножение чисел и при необходимости берем остаток от деления на т. Если т – составное, т=ab, то делителями нуля будут а, b.
Кольцо называется областью целостности, если оно является коммутативным кольцом с единицей и без делителей нуля.
Коммутативное кольцо называется полем, если его ненулевые элементы образуют группу относительно операции умножения. Очевидно, всякое поле содержит не менее двух элементов. Отметим простейшие свойства полей.
Свойство 3.7.1. В поле нет делителей нуля.
Равенство ab = 0 при а 0 влечет a-1ab = а-10, а значит, b=0.
Свойство 3.7.2. В поле второй закон дистрибутивности вытекает из первого.
Теорема 3.7.1. Конечная область целостности является полем.
Теорема 3.7.2. Кольцо классов вычетов Zm будет областью целостности, а значит, и полем лишь при простом т.
Поле Zр называется полем Галуа порядка р и обозначается через Fр.