Вы находитесь на странице: 1из 4

4.

АНАЛИЗ АЛГОРИТМА НЕСИММЕТРИЧНОЙ ЦИФРОВОЙ ПОДПИСИ ЭЛЬ-ГАМАЛЯ

4.1. Цель работы


Исследование алгоритмов генерации ключей и цифровой подписи
Эль-Гамаля.

4.2. Методические указания к организации самостоятельной ра-


боты студентов

При подготовке к лабораторной работе необходимо:


- изучить основные понятия и определения по вопросам аутен-
тификации;
- изучить систему аутентификации, базирующуюся на цифровой
подписи Эль-Гамаля ( ГОСТ Р 34.10 );
- ознакомиться с описанием лабораторной работы и ее прог-
раммным обеспечением;
- подготовить бланк отчета согласно разделу "Содержание от-
чета";
- подготовить ответы на контрольные вопросы.

4.3. Краткие сведения из теории

Система электронной цифровой подписи (ЭЦП), установленная


ГОСТ Р 34.10 - 94, базируется на методах криптографической защи-
ты данных с использованием хэш-функции.
Алгоритм ЭЦП ГОСТ Р 34.10 использует параметры A,P,Q, об-
щие для всех пользователей в сети.
Простое число Q должно иметь длину от 254 до 256 бит.
Простое число P должно иметь длину от 509 до 512 бит, при-
чем число (P-1) содержит множитель Q.
Число A, 1<A<P-1, должно удовлетворять равенству:

Q
A ( mod P ) = 1 (1)

Секретный ключ подписи X - произвольное целое число, принад-


лежащее интервалу (0, Q).
Открытый ключ подписи Y вычисляется по формуле:

X
Y = A ( mod P ) (2)

4.3.1. Алгоритм формирования ЭЦП

1. Вычислить хэш-функцию сообщения H(M) длиной 256 бит. Если


H(M) ( mod Q ) = 0, то H(M):=1.
2. Выработать случайное число K, 0 < K < Q.
3. Вычислить:

K
R = A ( mod P );

R' = R ( mod Q ).

Если R'=0, перейти к шагу 2.


4. С использованием секретного ключа X вычислить значение

S = ( X•R' + K•H(M) ) ( mod Q ).

5. Если S = 0, перейти к шагу 2, иначе завершить работу ал-


горитма.

Подписью для сообщения M будет являться вектор ( R', S ).

4.3.2. Алгоритм проверки ЭЦП.

Проверка целостности и подлинности сообщения и подписи


производится при наличии открытого ключа Y отправителя.

1. Проверить условия 0 < S < Q и 0 < R' < Q.


Если хотя бы одно из этих условий не выполняется, то под-
пись считается недействительной.
2. Вычислить хэш-функцию H(M1) принятого сообщения M1.
Если H(M1) ( mod Q ) = 0, то H(M1) := 1.
3. Вычислить значение

Q-2
V = H(M1) ( mod Q ).

4. Вычислить значения

Z1 = S•V ( mod Q );
Z2 = (Q-R')•V ( mod Q ).

5. Вычислить значение

Z1 Z2
U = (A •Y ( mod P)) ( mod Q ).

6. Проверить условие R'=U. Если условие выполняется, то по-


лучатель принимает решение о том, что полученное сообщение подпи-
сано данным отправителем и в процессе передачи не нарушена целос-
тность сообщения, т.е. M = M1. В противном случае подпись счи-
тается недействительной.

4.4. Порядок выполнения работы и методические


указания по ее выполнению

1. Создайте файл конфигурации системы цифровой подписи. Файл


конфигурации должен находиться в рабочем каталоге системы и дол-
жен иметь расширение CFG. Имя файла конфигурации может быть любым.

Структура файла конфигурации:


строка 1 - имя пользователя (любая строка длиной до 16 сим-
волов)
строка 2 - имя файла секретного ключа X
строка 3 - имя файла открытых ключей Y
строка 4 - имя файла общесетевых параметров A, P, Q.

Пример файла конфигурации:

USER1
x.key
y.key
apq.key

2. Сформируйте общесетевые параметры с помощью программы


FORM_APQ.EXE.
Формат командной строки программы:
FORM_APQ -nимя_пользователя
Определите время генерации.
В файле PROTOKOL.TXT будут записаны значения общесетевых па-
раметров.

3. Сформируйте рабочие ключи, запустив программу


FORM_KEY.EXE. Определите время генерации.
Формат командной строки программы:
FORM_KEY -nимя_пользователя -pпароль
В файле PROTOKOL.TXT будут записаны значения сгенерирован-
ных ключей.

4. Создайте какой-нибудь файл и сформируйте для него цифро-


вую подпись с помощью команды:
SIGN -s -nИмя_пользователя -pПароль -iИмя_исходного_файла
-jИмя_файла_с_подписью
Параметр -j является необязательным.
В файле PROTOKOL.TXT будут записаны значения промежуточных
результатов вычислений.
Определите характер зависимости времени формирования подпи-
си от длины файла.

5. Выполните проверку цифровой подписи с помощью команды:


SIGN -h -nИмя_пользователя -iИмя_исходного_файла -jИмя_фай-
ла_с_подписью
Параметр -j является необязательным.
В файле PROTOKOL.TXT будут записаны значения промежуточных
результатов вычислений.
Определите характер зависимости времени проверки подписи от
длины файла.
Исследуйте структуру цифровой подписи.

6. Исследуйте алгоритм формирования и проверки подписи при


различных угрозах ( искажение файла, искажение подписи, непра-
вильный пароль и т.д. ).

7. Выполните обмен сообщениями между двумя пользователями:


1) Сформируйте два файла конфигурации.
2) Сформируйте общесетевые параметры ТОЛЬКО ДЛЯ ПЕРВОГО
ПОЛЬЗОВАТЕЛЯ. Скопируйте файл с общесетевыми параметрами второму
пользователю.
3) Сформируйте рабочие ключи пользователей.
4) Выполните обмен открытыми ключами с помощью команд

SIGN -a -nИмя_пользователя1 -tИмя_пользователя_2 -yИмя_фай-


ла_с_ключом_Y_пользователя_2
SIGN -a -nИмя_пользователя2 -tИмя_пользователя_1 -yИмя_фай-
ла_с_ключом_Y_пользователя_1

5) Выполните формирование подписи для первого пользователя и


проверку подписи для второго пользователя. Исследуйте поведение
системы при различных угрозах.

4.5. Содержание отчета


В отчете должны быть представлены:
- программа работы;
- значения сформированных ключевых параметров;
- результаты исследований алгоритма подписи при криптонапа-
дениях;
- протокол обмена ключами;
- выводы по работе.

4.6. Контрольные вопросы и задания

1. Понятие процедуры аутентификации. Сформулируйте основные


задачи аутентификации.
2. Изложите сущность алгоритма формирования цифровой подписи.
3. Сущность алгоритма снятия цифровой подписи.
4. Какие требования предъявляются к ключевым данным системы
Эль-Гамаля?
5. Составьте 2-уровневую или 3-уровневую схему распростране-
ния ключевых данных системы Эль-Гамаля.
6. В чем заключается сущность и порядок выполнения проце-
дуры криптоанализа системы цифровой подписи Эль-Гамаля?
7. Сформулируйте возможные угрозы, возникающие в системе
цифровой подписи. Как обеспечивается защита от этих угроз?

Вам также может понравиться