
- •Криптографическая защита информации
- •Оглавление
- •Раздел 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.8. Функция Эйлера
Количество классов вычетов в приведенной системе вычетов обозначают через (т) и называют функцией Эйлера. Она определена для всех натуральных чисел и представляет собой количество чисел ряда 0,1,…, т, взаимно простых с т.
Примеры. (1) = 1, (2) = 1, (3) = 2, (4) = 2, (5) = 4, (6) = 2.
Очевидны следующие свойства (р — простое).
Свойство 1. (р)=р-1.
Свойство 2. (рk)= рk – рk-1, kN.
Лемма 1. (мультипликативность функции Эйлера).
(a,b)=1 => (ab)= (a) (b).
Используя лемму и каноническое разложение числа на простые множители
имеем
Теорема 1 (Ферма), ар-1l(mod р), если (а,р) =1.
Теорема 2 (Эйлер), а(т)l(mod т), если (а,т) =1.
3.1.9. Сравнения первой степени
Рассмотрим сравнение
aх b(mod m) (1)
при условии (а,т) =1. Под решением любого сравнения понимают класс вычетов по модулю т, один элемент которого (а значит, и все) удовлетворяет сравнению. В нашем случае найдутся целые и, v такие, что аи + mv = 1. Следовательно, аи l(mod т). Будем называть и обратным к а по модулю т. Умножим обе части сравнения 1 на и. Получим
x=bu(mod m). (2)
Следовательно, сравнение имеет единственное решение по модулю т.
Пусть (а,т)=d > 1. По свойству 10 условие d|b является необходимым условием разрешимости сравнения 1. Будем считать его выполненным. Пусть a=a1d, b=b1d, m=m1d. Тогда наше сравнение равносильно а1х = =b1(modm1). Имеем одно решение х x1(mod m1). По модулю т имеем d решений:
х1, х1 + т1, х1 + 2m1,...,х1 + (d -1)m1.
Теорема 1. Пусть (а,т) = d. Сравнение ax =b(mod m) разрешимо тогда
и только тогда, когда d|b. В этом случае оно имеет d решений.
При небольшом т сравнение ax b(mod m) решается подбором. Для этого достаточно найти число и такое, что аи l(mod m); это можно сделать с помощью алгоритма Евклида. В качестве и можно также взять
u = а(т)-1(способ Эйлера).
3.1.10. Система сравнений первой степени
Система сравнений
a1х
b1(mod
m1);
a2x b2(mod m2);
… (3.1.10.1)
anx bn(mod mn)
сводится к системе
х
b1(mod
m1);
x b2(mod m2); (3.1.10.2)
…
x bn(mod mn).
Для решения последней достаточно уметь решать систему
х
b1(mod
m1);
x b2(mod m2). (3.1.10.3)
Система (3.1.10.3) в случае ее разрешимости имеет единственное решение по модулю [т1,т2]. Исходная система (3.1.10.1) в случае ее разрешимости имеет единственное решение по модулю [т1,т2, ...,тn].
В случае, когда все модули т1,т2, ...,mn попарно взаимно простые, к системе (3.1.10.2) применим так называемый китайский способ. Определим числа х1,х2, ...,хп из условий т2т3 ...mnx1 l(mod т1), т1т3 ...mnх2 1(mod т2), …, т1т2 ...mn-1хп1 (mod тт). Тогда решением системы (3.1.10.2) будет число
х= т2т3 ...mnx1b1 + т1т3 ...mnx2b2 + ...+ т1т2 ...mn-1xпbп.
Теорема (китайская теорема об остатках). Система сравнений (3.1.10.2) при попарно взаимно простых модулях имеет единственное решение по модулю произведения.