Стандарт DSA
DSA
Подход к документам
Содержание ЭЦП
Факты о DSA
Параметры подписи
Параметры подписи
Генерация чисел p и q
Генерация чисел p и q
Генерация чисел p и q
Генерация подписи
Проверка подлинности
Стандарт DSA
544.50K
Category: programmingprogramming

Стандарт DSA - Digital Signature Algorithm

1. Стандарт DSA

Работу выполнили:
А.Д.Богданов
Р.А. Староверов

2. DSA

Digital Signature Algorithm
Цифровой алгоритм подписи

3. Подход к документам

4. Содержание ЭЦП

• Криптограмма(ПО)
• Открытый ключ (Х)
• Закрытый ключ (Y)

5. Факты о DSA

• Алгоритм предложен
Национальным Институтом
Стандартов и Технологий (США) в
августе 1991;
• Является запатентованным U.S.
Patent 5231668 ;
• НИСТ сделал этот патент доступным
для использования без
лицензионных отчислений

6. Параметры подписи

• 1. p – простое число p, где 2L-1 < p <
2L, 512 =< L =< 1024 и L кратно 64
• 2. q – простой делитель p-1, причем
2159 < q < 2160
• 3. g = h(p-1)/q mod p, где h любое
целое число 1 < h < p - 1 такое, что
h(p-1)/q mod p > 1

7. Параметры подписи

• 4. x – случайное или псевдослучайное
целое число, где 0 < x < q
• 5. y = gx mod p
• 6. k – случайное или псевдослучайное
целое число, где 0 < k < q.

8. Генерация чисел p и q

• 1. Устанавливаем i = 1 и выбираем
n>=50
• 2. Приравниваем w тестируемому
числу и представляем его в виде w =
1 + 2am, где m – нечетное число.
• 3. Генерируем случайное число b: 1 <
b < w.

9. Генерация чисел p и q

• 4. Устанавливаем j = 0 и z = bm mod w.
• 5. Если j = 0 и z = 1, или если z = w - 1,
то переходим на шаг 9.
• 6. Если j > 0 и z = 1, то переходим на
шаг 8.

10. Генерация чисел p и q

• 7. j = j + 1. Если j < a, то
устанавливаем z = z2 mod w и
переходим на шаг 5.
• 8. w не простое. Стоп.
• 9. Если i < n, то устанавливаем i =
i + 1 и переходим на шаг 3.
Иначе, возможно w – простое
число.

11. Генерация подписи

Подписью сообщения M является пара
чисел r и s, где
r = (gk mod p) mod q
s = (k−1(SHA(M) + xr)) mod q.

12. Проверка подлинности

Числа p, q, g и открытый ключ находятся в
открытом доступе
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

13. Стандарт DSA

Работу выполнили:
А.Д.Богданов
Р.А. Староверов
English     Русский Rules