- •«Защита программ и данных»
- •2. Анализ и исследование алгоритмов несимметричной цифровой подписи
- •2.1 Цель работы
- •2.2 Методические указания к организации самостоятельной работы студентов
- •2.3 Краткие сведения из теории.
- •2.4 Порядок выполнения работы и методические указания по ее выполнению
- •3.1 Краткие сведения из теории по системе Эль-Гамаля
- •3.4. Порядок выполнения работы и методические указания по ее выполнению
- •3.2.1 Алгоритм формирования эцп
- •3.2.2 Алгоритм проверки эцп.
- •1.5. Содержание отчета
- •1.6. Контрольные вопросы и задания
2.4 Порядок выполнения работы и методические указания по ее выполнению
1. Генерация ключевых данных
1) Активизировать на решение программу PQED.EXE
2) На вопрос: "Enter the Length of module" введите требуемую длину модуля N в количестве десятичных знаков (10-15).
3) При получении ключевых данных En, Dn и Nj занести их в отчет и выйти в DOS путем отрицательных ответов на последующие запросы.
4) Исследуйте зависимость времени генерации простых чисел от их разрядности m. Введите несколько значений длин модуля m (m=10, 20, 30 …).
2. Формирование цифровой подписи.
1) Создайте текстовый файл TEXT.txt и запишите в него любой текст.
2) Введите командную строку вида: DIGIT_SI.EXE TEXT.txt
2) С клавиатуры введите ключевые данные.
3) С клавиатуры введите открытые составляющие (информацию) цифровой подписи (которые были сформированы в предыдущем задании).
4) После проверки набранной информации нажмите любую клавишу и подпишите файл (сообщение).
3. Анализ цифровой подписи.
Оцените длину и содержание криптографически преобразованной цифровой подписи путем просмотра файла TEXT.txt.
4. Дешифрование цифровой подписи.
1) Введите командную строку: AUT_SIGN.EXE TEXT.TXT
2) С клавиатуры введите ключ D и N.
3) Проанализируйте протокол аутентификации на его состоятельность.
5. Исследование системы цифровой подписи при воздействии криптоаналитического нападения и помех в канале связи.
1) Повторить действия раздела 2.
2) Повторить действия раздела 3 с внесением любых изменений в содержание сообщения (исправление, изменение длины и т.п.).
3) Повторить действия согласно раздела 4.
6.Сделать выводы по проделанной работе.
3.1 Краткие сведения из теории по системе Эль-Гамаля
Схема Эль-Гамаля (Elgamal) — криптосистема, предложенная в 1984 году. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США и России.
Генерация ключей:
Генерируется случайное простое число p длины n.
Выбирается произвольное целое число g, являющееся первообразным корнем по модулю p.
Выбирается случайное число x из интервала (1, p).
Вычисляется y = g x mod p.
Открытым ключом является тройка (p, g, y), закрытым ключом – число x.
Работа в режиме шифрования:
Сообщение М шифруется так:
Выбирается случайное секретное число k, взаимно простое с p − 1.
Вычисляется a = gk mod p, b = yk M mod p, где M — исходное сообщение.
Пара чисел (a, b) является шифротекстом.
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения M вдвое.
Расшифрование:
Зная закрытый ключ x, исходное сообщение можно вычислить из шифротекста (a,b) по формуле:
При этом нетрудно проверить, что
и
.
Работа в режиме подписи:
При работе в режиме подписи предполагается наличие фиксированной хеш-функции h(М), значения которой лежат в интервале (1, p − 1).
Подпись сообщений:
Для подписи сообщения M выполняются следующие операции:
Вычисляется дайджест сообщения M: m = h(M).
Выбирается случайное число 1 < k < p − 1 взаимно простое с p-1 и вычисляется
С помощью расширенного алгоритма Евклида вычисляется число s, удовлетворяющее сравнению:
Подписью сообщения M является пара (r, s).
Проверка подписи:
Зная открытый ключ (p, g, y), подпись (r, s) сообщения M проверяется следующим образом:
Проверяется выполнимость условий: 0 < r < p и 0 < s < p − 1. Если хотя бы одно из них не выполняется, то подпись считается неверной.
Вычисляется дайджест m = h(M).
Подпись считается верной, если выполняется сравнение:
Система электронной цифровой подписи (ЭЦП), установленная ГОСТ Р 34.10 - 94, базируется на методах криптографической защиты данных с использованием хэш-функции.
Алгоритм ЭЦП ГОСТ Р 34.10 использует параметры A,P,Q, общие для всех пользователей в сети.
Простое число Q должно иметь длину от 254 до 256 бит.
Простое число P должно иметь длину от 509 до 512 бит, причем число (P-1) содержит множитель Q.
Число A, 1<A<P – 1, должно удовлетворять равенству:
AQ ( mod P ) = 1 (1)
Секретный ключ подписи X - произвольное целое число, принадлежащее интервалу (0, Q).
Открытый ключ подписи Y вычисляется по формуле:
Y = AX ( mod P ) (2)
