Здавалка
Главная | Обратная связь

ЭЦП. АЛГОРИТМ БЕЗОПАСНОГО ХЕШИРОВАНИЯ SHA-1



7.

 

При электронном документообороте традиционные методы подтверждения подлинности документа при помощи оттиска печати или поставленной от руки подписи являются непригодными. Вместо этого используется электронная цифровая подпись (ЭЦП) под электронным документом, представляющая собой небольшой объём данных, передаваемых вместе с документом при его пересылке.

Любая система электронной цифровой подписи включает в себя процедуру подписания электронного документа и процедуру проверки данной подписи.

Наибольшим удобством использования обладают схемы цифровой подписи на основе криптосистем с открытым ключом. Для таких схем при постановке подписи используется закрытый ключ автора электронного документа, а при проверке подписи – открытый ключ.

Важной составляющей любой системы электронной цифровой подписи является процедура вычисления дайджеста сообщения, необходимого для защиты передаваемой информации от случайного либо преднамеренного искажения. Для вычисления дайджеста используется криптографическая хеш-функция, формирующая хеш-образ отправляемого сообщения.

 

Алгоритм безопасного хеширования SHA-1 был опубликован в 1995 году в качестве замены использовавшегося до этого алгоритма хеширования SHA-0, в котором была обнаружена уязвимость.

Для сообщения произвольной длины l, не превышающей 264 бит, алгоритм SHA-1 формирует 160-битный хеш-образ.

Процедура формирования хеш-образа состоит из следующих шагов.

1. Весь исходный текст разбивается на блоки по 512 бит. В случае если длина исходного текста не кратна 512 битам, производится его выравнивание за счёт добавления в конец бита со значением 1, m нулевых битов и 64-битного представления значения длины исходного сообщения (рис. 12).

Рис. 12. Выравнивание исходного сообщения

2. Инициализируется пять 32-битных рабочих переменных A, B, C, D, E:

 

A ← 6745230116

B ← EFCDAB8916

C ← 98BADCFE16

D ← 1032547616

E ← C3D2E1F016

 

3. Выполняется обработка очередных 512 бит исходного текста. Для этого значения переменных A, B, C, D, E копируются в переменные a, b, c, d, e и далее для t от 1 до 80 выполняется преобразование значений данных переменных по схеме, изображенной на рис. 13.

 

Рис. 13. Схема итерации алгоритма SHA-1

Каждая из 80 итераций может быть записана следующим образом:

 

TMP ← (a <<< 5) + ft(b, c, d) + e + Wt + Kt;

ed;

dc;

c ← (b <<< 30);

ba;

aTMP,

 

где «+» – операция сложения по модулю 232, ft(X, Y, Z) – нелинейная функция, имеющая следующий вид:

(22)

где «&» – побитовая операция «И», «|» – побитовая операция «ИЛИ»,
«!» – операция побитового инвертирования, «Å» – операция побитового сложения по модулю 2. Параметр Kt принимает четыре различных значения в зависимости от номера текущей итерации:

Kt = 5A82799916, ;

Kt = 6ED9EBA116, ;

Kt = 8F1BBCDC16, ;

Kt = CA62C1D616, .

«<<<» – операция циклического сдвига на 30 либо 5 бит влево, Wt – одно из шестна­дцати 32-битных слов 512-битного блока сообщения при либо значение, определяемое в соответствии со следующим выражением при :

Wt = (Wt3 Å Wt8 Å Wt14 Å Wt16) <<< 1. (23)

4. Значения переменных a, b, c, d, e независимо друг от друга складываются по модулю 232 со значениями переменных A, B, C, D, E, в которые затем и помещаются полученные результаты.

5. Шаги 3–4 выполняются до тех пор, пока не будет обработан весь текст.

После обработки последнего блока текста значение хеш-образа формируется как ABCDE.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.