Электронная подпись ГОСТ Р 31.10-2001

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

»о, р > 3 ;р - конечное простое поле, представляемое как множество из р целых чисел {0, 1,... , р - 1};(mod р) - минимальное не отрицательное число, сравнимое с b по модулю р ;

М - сообщение пользователя, ;

- объединение двух двоичных векторов;

а, b - коэффициенты эллиптической кривой;- порядок подгруппы группы точек эллиптической кривой;

Р - точка эллиптической кривой порядка q ;- целое число - ключ подписи, 0 < d < q;- точка эллиптической кривой - ключ проверки;

- цифровая подпись под сообщением М .

 

ОБЩИЕ ПОЛОЖЕНИЯ

 

Общепризнанная схема цифровой подписи охватывает три процесса:

генерация ключей (подписи и проверки);

формирование подписи;

проверка подписи.

В ГОСТ процесс генерации ключей (подписи и проверки) не рассмотрен. Характеристики и способы реализации данного процесса определяются субъектами, непосредственно участвующими в нём.

Механизм цифровой подписи определяется посредством реализации двух основных процессов:

формирование подписи;

проверка подписи.

Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:

осуществить контроль целостности передаваемого подписанного сообщения,

доказательно подтвердить авторство лица, подписавшего сообщение,

защитить сообщение от возможной подделки.

Схематическое представление подписанного сообщения показано на рисунке 1.

 

Рис.1 - Схема подписанного сообщения

Поле "текст", дополняющее поле "цифровая подпись", может, например, содержать различные данные об отправителе сообщения или дату и время отправки.

Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.

Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции.

Цифровая подпись, представленная в виде двоичного вектора длиной 512 бит, должна вычисляться с помощью определенного набора правил.

 

ФОРМИРОВАНИЕ ЦИФРОВОЙ ПОДПИСИ

 

Для получения ЦП под сообщением необходимо выполнить ряд действий. Схематическое представление алгоритма формирования ЦП можно увидеть на рисунке 2.

Рис.2 - Алгоритм формирования ЦП

 

Вычисление хэш-функции от сообщения М:

Вычисление e = mod q, где - целое число, двоичным представлением которого является вектор , и если e = 0, взять e = 1.

Генерация случайного (псевдослучайного) числа k такого, что 0 < k < q

Вычисление точки эллиптической кривой C = kP

Точка является точкой эллиптической кривой Е, если пара (x,y) удовлетворяет тождеству , где a,b принадлежат конечному простому полю и не сравнимо с нулем по модулю p.

Коэффициенты a и b высчитываются с помощью инварианта эллиптической кривой

 

 

Нахождение , где - координата точки С. Если r = 0, то вернутся к генерации k.

Вычисление . Если s = 0, то вернуться к генерации k.

Вычисление двоичных векторов и , являющихся двоичным представлением чисел r и s соответственно, и определение ЦП как конкатенации двух двоичных векторов

 

ПРОВЕРКА ЦИФРОВОЙ ПОДПИСИ

 

Для проверки ЦП под сообщением также необходимо выполнить ряд действий. Схематическое представление алгоритма проверки ЦП можно увидеть на рисунке 3.

Рис.3 - Алгоритм проверки ЦП

 

Вычисление по ЦП чисел r и s. Если 0 < r < q или 0 < s < q не выполняется, то подпись неверна

Вычисление хэш-функции от полученного сообщения М:

Вычисление e = mod q, где - целое число, двоичным представлением которого является вектор , и если e = 0, взять e = 1.

Вычисление

Вычисление и

Вычисление точки эллиптической кривой

Вычисление , где - координата точки С

Если R = r, то подпись правильная, иначе - неправильная.

 

ОТЛИЧИЯ ОТ ГОСТ 34.10-94

электронная подпись криптографическая защита

Новый и старый ГОСТы цифровой подписи очень похожи друг на друга. Основное отличие - в старом стандарте часть операций проводится над полем , а в новом - над группой точек эллиптической кривой, поэтому требования налагаемые на простое число p в старом стандарте( или ) более жесткие, чем в новом.

Алгоритм формирования подписи отличается только в пункте 4. В старом стандарте в этом пункте вычисляются и . Если r = 0, возвращаемся к пункту 3.

Алгоритм проверки подписи отличается только в пункте 7. В старом стандарте в этом пункте вычисляется , где y - открытый ключ для проверки подписи, . Если R = r, подпись правильная, иначе неправильная. Здесь - простое число, и q является делителем (p-1).

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

Также старый стандарт описывает механизмы получения чисел , и .

КОНТРОЛЬНЫЙ ПРИМЕР

 

) Для формирования и проверки цифровой подписи должны быть использованы следующие параметры:

*Модуль эллиптической кривой

В данном примере параметру р присвоено следующее значение:

 

р =5789604461865809771178549250434395392663499233282028201972879200395656482104110

 

*Коэффициенты эллиптической кривой

В данном