- •Введение Вычисления над кольцами и в простых полях
- •1.Симметричный шифр гост 28147-89
- •1.1Цель работы
- •1.2Домашнее задание
- •1.3Ключевые вопросы
- •1.4Содержание протокола
- •Цель работы.
- •1.5Лабораторное задание
- •1.6Ключевые положения
- •1.6.1Поблочное шифрование
- •1.6.1.1Режим простой замены
- •1.6.1.2Режим Гаммирования
- •1.6.2Шифрование с обратной связью.
- •1.6.3Подстановки, перестановки, гаммирование
- •1.6.4Отечественный стандарт -- гост 28147-89
- •2.Исследование работы двухключевых алгоритмов шифрования на примере rsa
- •2.1Цель работы
- •2.2Домашнее задание
- •2.3Ключевые вопросы
- •2.4Содержание протокола
- •Цель работы.
- •2.5Лабораторное задание
- •2.6Ключевые положения
- •2.6.1Системы шифрования с открытым ключом
- •2.6.2Алгоритм шифрования rsa
- •2.6.3Оценка вычислительной сложности
- •2.6.4Пример расчёта по алгоритму rsa
- •3.Исследование работы двухключевых алгоритмов шифрования на примере криптосистемы Эль-Гамаля
- •3.1Цель работы
- •3.2Домашнее задание
- •3.3Ключевые вопросы
- •Цель работы.
- •4.Исследование цифровой подписи на примере алгоритма rsa
- •4.1Цель работы
- •4.2Домашнее задание
- •4.3Ключевые вопросы
- •4.4Содержание протокола
- •Цель работы.
- •4.5Лабораторное задание
- •4.6Ключевые положения
- •4.6.1Электронная подпись
- •4.6.2Цифровая сигнатура
- •4.6.3Электронная подпись на основе алгоритма rsa
- •5.Исследование создания сеансовых ключей на основе алгоритма Диффи-Хеллмана
- •5.1Цель работы
- •5.2Домашнее задание
- •5.3Ключевые вопросы
- •5.4Содержание протокола
- •Цель работы.
- •5.5Лабораторное задание
- •5.6Ключевые положения
- •5.6.1Управление ключами
- •5.6.2Генерация ключей
- •5.6.3Накопление ключей
- •5.6.4Распределение ключей
- •5.6.4.1Алгоритм Диффи-Хеллмана
- •6.Приложения
- •6.1Первая 1000 простых чисел
3.Исследование работы двухключевых алгоритмов шифрования на примере криптосистемы Эль-Гамаля
3.1Цель работы
Изучить основные принципы шифрования с открытым ключом. Освоить алгоритм Эль-Гамаля. Изучить математические принципы на которых основан этот алгоритм.
3.2Домашнее задание
Изучить алгоритм шифрования Эль Гамаля в соответствии с пунктом 3.6 данного методического руководства.
Записать вариант, соответствующий четырём младшим цифрам номера студенческого билета в виде (n4n3n2n1).
По таблице простых чисел (Таблица 6 .1) выбрать простое число. Номер числа P = 55+n1.
Вычислить случайное число W=(n2+1)´10;
Вычислить случайный секретный ключ X=(n3+1)´9
Вычислить случайное число K=(n4+1)´11;
Выполнить шифрование
Выполнить расшифровывание
Все вычисления должны быть занесены в протокол в виде Таблица 3 .1
Таблица 3.1 Шифрование по алгоритму Эль Гамаля
Наименование величины |
Домашнее задание |
Лабораторное задание |
Простое число P |
|
|
Случайное число W<P-1 |
|
|
Секретный ключ X<P-1 |
|
|
Открытый ключ Y=WX(mod P) |
|
|
Исходное сообщение M |
143 |
|
Случайное число K<P-1 |
|
|
Шифрование: R=YK(mod P) Z=WK(mod P) C=M xor R |
|
|
Расшифровывание: R=ZX(mod P) M=C xor R |
|
|
3.3Ключевые вопросы
Что представляет собой идеальная криптосистема с открытым ключом?
Описать последовательность действий при передаче шифровки с открытым ключом по алгоритму Эль-Гамаля.
Как вычислить степенную функцию в простом поле Галуа?
Как вычислить логарифм в простом поле Галуа?
Почему секретный ключ в этой криптосистеме может быть любым числом в пределах от 2 до Р-1?
На какой математической особенности основана трудность взлома шифра Эль-Гамаля?
Какой длины ключи применяются в настоящее время в этой криптосистеме?
3.4Содержание протокола
Название работы.
Цель работы.
Выполненное домашнее задание согласно номеру варианта
Результаты выполнения лабораторного задания
Выводы
3.5Лабораторное задание
Предъявить преподавателю выполненное домашнее задание.
Найти в каталоге STUDENT файл под именем LabCrypt.exe и запустить эту программу.
Из появившегося меню вызвать форму для лабораторной работы №4
Ввести в форму подготовленные дома данные (Таблица 3 .1)
Заполнить таблицу в протоколе результатами выполнения лабораторной работы
Сделать выводы
3.6Ключевые положения
(При подготовке к защите этой работы необходимо изучить ключевые положения к ЛР №1 и №3.)
3.6.1Алгоритм шифрования Эль Гамаля
Система, предложенная Эль Гамалем, является, как и RSA системой с открытым ключом. Ее криптостойкость основана на трудоемкости вычисления дискретного логарифма (т. е. трудоемкости операции логарифмирования в целых числах по модулю N).
Ключи строятся так:
Выбирается целое число P;
Выбирается число W меньшее P-1, тогда WP-1 = 1 mod P, при этом, WD¹1 mod P при любом 1<D<(P-1);
Выбирается 1 < X < P-1; Y:= WX mod P;
Секретный ключ -- (X,P);
Открытый ключ -- (Y,W,P).
Шифрование блока B протекает следующим образом (открытый ключ):
Берется случайное число 1 < K < P-1;
R := YK mod P;
Z := WK;
C := BÅR;;
Результат -- пара (C,Z).
Расшифрование протекает следующим образом (секретный ключ):
R := ZX;
B := CÅR.
Данная система является альтернативой RSA и при равном значении ключа обеспечивает ту же криптостойкость5.
В отличие от RSA метод Эль-Гамаля основан на проблеме дискретного логарифма. Этим он похож на алгоритм Диффи-Хелмана. Если возводить число в степень в конечном поле достаточно легко, то восстановить аргумент по значению (то есть найти логарифм) довольно трудно, поскольку поиск решения ведётся методом перебора аргументов.
Ключом может быть любое число меньшее P потому что если P - простое число, то для любого X выполняется равенство (теорема Ферма)
