Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Криптоалгоритмы / Электронная цифровая подпись по ГОСТ Р 34_10-94

.htm
Скачиваний:
45
Добавлен:
28.06.2014
Размер:
17.47 Кб
Скачать

Электронная цифровая подпись по ГОСТ Р 34.10-94 Главная О фирме Теория Продукты Цены Архив Сервис Тесты Ссылки Шифрование Хеширование ЭЦП Управление ключами RSA ГОСТ Р.34.10-94 СТБ РБ 1176.2-99 Электронная цифровая подпись по ГОСТ Р 34.10-94 Область применения В указанном стандарте устанавливается процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе ассиметричного криптографического алгоритма с применением функции хэширования.

Внедрение системы ЭЦП на базе указанного стандарта обеспечивает защиту передаваемых сообщений от подделки, искажения и однозначно позволяет доказательно подтвердить подпись лица, подписавшего сообщение.

Обозначения В стандарте используются следующие обозначения:

B* Множество всех конечных слов в алфавите B={0,1}. Чтение слов и нумерация знаков алфавита (символов) осуществляется справа налево (номер правого символа в слове равен единице, второго справа - двум и т.д.).

/A| Длина слова A <- B*.

Vk (2) Множество всех бинарных слов длины k.

z (mоd n) Наименьшее по значению неотрицательное число, сравнимое с Z по модулю числа n.

A||B Конкатенация слов A, B <- B* - слово длины |A|+|B|, в котором левые |A| символов образуют слово A, а правые |B| символов образуют слово B. Можно также использовать обозначение A||B = AB.

Ak Конкатенация k экземпляров слова A(A<- B*).

A` Неотрицательное целое число, имеющее двоичную запись A (A<- b*).

M Передаваемое сообщение, M <- B*.

M1 Полученное сообщение, M1 <- B*.

h Хэш-функция, отображающая последовательность M <- B* в слово h(M) <- V256(2).

p Простое число, 2509 < p < 2512 или 21020 < p < 21024.

q Простое число, 2254 < q < 2256 и q является делителем для (p-1).

a Целое число, 1 < a < p-1, при этом aq(mоd p) =1.

k Целое число, 0 < k < q.

dmin Наименьшее целое число, не меньшее, чем d.

dmax Наибольшее целое число, не большее, чем d.

e := g Присвоение параметру e значения g.

x Секретный ключ пользователя для формирования подписи, 0 < x < q.

у Открытый ключ пользователя для проверки подписи, y = ax (mоd p).

<- Обозначение принадлежности диапазону.

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

Алгоритм вычисления хэш-функции сообщения определяется ГОСТ Р 34.11-94.

Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.

Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.

Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите B, вычисляется с помощью определенного набора правил, изложенных подробно в стандарте.

Числа p, q и a являются параметрами системы и вырабатываются по определенному алгоритму. Данные числа не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число k, которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число k снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.

Процедура выработки подписи Текст сообщения, представленный в виде двоичной последовательности символов, подвергается обработке по определенному алгоритму, в результате которого формируется ЭЦП для данного сообщения.

Процедура подписи сообщения включает в себя следующие этапы:

вычисляется h(M) - хэш-функция сообщения M; вырабатывается целое число k, 0 < k < q; вычисляются значения:

r = ak(mоd p) и r’ = r (mоd q)

с использованием секретного ключа x пользователя (отправителя сообщения) вычислить значение:

s = (xr’ +kh(M)`)(mоd q)

подписью для сообщения M является вектор:

<r’>256 || <s>256

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

Процедура проверки подписи Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).

Это возможно при наличии у получателя открытого ключа отправителя, пославшего сообщение.

Процедура проверки включает в себя следующие этапы:

проверка условий:

0 < s < q и 0 < r’ < q

вычисление h(M1) -хэш-функцию полученного сообщения; вычислить значение:

v = (h(m1)`)q-2(mоd q)

вычислить значения:

z1 = sv (mоd q) и z2 = (q-r’) v (mоd q)

вычислить значение:

u = (aZ1 yZ2 (mоd p)) (mоd q)

проверить условие:

r’ = u

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

В тексте стандарта подробно описаны процедуры генерации всех необходимых чисел для описанных выше процедур вычисления и проверки подписи с контрольными примерами для проверки правильности функционирования.

    Copyright © 2001 ArgoSoft JSC Авторское право © 2001 ЗАО "АргоСофт"