- •Криптографическая защита информации
- •Оглавление
- •Раздел 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. Шифрсистемы на основе "проблемы рюкзака"
8.2. Шифрсистема Эль-Гамаля
Шифрсистема Эль-Гамаля была предложена в 1985г. и является фактически одним из вариантов метода выработки открытых ключей Диффи-Хеллмана (который будет рассмотрен далее). Криптографическая стойкость данной системы основана на сложности проблемы логарифмирования в мультипликативной группе конечного простого поля.
В соответствии с терминологией, введенной в 2, шифрсистема Эль-Гамаля (X, К, Y ,E,D) определяется следующим образом. Для нее
Х= Z*p, Y =Z*pZ*p, K={(p,,,g) g (mod p)},
где p – достаточно большое простое число, – порождающий элемент группы Z*p, g – целое число из интервала 1 g p–2. Ключ k=(p,,,g) представляется в виде открытого ключа kз = (p,,) и секретного ключа kр=(g). Правило зашифрования на ключе k определяется формулой
Еk(M)=(C1,C2),
где С1 r (mod p), С2 = М • r(mod p),
и r – случайно выбираемое число (рандомизатор) из интервала 0 r р –2.
Правило расшифрования на ключе k определяется формулой
Dk(C1,C2)=C2(C1g)–1(mod p).
Несложно проверить, что такое определение корректно, то есть что выполняется равенство Dk(Ek(M)) = М при любых k К и М Х .
Введение в правило зашифрования рандомизатора r делает шифр Эль-Гамаля шифром многозначной замены (см. 4). В связи со случайным характером выбора параметра r подобную схему шифрования называют еще схемой вероятностного шифрования. Для нее открытый текст и ключ не определяют шифртекст однозначно.
Для выработки открытого и секретного ключей каждый из абонентов системы осуществляет следующие операции:
1) выбирает большое простое число р и некоторый порождающий элемент группы Z*p;
2) случайно выбирает целое число g, 1 g p-2, и вычисляет g(mod p);
3) публикует открытый ключ (р,,), оставляя в секрете число g.
Следует отметить, что в приведенной системе необходимо использовать различные значения рандомизатора r для зашифрования различных открытых текстов М и М'. В самом деле, в противном случае соответствующие шифртексты (C1,C2) и (Ć1,Ć2) оказываются связанными соотношением C2•(Ć2)–1=M•(M') –1 и М' может быть легко вычислен, если известен М.
Как уже отмечалось, стойкость системы Эль-Гамаля определяется сложностью решения задачи дискретного логарифмирования в Z*p. В настоящее время эта задача практически нереализуема для значений р, содержащих не менее 150 десятичных знаков. Рекомендуется также, чтобы число р –1 содержало большой простой делитель.
Система Эль-Гамаля может быть обобщена для применения в любой конечной циклической группе G. Криптографическая стойкость такой обобщенной схемы определяется сложностью задачи логарифмирования в группе G . При этом групповая операция в G должна быть легко реализуемой. В качестве G чаще всего выбираются следующие три группы:
1) мультипликативная группа Z целых чисел по модулю простого числа p;
2) мультипликативная группа GF(2m)* конечного поля GF(2m) характеристики 2;
3) группа точек эллиптической кривой над конечным полем.
Вероятностный характер шифрования можно отнести к достоинствам системы Эль-Гамаля, так как схемы вероятностного шифрования обладают, как правило, большей стойкостью по сравнению со схемами с детерминированным процессом шифрования. Недостатком системы является удвоение длины открытого текста при шифровании.