Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЗИ-2003.полный19.11 крипто.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
49.78 Mб
Скачать

4. 3. Алгоритм электронной цифровой подписи dsa (Digital Signature Algorithm).

Алгоритм электронной цифровой подписи DSA был разработан NIST США в 1991 году и предложен для использования в процессах аутентификации электронных документов в стандарте цифровой подписи DSS (Digital Signature Standard).

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

По сравнению с алгоритмами RSA и Эль Гамаля алгоритм DSA при достаточном уровне криптостойкости размер числовых значений двух основных параметров системы аутентификации составляет от 512 до 1024 бит, числовые значения вспомогательных параметров составляют 160 бит. Основные вычислительные операции производятся по модулю, размер которого составляет 160 бит, что упрощает и сокращает вычислительные процессы. Вычислительные процедуры проверки ЭЦП также производятся по модулю размером 160 бит.

Действия абонента-отправителя по формированию электронной цифровой подписи сообщения «М».

1. Абонент-отправитель случайным образом выбирает большое простое число «Р» и простое число «q», которое является делителем числа (Р-1). Размерность чисел «Р» и «q» составляет порядка 512 < L < 1024 бит, для примера числа «Р» и «q» принимаются равными Р = 887; q = 443.

2. Затем абонент-отправитель (абонент «А») генерирует число «d» при соблюдении следующих условий ограничения 1 < d < (Р-1) и mod P > 1. Число «d» в качестве примера принимается равным d = 18.

3. После детерминирования чисел P; q; d вычисляется значение параметра «G» по следующей формуле:

G = mod P

В соответствии с заданными числовыми значениями параметр «G» определяется как:

G = mod P = mod 887 = 182 mod 887 = 324 mod 887 → 324.

4. Случайным образом производится выбор значения закрытого (секретного) ключа абонента-отправителя (абонента «А») – КЗА; КЗА принимается равным 312 (КЗА = 312). Закрытый ключ абонента отправителя служит для формирования ЭЦП передаваемого сообщения «М».

5. По принятым параметрам G; КЗА; P производится вычисление открытого ключа абонента-отправителя КОА:

КОА = mod P = 324312 mod 887 = 249 mod 887 → 249.

6. Открытыми параметрами системы аутентификации электронных сообщений, построенной по алгоритму DSA, являются P; G; q; КОА. Числовые значения этих параметров передаются открыто всем пользователям корпоративной информационной системы для реализации функции проверки ЭЦП с целью установления подлинности принятого электронного сообщения «М», т.е. выполнения процесса аутентификации сообщения «М» абонентом-получателем (абонентом «В»).

7. Абонент-отправитель вычисляет значение функции хеширования передаваемого сообщения «М» - h(M)В, для примера в качестве сообщения «М» задается слово «Криптон».

h(M)В → { 52 48 52 48 50 42 46 46 40 56 48 48 50 54 46 42 52 56 56 52 50 50 50 50 44 52 48 48 54 50 46 42}.

8. Для составления криптограммы Ch(M) функции хеширования сообщения «М» абонент-отправитель задает случайным образом целое число «к» при условии 1 < к < q. В рассматриваемом примере 1 < к < 443 принимается значение к = 347.

9. На следующем шаге алгоритмизации производится вычисление параметра «r» в соответствии со следующей зависимостью:

r = (Gк mod P) mod q

Для принятых значений параметров аутентификации G = 324; к = 347; P = 887; q = 443 значение параметра «r» определяется как:

r = (Gк mod P) mod q = (324347 mod 887) mod 443 = 436 mod 443 → 436.

Параметр «r» является постоянным для всего множества числовых значений элементов функции хеширования сообщения «М».

10. После вычисления значения параметра «r» для подписываемого сообщения «М» абонент-отправитель производит шифрование каждого элемента функции хеширования h(M)В с помощью закрытого (секретного) ключа абонента-отправителя КЗА в соответствии со следующей зависимостью:

Si = (( mi + r * КЗА) / к ) mod q

При заданных параметрах r; КЗА; к; q значения элементов криптограммы функции хеширования сообщения «М» Si определяются как:

Si = mod 443

Пример вычисления значения элемента криптограммы Si для значения элемента m1 – первого элемента функции хеширования отображается следующим образом m1 = 52 (в этом случае для слова «Криптон» первый элемент функции хеширования). Следовательно:

S1 = mod 443 = ( ) mod 443 = 136084 * 347-1 mod443 =

= 136084 * 347441 mod 443 = 136084 * 383 mod 443 = 52120172 mod 443 =

= 336 mod 443 → 336.

Остальные 31 элемент криптограммы функции хеширования определяются аналогичным образом, в результате формируется множество элементов криптограммы функции хеширования:

Si = {S1 S2 S3 … S32} = {336 133 336 133 13 50 253 253 170 96 133 133 13 216 253 50 336 96 96 336 13 13 13 13 373 336 133 133 216 13 253 50}.

После вычисления отдельных закриптографированных значений элементов функции хеширования и значения параметра «r» абонент-получатель формирует криптограмму Ch(M), которая представляет собой электронную цифровую подпись передаваемого сообщения «М».

ЭЦП → S → Ch(M) → {r; Si} → {436 336 133 336 133 13 50 253 253 170 96 133 133 13 216 253 50 336 96 96 336 13 13 13 13 373 336 133 133 216 13 253 50}.

Таким образом, электронная цифровая подпись, передаваемого сообщения «М» представляет собой числовое значение параметра «r» и криптографические значения элементов функции хеширования сообщения «М». ЭЦП совместно с сообщением «М» по каналам телекоммуникаций передается абоненту-получателю.

Действия абонента-получателя (абонента «В») по аутентификации принятого электронного сообщения «М» (проверка ЭЦП).

11. Получив ЭЦП переданного сообщения «М» и само сообщение, абонент-получатель (абонент «В») на первом этапе аутентификации проверяет выполнение следующих условий 0 < r < q и 0 < Si < q и в случае не соблюдения указанных неравенств отвергает полученное сообщение как модифицированное. Для рассматриваемого примера 0 < 436 < 443 и 0 < Si < 443 первое условие корректно.

12. После проверки первого условия абонент-получатель вычисляет параметр Wi = mod q (для рассматриваемого примера Wi = mod 443). Множество элементов Wi определяется через параметры элементов криптограммы функции хеширования. Так например, для вычисления значения W1 выполняется следующая операция:

W1= mod q = mod 443 = 336-1 mod 443 = 336441 mod 443 = 207 mod 443 → 207. Последующие 31 элемент определяются аналогичным образом. В результате выполненных вычислений формируется множество элементов Wi.

Wi → {207 10 207 10 409 381 436 436 86 60 10 10 409 322 436 381 207 60 60 207 409 409 409 409 424 207 10 10 322 409 436 381}.

13. После вычисления значений Wi по принятым значениям элементов криптограммы функции хеширования абонент-получатель вычисляет значения элементов функции хеширования принятого сообщения «М».

h(M)В → { 52 48 52 48 50 42 46 46 40 56 48 48 50 54 46 42 52 56 56 52 50 50 50 50 44 52 48 48 54 50 46 42}.

14. На следующем этапе алгоритмизации производится вычисление следующих параметров: U1i = (mi * Wi) mod q и U2i = (r * Wi) mod q. Для рассматриваемого примера:

U1i → {132 37 132 37 72 54 121 121 339 259 37 37 72 111 121 54 132 259 259 132 72 72 72 72 50 132 37 37 111 72 121 54};

U2i → {323 373 323 373 238 434 49 49 284 23 373 373 238 404 49 434 323 23 23 323 238 238 238 238 133 323 373 373 404 238 49 434}.

15. После вычисления параметров U1i и U2i абонент-получатель вычисляет множество значений Vi = (( * ) mod P) mod q. Для приведенного примера Vi = (( * ) mod 887) mod 443 .

Vi → {436 436 436 436 436 436 436 436 436 436 436 436 436 436 436 436 436 436 436 436  436 436 436 436 436 436 436 436 436 436  436 436}.

16. Сравниваются элементы вычисленного множества Vi и значение «r», принятое в составе ЭЦП, если все значения элементов Vi совпадают со значением параметра «r», принятого в составе ЭЦП, то сообщение «М» признается достоверным, в противном случае сообщение отвергается как модифицированное.