Курсовая работа: Программирование алгоритма цифровой подписи ГОСТ Р 34.10-94
Функция формирования подписи signature формирует подпись, используя начальные параметры, расположенные в файле initial data.txt . Начальные параметры должны удовлетворять следующим условиям:
простое число р: 2509 <р<2512 ;
простое число q : 2254 < q <2256 ;
a : 1<а<р-1, aq ( mod p )=1 ;
закрытый ключ x : 1< x < q ;
открытый ключ y : y = ax ( mod p ) ;
хэш-функция h ( M )= m по алгоритму ГОСТ Р 34.11.
Для формирования подписи необходимо вычислить:
r=ak(mod p)
r’=r(mod q)
s=xr’+km(mod q)
Таким образом, цифровая подпись для сообщения М есть: < r ’>||< s > .
Алгоритм функции формирования подписи приведен в Приложении А.
3.2 Алгоритм функции проверки подписи
Функция проверки подписи verify проверяет подпись, использую параметры:
цифровую подпись сообщения М ;
открытый ключ;
хэш-функцию;
простые числа р и q .
Для проверки подписи необходимо вычислить:
v=mq-2 (mod q)
z1 =sv(mod q)
z2 =(q-r’)v(mod q)
u=(az1 yz2 (mod p))(mod q)
Если условие r ’= u выполнено – подпись подлинная. Результат проверки подписи находится в файле verification result.txt .
Алгоритм функции проверки подписи приведен в Приложении Б.
4. Отладка и проверка работоспособности программы
Программа была откомпилирована и отлажена.
Для проверки работоспособности программы был запущен файл sign . exe , были выбраны действия, которые необходимо выполнить. Например, необходимо сформировать цифровую подпись и проверить ее подлинность.
Текст входного файла initial data.txt :