Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mszki.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
953.49 Кб
Скачать

14. Государственные стандарты цифровой подписи сша и России (dss и гост 3410-94). Требования к системам цифровой подписи с точки зрения криптографа и пользователя.

В августе 1991 года Национальный институт стандартов и техники предложил для использования в своем Стандарте цифровой подписи (DSS) Алгоритм цифровой подписи (DSA).

Алгоритм использует следующие параметры:

p= простое число длинной L битов, где L принимает значение, кратное 64, в диапазоне от 512 до 1024 (может использовать групповой пользователь)

q= 160-битовое простое число – множитель p-1 (может использовать групповой пользователь)

g=h(p-1)/qmod p, где h – любое число, меньшее p-1, для которого h(p-1)/qmod p больше единицы (может использовать групповой пользователь)

x= число, меньшее q (160-битовое число)

y=gx mod p (p-битовое число)

В алгоритме также используется однонаправленная хеш-функция: H(m).

Первые три параметра, p, q и g открыты и могут быть общими для пользователей сети. Закрытым ключом является x, а открытым – y. Чтобы подписать сообщение, m:

  1. Отправитель генерирует случайное число k, меньшее q.

  1. Вычисляются:

r =(gk mod p) mod q

s =(k-1 (H(m) + x·r)) mod q

Параметры r и s являются подписью, и они пересылаются получателю.

  1. Получатель проверяет подпись, вычисляя

w = s-1 mod q

u1 = (H(m)·w) mod q

u2 = (r·w) mod q

v = ((gu1·yu2) mod p) mod q

Если v=r, то подпись правильна.

Алгоритм цифровой подписи ГОСТ

Это русский стандарт цифровой подписи, официально называемый ГОСТ Р 34.10-94. Алгоритм очень похож на DSA, и использует следующие параметры:

p = простое число, длина которого между 509 и 512 битами, либо между 1020 и 1024 битами.

q = простое число – множитель р-1, длинной от 254 до 256 битов.

а = любое число, меньшее р-1, для которого аq mod p = 1

x = число, меньшее q

y = ax mod p

Этот алгоритм также использует однонаправленную хеш-функцию: H(x). Стандарт определяет использование хеш-функции ГОСТ Р 34.11.-94, основанной на симметричном алгоритме ГОСТ.

Первые три параметра,р , q и а, открыты и могут использоваться совместно пользователями сети. Закрытым ключом служит х, а открытым - у. Чтобы подписать сообщение т

  1. Отправитель генерирует случайное число k, меньшее q

  1. Отправитель генерирует

I= (a* mod р) mod q s = (ct+ k(H(m))) mod q

r ={ak mod p) mod q

s = (xr + k(H(m))) mod q

Если H(m) mod q = 0, то значение хэш-функции устанавливается равным 1. Если r = 0, то выберите другое значение k и начните снова. Подписью служат два числа: r mod 2256 и s mod 2256, Отправитель посылает их получателю.

  1. Получатель проверяет подпись, вычисляя v = H(т)q-2 mоd q

z1 = (sv) mod q

z2 = ((q-r)*v) mod q

u = ((azl *yz2) mod p) mod q

Если u = r, то подпись правильна.

Различие между этой схемой и DSA в том, что в DSA s = (к-1 (H(m) + x·r)) mod q, что дает другое уравнение проверки. Любопытно, однако, что длина q равна 256 битам. Большинству западных криптографов кажется достаточным q примерно 160 битов длиной. Может быть это просто следствие русской привычки играть в сверхбезопасность.

Стандарт используется с начала 1995 года и не закрыт грифом "Для служебного пользования", что бы это не значило.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]