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

Логика выполнения ГОСТ 3411

Читайте также:
  1. II. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ВЫПОЛНЕНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
  2. Алгоритм выполнения прически
  3. Анализ выполнения договорных обязательств
  4. Анализ выполнения договорных обязательств и реализации продукции
  5. Анализ выполнения федеральной целевой программы «Дети-инвалиды»
  6. Бесконечнозначная логика как обобщение многозначной системы Поста
  7. Воздушные суда для выполнения рейсов
  8. Время выполнения — 60 минут
  9. ВЫПОЛНЕНИЯ ИНДИВИДУАЛЬНОГО ЗАДАНИЯ
  10. ГЛАВА 4. Методология и организация процесса разработки и выполнения управленческого решения
  11. График выполнения и задачи СРС
  12. График выполнения и сдачи заданий по дисциплине

Входными параметрами алгоритма являются:

  • исходное сообщение М произвольной длины;
  • стартовый вектор хэширования Н, длина которого равна 256 битам;
  • контрольная сумма Σ, начальное значение которой равно нулю и длина равна 256 битам;
  • переменная L, начальное значение которой равно длине сообщения.

Сообщение М делится на блоки длиной 256 бит и обрабатывается справа налево. Очередной блок i обрабатывается следующим образом:

  1. H = Χ(Mi, H)
  2. Σ = Σ ' Mi
  3. L рассматривается как неотрицательное целое число, к этому числу прибавляется 256 и вычисляется остаток от деления получившегося числа на 2256. Результат присваивается L.

Где ' обозначает следующую операцию: Σ и Mi рассматриваются как неотрицательные целые числа длиной 256 бит. Выполняется обычное сложение этих чисел и находится остаток от деления результата сложения на 2256. Этот остаток и является результатом операции.

Самый левый, т.е. самый последний блок М' обрабатывается следующим образом:

  1. Блок добавляется слева нулями так, чтобы его длина стала равна 256 битам.
  2. Вычисляется Σ = Σ ' Mi.
  3. L рассматривается как неотрицательное целое число, к этому числу прибавляется длина исходного сообщения М и находится остаток от деления результата сложения на 2256.
  4. Вычисляется Н = Χ(М', Н).
  5. Вычисляется Н = Χ(L, Н).
  6. Вычисляется Н = Χ(Σ, Н).

Значением функции хэширования является Н.


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.003 сек.)