Помощь в учёбе, очень быстро...
Работаем вместе до победы

Функция «Стрибог» (ГОСТ Р 34. 11-2012)

РефератПомощь в написанииУзнать стоимостьмоей работы

В течение 2010;2011 годов был разработан новый алгоритм бесключевого хэширования, получивший название «Стрибог» в честь языческого божества восточных славян, бога стремительного ветра, разносящего и распределяющего блага между людьми. В 2012 году данный алгоритм был принят в качестве нового стандарта Российской Федерации ГОСТ Р 34.11−2012. Основные отличия нового алгоритма от предыдущего… Читать ещё >

Функция «Стрибог» (ГОСТ Р 34. 11-2012) (реферат, курсовая, диплом, контрольная)

В течение 2010;2011 годов был разработан новый алгоритм бесключевого хэширования, получивший название «Стрибог» в честь языческого божества восточных славян, бога стремительного ветра, разносящего и распределяющего блага между людьми. В 2012 году данный алгоритм был принят в качестве нового стандарта Российской Федерации ГОСТ Р 34.11−2012. Основные отличия нового алгоритма от предыдущего заключаются в следующем.

  • 1. Функция позволяет вычислять код целостности длины либо п = 512 бит, либо п = 256, используя при этом единый алгоритм.
  • 2. Размер обрабатываемого блока входного сообщения увеличен вдвое, то есть b — 512.
  • 3. В основе одношаговой функции сжатия лежит блочный шифр с длиной блока 512 бит, построенный на основе SPсети, см. раздел 7.5.
  • 4. Начальное значение ho зафиксированно и принимает различные значения для кодов целостности длины 256 или 512 бит.

Вместе с тем функция «Стрибог» имеет общие черты с предыдущим алгоритмом хэширования, а именно:

  • 1. в одношаговой функции сжатия / используется процедура развертки ключей; ключи, как и раньше, зависят от значений блоков входного сообщения;
  • 2. завершающее преобразование д использует длину хэшируемого сообщения, а также контрольную сумму по модулю 12 значений блоков входного сообщения.

Опишем функцию «Стрибог» более подробно. Для этого рассмотрим перестановку т Е 12 следующим образом:

и задаваемую вектором

Рассмотрим подстановку 7г: F§ F®, задающую нелинейное биективное отображение множества F в себя и определяемую равенством Функция «Стрибог» (ГОСТ Р 34.11-2012).

Также определим линейное отображение I: F®4 —> F|4, представляющее собой умножение вектора у Е F^4 на двоичную матрицу В = (,btj) € GLM(2):

Ниже мы приводим точное значение матрицы В, взятое нами из текста стандарта ГОСТР Р 34.11−2012. В каждой строке записано 4 строки матрицы В, при этом в строке с номером г, г = 0, 15, записаны строки матрицы В с номерами 4 г + j, j — 0,…, 3 в следующем порядке (слева направо): 4 г, 4 г + 1, 4 г + 2, 4 г + 3.

Введенные нами перестановка т, подстановка 7 г и линейное преобразование I используются в алгоритме «Стрибог» для определения следующих преобразований над векторами длины 512 бит:

где XI,…, ж64 е Fl, уъ? ? •, у& е Ff4.

Кроме того, мы определим величины s, aj € Z2si2, j — l,…, г, представляющие собой различные контрольные суммы входного сообщения, а = «111… ||аг:

Теперь мы можем определить одношаговую функцию сжатия, представляющую собой вариант функции Миягучи-Принеля, примененный к некоторому блочному шифру Е (к, а):

где величина <�т, определена равенством (8.6).

Для описания блочного шифра, используемого внутри функции /, нам надо определить алгоритм развертки ключа к и алгоритм зашифрования Е (к, а).

Алгоритм развертки ключа к заключается в определении значений fci,…,&1з € F212 в соответствии со следующими равенствами:

где С2,…, схз € F212 — фиксированные константы, значения которых могут быть найдены в тексте стандарта ГОСТ Р 34.11−2012.

Алгоритм зашифрования Е (к, а) состоит из двенадцати одинаковых раундов R (k, а): F25i2 х F212 —> F212 и завершающего преобразования W (k, a) : F25i2 х F212 —> F212, определяемых равенствами

Легко видеть, что раупдовое преобразование R используется и в алгоритме развертки ключа. Суммируя, мы можем записать алгоритм зашифрования в виде

Для полного описания бесключевой функции хэширования «Стрибог», определим завершающее преобразование д:

где s и аг определены равенствами (8.5) и (8.6) соответственно, а вектор а* определен равенством

Таким образом, бесключевая функция хэширования «Стрибог» определяется равенством (8.2), в котором одношаговая функция / удовлетворяет равенству (8.7), а завершающее преобразование д удовлетворяет равенству (8.8).

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

где hi G F2, г = 1,…, 512.

Показать весь текст
Заполнить форму текущей работой