|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм обработки одного блока сообщенияСообщение обрабатывается блоками по 256 бит справа налево. Каждый блок сообщения обрабатывается по следующему алгоритму.
Для генерации ключей используются следующие данные:
где степень обозначает количество повторений 0 или 1. Используются две формулы, определяющие перестановку и сдвиг. Перестановка Р битов определяется следующим образом: каждое 256-битное значение рассматривается как последовательность тридцати двух 8-битных значений. Перестановка Р элементов 256-битной последовательности выполняется по формуле y = (x), где x - порядковый номер 8-битного значения в исходной последовательности; y - порядковый номер 8-битного значения в результирующей последовательности. (i + 1 + 4(k - 1)) = 8i + k i = 0 ÷ 3, k = 1 ÷ 8Сдвиг А определяется по формуле A (x) = (x1 x2) || x4 || x3 || x2Где
Присваиваются следующие начальные значения: i = 1, U = H, V = M.W = U V, K1 = Р (W)Ключи K2, K3, K4 вычисляются последовательно по следующему алгоритму: U = A(U) Сi, V = A(A(V)), W = U V, Ki = Р(W)Далее выполняется шифрование 64-битных элементов текущего значения хэш-кода Н с ключами K1, K2, K3 и K4. При этом хэш-код Н рассматривается как последовательность 64-битных значений: H = h4 || h3 || h2 || h1Выполняется шифрование алгоритмом ГОСТ 28147: si = EKi [hi] i = 1, 2, 3, 4S = s1 || s2 || s3 || s4Наконец на заключительном этапе обработки очередного блока выполняется перемешивание полученной последовательности. 256-битное значение рассматривается как последовательность шестнадцати 16-битных значений. Сдвиг обозначается Ψ и определяется следующим образом:
Результирующее значение хэш-кода определяется следующим образом: Χ(M, H) = 61 (H (M 12(S)))где Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |