Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_несимметр_шифр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
140.8 Кб
Скачать

3.2.1 Алгоритм формирования эцп

1. Вычислить (по алгоритму md5, sha1) хэш-функцию сообщения H(M) длиной 256 бит. Если H(M) ( mod Q ) = 0, то H(M)=1.

2. Выработать (генераторами случайных чисел или аппаратно) случайное число K, 0 < K < Q.

3. Вычислить:

R = AK ( 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).

(R', S) – отдельные файлы или единое целое большое число.

3.2.2 Алгоритм проверки эцп.

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

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

Если хотя бы одно из этих условий не выполняется, то подпись считается недействительной.

2. Вычислить хэш-функцию H(M1) принятого сообщения M1.

Если H(M1) ( mod Q ) = 0, то H(M1) = 1.

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

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

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

Z1 = S•V ( mod Q );

Z2 = (Q-R') •∙V ( mod Q ).

• - знак умножения

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

U = (AZ1 ∙YZ2 ( mod P)) ( mod Q ).

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

3.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) Выполните формирование подписи для первого пользователя и проверку подписи для второго пользователя. Исследуйте поведение системы при различных угрозах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]