Добавлен: 30.10.2018
Просмотров: 350
Скачиваний: 9
Яблочкин Л.Б. Методы и средства защиты компьютерной информации.
Сборник методических указаний к лабораторным работам
————————————————————————————————
Лабораторная работа № 9
Российский государственный стандарт на электронную
(цифровую) подпись
1. Цель работы
Изучение принципов формирования электронной цифровой подписи с использовани-
ем алгоритмов, реализованных в Российском государственном стандарте на электронную
(цифровую) подпись.
2. Основы теории
Российский стандарт ГОСТ Р34.10-94 был принят в 1994 году. В основе стандарта
лежит алгоритм, называемый DSA (Digital Signature Algorithm) и являющийся вариацией
подписи Эль-Гамаля.
Вначале для некоторого сообщества пользователей выбираются общие несекретные
параметры. Прежде всего необходимо найти два простых числа, q длиной 256 бит и р
длиной 1024 бита, между которыми выполняется соотношение
p
=bq+1 (1)
для некоторого целого
b
. Старшие биты в
р
и
q
должны быть равны
единице. Затем выбирается число a
>1 , такое, что
a
q
modp
=1 . (2)
В результате получаем три общих параметра — р , q и a .
Далее, каждый пользователь выбирает случайно число
х
, удовлетворяющее
неравенству
0
<х<q
, и вычисляет
у
=а
х
mod р
.
(3)
Число
х
будет секретным ключом пользователя, а число
у
— открытым ключом.
На этом этап выбора параметров заканчивается, и мы готовы к тому, чтобы
формировать и проверять подписи.
Пусть имеется сообщение m , которое необходимо подписать. Генерация подписи
выполняется следующим образом:
1. Вычисляем значение хеш-функции h=h (m) для сообщения m , значение хеш-
функции должно лежать в пределах
0
<h<q
(в российском варианте хеш-функция
определяется ГОСТом Р34.11-94).
2. Формируем случайное число
k
,
0
<k<q
.
3. Вычисляем
г
=(ak mod р)mod q.
Если оказывается так, что r
=0 , то
возвращаемся к шагу 2.
Яблочкин Л.Б. Методы и средства защиты компьютерной информации.
Сборник методических указаний к лабораторным работам
————————————————————————————————
4. Вычисляем
s
=(kh+xr)mod q
.
Если
s
=0
, то возвращаемся к шагу 2.
5. Получаем подписанное сообщение (m ;r , s ) .
Для проверки подписи делаем следующее.
1. Вычисляем хеш-функцию для сообщения h=h (m)
.
2. Проверяем выполнение неравенств 0
<r<q , 0<s<q
.
3. Вычисляем u
1
=s h
−1
mod q , u
2
=−r h
−1
mod q
.
4. Вычисляем v
=(a
u
l
y
u
2
modp
)mod q .
5. Проверяем выполнение равенства v
=r
.
Если хотя бы одна из проверок на шагах 2 и 5 не дает нужного результата, то подпись
считается недействительной. Если же все проверки удачны, то подпись считается подлинной.
Чтобы найти параметр а , удовлетворяющий (2), рекомендуется использовать
следующий метод. Берем случайное число
g
>1
и вычисляем
a
=g
( p−l)/q
mod р (4)
Если a
>1 , то это то, что нам нужно. Если при вычислении по (14) мы получаем а=1 ,
то нужно просто взять другое число g
.
3. Объекты и средства исследования
Объектами исследования являются алгоритмы формирования электронной цифровой
подписи с использованием, реализованные в Российском государственном стандарте на элек-
тронную (цифровую) подпись.
4. Подготовка к работе
4.1 Изучить теоретическую часть
4.2 Получить задание у преподавателя
5. Программа работы
5.1 Составить алгоритм, реализующий заданный метод формирования электронной
цифровой подписи .
5.2 Разработать и отладить программу
5.3 Оформить отчет
6. Контрольные вопросы
6.1. Для чего нужна цифровая подпись?
6.2. Назовите основные свойства цифровой подписи.
6.3. Какие схемы цифровой подписи существуют? Какая схема самая распространен-
ная?
6.4. Как осуществляется подпись в Российском стандарте ГОСТ Р34.10-94?
Яблочкин Л.Б. Методы и средства защиты компьютерной информации.
Сборник методических указаний к лабораторным работам
————————————————————————————————
6.6. Как осуществляется проверка на подлинность подписи в Российском стандарте
ГОСТ Р34.10-94?
Содержание отчета
1. Титульный лист
2. Задание
3. Схема алгоритма формирования электронной цифровой подписи
4. Текст программы
5. Скриншоты
6. Выводы
Литература
1. Баричев С.Г, Серов Р.Е. Основы современной криптографии: Учебное пособие. - М.:
Горячая линия - Телеком, 2002.
2. Иванов М. А. Криптографические методы защиты информации в компьютерных си-
стемах и сетях. М.:КУДИЦ-ОБРАЗ, 2001 - 368 с.
Задания к работе
1 вариант. Разработать программу для генерации ЭЦП по ГОСТ Р34.10-94. Рекоменду-
емое значение р
=31481 (для вычисления хэша воспользоваться киптографической биб-
лиотекой).
2 вариант. Разработать программу для проверки ЭЦП по ГОСТ Р34.10-94. Рекомендуе-
мое значение
р
=31481
(для вычисления хэша воспользоваться киптографической библио-
текой).