Примеры схем электронной цифровой подписи

Примеры схем электронной цифровой подписи. К наиболее известным схемам цифровой подписи с прикладной точки зрения относятся схемы RSA, схемы РабинаУильямса, ЭльГамаля, Шнорра и ФиатаШамира [15], а также схема электронной цифровой подписи отечественного стандарта ГОСТ Р 34.1094 [7].

Рассмотрим несколько подробнее четыре наиболее известные схемы цифровой подписи:

Подпись RSA: Вход: Числа n, p, q, где p и q большие l разрядные простые числа, n=pq. Открытый ключ p=(e, n), секретный ключ s=d, такой, что ed1(mod φ(n)) и наибольший общий делитель НОД(e,φ(n))=1, где φ(n)=(p1)(q1).

Генерация ключей:(d,(e, n))=Ak(l, b).
Подпись:As:	1. md(mod n)c, где c подпись
кода программы m. Верификация:Ap: 1. [c]e(mod n)m, 2 если m=m, подпись верна.

Подпись ЭльГамаля: Вход: Числа p и g, где p простое l разрядное число, а g первообразный корень по модулю p. Секретный ключ s=d, открытый ключ p=e, такой, что egd (mod p), m подписываемый код программы.

Генерация ключей:(d,(e, g, p))=Ak(l, b).

Подпись: As: 1.rgk(mod p), где kRZp1;
2 находится такое c, что
m[kc+dr](mod p1),
где (c, r) подпись кода m.

Верификация:Ap: 1. если gm=errc(mod p),
то подпись верна.

Подпись Фиата Шамира: Вход: Числа n, p, и q, где p и q большие l разрядные простые числа, открытый ключ p есть вектор (v1, v2,., vk), где vj квадратичные вычеты по модулю n, j=, секретный ключ p есть вектор (s1, s2,., sk), где каждый sj наименьший квадратный корень из v1j, m подписываемый код, f псевдослучайная функция. Генерация ключей: ((s1, s2,., sk),(v1, v2,., vk))=Ak(l, b).

Подпись: As: 1. xir2i(mod n), где {r1, r2,., rk}RZn;
2 вычисляется значение
a=f(m, x1, x2,., xt);
3 выбирается первые kt битов числа a как
матрица
4 вычисляется:
где
Тогда (eij, yi) подпись кода m.
Верификация:
2 если первые kt битов значения
функции f(m, z1, z2,., zt) равны eij,
подпись верна.

Подпись стандарта ГОСТ Р 34.1094. Вход: Числа p, g и q где p простое l разрядное число, g первообразный корень по модулю p, а q большой простой делитель p1. Пусть также gq1(mod p), g1. Секретный ключ подписи x (1 < x < q) и открытый ключ ygx(mod p).

Генерация ключей: (x,(g, p, q, y))=Ak(l, b).
Подпись: Ax: 1.r[gk(mod p)](mod q), где kRZq.
2s[xr+km)](mod q), где m=h(M) рассматривается как значение хэшфункции h, соответствующей отечественному стандарту на функцию хэширования сообщений ГОСТ Р 34.1194. Таким образом, пара (r, s) есть подпись кода программы M.
Верификация: Ay: 1.vm1(mod q).
2 u[gsvyrv(mod p)](mod q); 3 Если u=r, то (r, s) есть подпись кода программы M, где m=h(M).

Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок