Функция ГОСТ Р 34. 11-94
![Реферат: Функция ГОСТ Р 34. 11-94](https://gugn.ru/work/6680384/cover.png)
Реализующих один шаг работы линейного регистра сдвига, определенного соответственно над полями F2-')2 и F2i6. И основана на параллельном применении 4-х алгоритмов блочного шифрования ГОСТ 28 147−89, см. раздел 7.4.2. 3] применение линейного преобразования, замешивающего результат шифрования. Рассмотрим указанные этапы более подробно. Определим преобразование. Для выработки остальных ключей надо… Читать ещё >
Функция ГОСТ Р 34. 11-94 (реферат, курсовая, диплом, контрольная)
В 1994 году был стандартизирован первый отечественный алгоритм бесключевого хэширования, который получил свое имя по номеру стандарта — ГОСТ Р 34.11−94. Данный алгоритм реализован на основе описанного нами выше подхода Меркля-Дамгарда, определяется равенством (8.2) и обладает длиной кода целостности п = 256 и длиной блока разбиения входных данных b = 256.
Однораундовая функция / алгоритма ГОСТ Р 34.11−94 задает отображение
и основана на параллельном применении 4-х алгоритмов блочного шифрования ГОСТ 28 147–89, см. раздел 7.4.2.
Функция / состоит из трех этапов:[1][2][3]
Рассмотрим указанные этапы более подробно. Определим преобразование.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_2.png)
реализующее перестановку байт вектора u = t/j|| • • • Ци.32 € F25, где для всех г = 1,…, 32, щ € F2, по следующему закону:
где 7 г (г + 1 + 4(А; — 1)) = 8 г + к, i = 0,…, 3, к = 1,…, 8.
Далее определим два отображения
реализующих один шаг работы линейного регистра сдвига, определенного соответственно над полями F2-')2 и F2i6.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_3.png)
где Vi € F26, г — 1,…, 16.
Теперь мы можем описать все этапы одношаговой функции сжатия f (h, a), на вход которой подаются h - элемент последовательности промежуточных значений и а — блок входного сообщения.
1. Для заданных значений h, a е F256 определим ключ Ад:
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_4.png)
Для выработки остальных ключей надо воспользоваться соотношениями.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_5.png)
где i = 2,3.4 и а € F256 — заданные константы, значения которых могут быть найдены в тексте стандарта ГОСТ Р 34.11−94.[4]
3. Последний этап функции / состоит в перемешивании блоков е,…, в4, полученных в ходе шифрования, и вычислении значения, то есть.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_6.png)
где -фк есть к-я степень преобразования ф, или, другими словами,
Завершающее преобразование д алгоритма ГОСТ Р 34.11−94, применяемое к последнему блоку аг исходного сообщения, отличается от принятого в схеме Мсркля-Дамгарда и заключается в вычислении значения.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_8.png)
где.
• а* € Ff6 — двоичный вектор длины 256, представляющий собой вектор аг, дополненный нулями до нужной длины, то есть.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_9.png)
• I € F^56 — двоичный вектор, содержащий длину исходного сообщения ai||? • • ||ar в битах, то есть двоичную запись числа.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_10.png)
дополненную нулями до нужной длины.
• se Ff6— представляющий собой сумму по модулю 2256.
всех блоков исходного сообщения, то есть.
![Функция ГОСТ Р 34.11-94.](/img/s/8/42/1408542_11.png)
Таким образом, отечественная бесключевая функция хэширования ГОСТ Р 34.11−94 определяется равенством (8.2), в котором одношаговая функция / удовлетворяет (8.3), а завершающее преобразование д удовлетворяет (8.4).
Отметим, что текст стандарта ГОСТ Р 34.11−94 не регламентировал начальное значение вектора Hq. На практике, как правило, использовалось значение ho = (0|| • •? ||0) € F^56.
Функция ГОСТ Р 34.11−94 действовала в качестве стандарта Российской Федерации в период с 1994 по 2011 год и долгое время считалась стойкой. Однако в 2008 году была предложена атака, см. работу [4], в которой удалось предложить алгоритм обращения функции ГОСТ Р 34.11−94 — решение задачи построения прообраза с трудоемкостью 2225 операций опробования функции и требуемым объемом памяти 238 байт. Эта атака послужила причиной принятия в 2012 году следующей версии стандарта — ГОСТ Р 34.11−2012, регламентирующего использование новой функции хэширования «Стрибог».
- [1] генерация ключей к,…, к4 е Ff56 для блочного алгоритмашифрования,
- [2] собственно шифрование блока входных данных а,
- [3] применение линейного преобразования, замешивающего результат шифрования.
- [4] На шаге шифрования блок исходного сообщенияа = сц11"21|"з||"4 разбивается на блоки длины 64 битаи преобразуется с помощью преобразования е: F256 —" F2°6: и Е (к, а) ~ алгоритм блочного шифрования ГОСТ 28 147–89.