Протоколы Internet


Электронная подпись - часть 2


Национальный институт стандартов США принял стандарт DSS (Digital Signature Standard; www.itl.nist.gov/div897/pubs/fip198.htm), в основу которого легли алгоритмы Эль-Гамаля и RSA.

Рассмотрим алгоритмы вычисления дайджеста сообщения, электронной подписи и идентификации отправителя. Начнем с алгоритма SHA (Secure Hash Algorithm).

Сначала сообщение разбивается на блоки длиной 512 бит. Если длина сообщения не кратна 512, к последнему блоку приписывается справа 1, после чего он дополняется нулями до 512 бит. В конец последнего блока записывается код длины сообщения. В результате сообщение приобретает вид n 16-разрядных двоичных слов M1,M2,…,Mn. M1 содержит первый символ.

Алгоритм SHA использует 80 логических функций f0,f1,…,f79, которые производят операции над тремя 32-разрядными словами (B,C,D):

ft(B,C,D) = (B AND C) OR ((NOT B) AND D)

для 0 ЈtЈ 19

ft(B,C,D) = B XOR C XOR D

для 20 Ј t Ј 39

ft(B,C,D) = (B AND C) OR (B AND D) OR (C AND D)

для 40 Ј t Ј 59

ft(B,C,D) = B XOR C XOR D

для 60 Ј t Ј 79

В алгоритме используется также 80 констант K1,K2,…, K79:

Kt = 5A827999

для 0 Ј t Ј 19

Kt = 6ED9EBA1

для 20 Ј t Ј 39

Kt = 8F1BBCDC

для 40 Ј t Ј 59

Kt = CA62C1D6

для 60 Ј t Ј 79

Вводится 5 переменных Hi инициализируемых как:

H0 = 67452301

H1 = EFCDAB89

H2 = 98BADCFE

H3 = 10325476

H4 = C3D2E1F0

Делим массив M на группы из 16 слов W0, W1,…,W15 (W0 самое левое слово).

Для t = 16 - 79 wt = S1(Wt-3 XOR Wt-8 XOR Wt-14 XOR Wt-16)

Ak означает операцию циклического сдвига влево на k разрядов.

Пусть теперь A = H0, B = H1, C = H2, D = H3, E = H4.

for t = 0 to 79 do

TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt. (TEMP – временная переменная).

E = D; D = C; C = S30(B); B = A; A = TEMP;

Пусть H0 = H0 + A; H1 = H1 + B; H2 = H2 + C; H3 = H3 + D; H4 = H4 + E.

В результате обработки массива М будет получено 5 слов H0, H1, H2, H3, H4 с общей длиной 160 бит, которые и образуют дайджест сообщения. Полученная кодовая последовательность с высокой степенью уникальности характеризует сообщение. Любое редактирование сообщения практически неизбежно приведет к изменению дайджеста. Поскольку алгоритм вычисления дайджеста общеизвестен, он не может рассматриваться как гарантия предотвращения модификации сообщения. Смысл вычисления дайджеста заключается в уменьшении объема данных, подлежащих шифрованию. Для того чтобы превратить дайджест в электронную подпись надо воспользоваться секретным ключом. Схема реализации алгоритма DSA (Digital Signature Standard) показана на рис. 6.4.3.1.




Начало  Назад  Вперед



Книжный магазин