- •Криптографическая защита информации
- •Оглавление
- •Раздел 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.1.4. Наименьшее общее кратное
Если а|М, b|М, то число MN называют общим кратным целых чисел a,bZ. Наименьшее общее кратное (НОК) чисел a и b принято обозначать [a,b].
Теорема 1. Если М – общее кратное целых а и b, то [a,b] |М.
Теорема 2. Справедливо соотношение [a,b]=ab/(a,b).
Наименьшее общее кратное нескольких чисел также можно вычислять последовательно.
3.1.5. Простые числа
Натуральное число р > 1 называется простым, если оно не имеет других натуральных делителей, кроме 1 и p. Простым числом будет наименьший, отличный от единицы делитель целого а, а > 1.
Теорема (Евклид). Существует бесконечно много простых чисел.
Отметим еще несколько свойств простых чисел (р – простое).
Свойство 1. (р,а)1=> р|а.
Свойство 2. p|ab=> р|а либо р|b.
Свойство легко обобщается на случай нескольких чисел а, b, с,...
Теорема 2. Всякое целое, больше единицы, разложимо в произведение простых множителей. Это разложение единственно с точностью до порядка следования множителей. В разложении некоторые множители могут повторяться. Если объединить повторения, то получается каноническое разложение числа а на простые множители:
.
3.1.6. Сравнения
Будем рассматривать целые числа в связи с остатками от их деления на натуральное т, называемое модулем. Если два целых а и b имеют одинаковые остатки от деления на т, то они называются сравнимыми по модулю т. Сравнимость чисел а и b записывают в виде
a b(mod m).
Отметим следующие легко доказываемые либо очевидные свойства.
Свойство 1. a b(mod m) m|a–b.
Свойство 2. a b(mod m), b c(mod m) => a c(mod m).
Свойство 3. Сравнения можно почленно складывать.
Пусть а1 b1(mod m), а2 b2(mod m). Тогда (а1+а2)(b1 +b2)(mod m).
Свойство 4. Сравнения можно почленно перемножать.
Аналогично предыдущему, (а1а2)(b1b2)(mod m).
Свойство 5. К обеим частям сравнения можно прибавить одно и то же число.
Свойство 6. Обе части сравнения можно умножить на одно и то же число.
Свойство 7. Обе части сравнения можно разделить на их общий делитель, если он взаимно прост с модулем.
Свойство 8. Обе части сравнения и модуль можно сокращать на их общий делитель.
Свойство 9. а b(mod m1), а b(mod m2)=> а b(mod [m1, m2]).
Свойство 10. а b(mod m), d|b, d|m, =>d|a.
Свойство 11. а b(mod m), => (a,m)=(b,m).
3.1.7. Классы вычетов
Числа, сравнимые по модулю т, образуют класс вычетов по модулю т. Все числа из одного класса имеют один и тот же остаток r от деления на т. Любое число а из класса вычетов называется вычетом по модулю т. Соответствующий класс обозначается через ā. Поскольку отношение ab(modт) является бинарным отношением эквивалентности, то имеем разбиение целых чисел на классы эквивалентности (классы вычетов). Всего имеется т классов вычетов по модулю т: .
Свойство 1. a b(mod m) <=>
Свойство 2. a b(mod m) <=> .
Взяв из каждого класса по одному вычету, получим полную систему вычетов. Например, наряду с полной системой вычетов будет
Свойство 3. Любые т чисел, попарно несравнимые по модулю т, образуют полную систему вычетов.
Свойство 4. Если (а, т)=1 и х пробегает полную систему вычетов по модулю т, то ах + b, где b — любое целое, также пробегает полную систему вычетов по модулю т.
Согласно свойству 11 сравнений, числа одного класса вычетов имеют с модулем т один и тот же общий делитель. Рассмотрим те классы, для которых этот делитель равен единице. Взяв от каждого такого класса по одному вычету, получим приведенную систему вычетов. Например, приведенная система по модулю 42 будет 1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41.
Свойство 5. Если (а,т) = 1 и х пробегает приведенную систему вычетов по модулю т, то ах также будет пробегать приведенную систему вычетов по модулю т.