Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Secure Hash Algorithm (SHA)




Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка выполняется следующим образом: сначала добавляется 1, затем следует столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и, наконец, добавляют 64-битовое представление длины исходного сообщения.
Инициализируются пять 32-битных переменных в виде:

А = 0 х 6 7 4 5 2 3 0 1

В = 0 х E F C D A B 8 9

C = 0 х 9 8 B A D C F E

D = 0 х 1 0 3 2 5 4 7 6

E = 0 х C 3 D 2 E 1 F 0

Схема ал горитма SHA

 

Алгоритм имеет следующий набор нелинейных функций:

где t – номер операции.

В алгоритме используются четыре константы:

Блок сообщения преобразуется из шестнадцати 32-битовых слов (М0….М15) в восемьдесят 32-битных слов(W0…W79) с помощью следующего алгоритма:

Wt =Mt для t = 0…15
Wt = (Wt-3 Wt-8 Wt-14 Wt-16) << 1 для t = 16…79
где t – номер операции (для t = 1…80); <<< S – циклический сдвиг влево на S бит.
A, B, C, D, E присваиваются a, b, c, d, e. Работает схема в течении главного цикла, во время которого вычисляется текущее значение хэш-функции. Этот главный цикл состоит из четырёх циклов, а каждый цикл из 20 микроциклов, т.е. всего используется 80 микроциклов для вычисления текущего значения хэш-функции. При этом каждый цикл функции ft имеет указанное значение, значение kt определено. Информация блока составляет 512 бит разбиваемых на 16 32-битных слов Мt. В первых 16 циклах берутся произвольные значения Мt, а в последних – по формуле. Полученные значения at, bt, ct, dt, et, суммируются с A, B, C, D, E и становятся A, B, C, D, E и т.д. В итоге получаем 160 битовое значение хэш-функции.
С учетом введенных обозначений главный цикл из восьмидесяти операций программно можно описать так:
FOR t = 0 до 79
TEMP = (a<<<5)+ft(b,c,d)+e+Wt+Kt
E=d
D=c
C=(b<<<30)
B=a
A=TEMP

 

40. Правовая защита от компьютерных преступлений.


Поделиться:

Дата добавления: 2015-04-18; просмотров: 62; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты