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

Алгоритм обработки одного блока сообщения

Читайте также:
  1. II. Контроль исходного уровня знаний студентов
  2. XII. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
  3. А. Рішення на застосування одного з перших трьох режимів радіаційного захисту
  4. Абсолютное значение одного процента прироста
  5. Автоматизированная система обработки данных правовой статистики
  6. Алгоритм
  7. Алгоритм MD4
  8. Алгоритм RC6
  9. Алгоритм RSA
  10. Алгоритм Брезенхема для окружности
  11. Алгоритм Брезенхема.
  12. Алгоритм взятия мазка из носа и зева.

Сообщение обрабатывается блоками по 256 бит справа налево.

Каждый блок сообщения обрабатывается по следующему алгоритму.

  1. Генерация четырех ключей длиной 256 бит каждый.
  2. Шифрование 64-битных значений промежуточного хэш-кода H на ключах Ki(i = 1, 2, 3, 4) с использованием алгоритма ГОСТ 28147 в режиме простой замены.
  3. Перемешивание результата шифрования.

Для генерации ключей используются следующие данные:

  • промежуточное значение хэш-кода Н длиной 256 бит;
  • текущий обрабатываемый блок сообщения М длиной 256 бит;
  • параметры - три значения С2, С3 и С4 длиной 256 бит следующего вида: С2 и С4 состоят из одних нулей, а С3 равно
18 08 116 024 116 08 (08 18)2 18 08 (08 18)4 (18 08)4

где степень обозначает количество повторений 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

Где

xi - соответствующие 64 бита 256-битного значения х,
|| обозначает конкатенацию.

Присваиваются следующие начальные значения:

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-битных значений. Сдвиг обозначается Ψ и определяется следующим образом:



η16 || η15 || ... || η1 - исходное значение
η1 η2 η3 η4 η13 η16 || η16 || ... || η2 - результирующее значение

Результирующее значение хэш-кода определяется следующим образом:

Χ(M, H) = 61 (H (M 12(S)))

где


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |


Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)