это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
4138152
Ознакомительный фрагмент работы:
Введение 3
1. Теоретические аспекты алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012 4
1.1. Описание алгоритма хеширования по ГОСТ 34.11-1994 4
1.2. Описание алгоритма хеширования по ГОСТ 34.11-2012 10
2. Практическая реализация алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012 15
2.1. Практическая реализация алгоритма хеширования по ГОСТ 34.11-1994 15
2.2. Практическая реализация алгоритма хеширования по ГОСТ 34.11-2012 22
2.3. Сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012 31
Заключение \h 36
Список использованных источников 37
Введение
Хеширование (англ. Hashing) – это преобразование по определенному алгоритму входного массива данных произвольной длины в выходную битовую строку фиксированной длины таким образом, чтобы изменение входных данных приводило к непредсказуемому изменению выходных данных. Называются они хеш-функциями, либо функциями свертки, а результаты называются хешем, хеш-кодом, либо дайджестом сообщения (англ. Message digest). Дайджест может быть использован в качестве контрольной суммы исходного сообщения, обеспечивая таким образом контроль целостности информации.Хеш-функции – это незаменимый, повсеместно распространенный инструмент, используемый для выполнения целого ряда задач, включая аутентификацию, проверку целостности данных, защиту файлов, даже обнаружение зловредного программного обеспечения.Основная цель курсовой работы – разработка и реализация алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Объектом исследования работы являются алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.На основании цели работы поставлены следующие задачи:Изучить теоретические аспекты алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Описать алгоритм хеширования по ГОСТ 34.11-1994.Описать алгоритм хеширования по ГОСТ 34.11-2012.Осуществить практическую реализацию алгоритма хеширования по ГОСТ 34.11-1994.Осуществить практическую реализацию алгоритма хеширования по ГОСТ 34.11-2012.Сравнить реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.1. Теоретические аспекты алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-20121.1. Описание алгоритма хеширования по ГОСТ 34.11-1994Для описания алгоритма хеширования по ГОСТ 34.11-1994 на практике используются следующие обозначения:f0gj – блок длиной j бит, который заполнен нулями.jMj – длина блока M в битах по модулю 2256.k – слияние (конкатенация) двух блоков в один.+ – сложение двух блоков длиной 256 бит по модулю 2256. – побитное сложение (XOR) двух блоков одинаковой длины.Основой описываемой хеш-функции по ГОСТ 34.11-1994 является шаговая функция хеширования, представленная формулой 1.1.Hout = f (Hin, m), (1.1)Где Hout, Hin, m – блоки длиной 256 бит.Входное сообщение M {\displaystyle M}разделяется на блоки {\displaystyle m_{n},m_{n-1},m_{n-2},...,m_{1}}mn, mn-1, mn-2, … , m1 по 256 бит. В случае если размер последнего блока {\displaystyle m_{n}}mn меньше 256 бит, то к нему приписываются слева нули для достижения заданной длины блока.Каждый блок сообщения, начиная с первого, подается на шаговую функцию для вычисления промежуточного значения хеш-функции, представленная формулой 1.2.Hi+1 = f (Hi, mi), (1.2)Значение {\displaystyle H_{1}}H1 на практике выбирают произвольным.После вычисления Hn+1{\displaystyle H_{n+1}} конечное значение хеш-функции по ГОСТ 34.11-1994 на практике получают следующим образом:Hi+2 = f (Hn+1, L), где L – это длина сообщения M в битах по модулю 2256.h = f (Hn+2, K), где K – это контрольная сумма сообщения M: m1 + m2 + m3 + … + mn, h – это значение хеш-функции сообщения M.Наглядно вычисление хеш-функции по ГОСТ 34.11-1994 представлено на рисунке 1.1.Рисунок 1.1 – Вычисление хеш-функции по ГОСТ 34.11-1994Опишем алгоритм вычисления хеш-функции по ГОСТ 34.11-1994 на практике.Инициализация:h: = H1 – начальное значение хеш-функции. То есть 256 битовый IV вектор, определяется пользователем.∑: = 0 – контрольная сумма.L: = 0 – длина сообщения.Функция сжатия внутренних итераций: для i = 1 … n -1 выполняется следующее (пока {\displaystyle |M|>256}|M| > 256):h: = f (h, mi) – итерация метода последовательного хеширования.L: = L + 256 – итерация вычисления длины сообщения.∑: = ∑ + mi – итерация вычисления контрольной суммы.Функция сжатия финальной итерации:L: = L + jmnj – вычисление полной длины сообщения.mn: = f0g256-jmnjkmn – набивка последнего блока.∑: = ∑ + mn – вычисление контрольной суммы сообщения.h: = f (h, mn) – итерация метода последовательного хеширования.h: = f (h, L) – MD-усиление.h: = f (h, ∑).Выход. Значением хеш-функции является h.Опишем особенности вычисления хеш-функции по ГОСТ 34.11-1994 на практике. Они следующие:При обработке блоков используются преобразования по алгоритму ГОСТ 28147-89.Обрабатывается блок длиной 256 бит, выходное значение также имеет длину 256 бит.Определяет контрольную сумму, рассчитанную по всем блокам исходного сообщения, которая является частью финального вычисления хеш-функции.Применены меры борьбы против поиска коллизий, основанном на неполноте последнего блока.Обработка блоков происходит по алгоритму шифрования ГОСТ 28147-89, содержащий преобразования на S-блоках, что существенно осложняет применение метода дифференциального криптоанализа к поиску коллизий.Опишем алгоритм вычисления шаговой функции хеширования по ГОСТ 34.11-1994 на практике.Шаговая функция хеширования {\displaystyle f}f отображает два блока длиной 256 бит в один блок длиной 256 бит: {\displaystyle H_{out}\ =\ f(H_{in},\ m)} Hout = f(Hin, m) (рисунок 1.2) и состоит из трех частей:Генерирование ключей K1, K2, K3, K4.Шифрующее преобразование – шифрование {\displaystyle \ H_{in}} Hin с использованием ключей K1, K2, K3, K4.Перемешивающее преобразование результата шифрования.Рисунок 1.2 – Шаговая функция хеширования {\displaystyle f}fОпишем алгоритм генерации ключей при вычислении шаговой функции хеширования по ГОСТ 34.11-1994 на практике.В алгоритме генерации ключей на практике используются:Два преобразования блоков длины 256 бит:Преобразование A(Y) = A(y4 k y3 k y2 k y1) = (y1 y2) k y4 k y3 k y2{\displaystyle A(Y)=A(y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}\ {\mathcal {k}}\ y_{1})=(y_{1}\oplus y_{2})\ {\mathcal {k}}\ y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}}, где {\displaystyle y_{1},\ y_{2},\ y_{3},\ y_{4}}y1, y2, y3, y4 – подблоки блока Y длины 64 бит.Преобразование P(Y) = P(y32 k y31 k … k y1) = yφ(32) k yφ(31) k … k yφ(1){\displaystyle A(Y)=A(y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}\ {\mathcal {k}}\ y_{1})=(y_{1}\oplus y_{2})\ {\mathcal {k}}\ y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}}, где φ(i + 1 + 4(k-1)) = 8i + k, i = 0, … , 3, k = 1, … , 8, а {\displaystyle y_{1},\ y_{2},\ y_{3},\ y_{4}}y32, y31, … , y1 – подблоки блока Y длины 8 бит.Три константы:C2 = 0;C3 = 0xff00ffff000000ffff0000ff00ffff0000ff00ff00ff00ffff00ff00ff00ff00;C4 = 0.Алгоритм генерации ключей следующий:U: = Hin, V: = m, W: = U V, K1 = P(W).Для j = 2, 3, 4 выполняется следующее: U: = A(U) Cj, V: = A(A(V)), W: = U V, Kj = P(W).Опишем алгоритм шифрующего преобразования при вычислении шаговой функции хеширования по ГОСТ 34.11-1994 на практике.После генерирования ключей на практике происходит шифрование Hin {\displaystyle H_{in}} по ГОСТ 28147-89 в режиме простой замены на ключах {\displaystyle K_{i}}Ki (для {\displaystyle i:=1,2,3,4}i = 1, 2, 3, 4), процедуру шифрования обозначают через E. Для шифрования {\displaystyle H_{in}} Hin на практике разделяют на четыре блока по 64 бита: {\displaystyle H_{in}=h_{4}{\mathcal {k}}h_{3}{\mathcal {k}}h_{2}{\mathcal {k}}h_{1}}Hin = h4 k h3 k h2 k h1 и зашифровывают каждый из следующих блоков:S1 = E (h1, K1);S2 = E (h2, K2);S3 = E (h3, K3);S4 = E (h4, K4).После чего блоки собирают в 256 битный блок: S = s4 k s3 k s2 k s1{\displaystyle S=s_{4}{\mathcal {k}}s_{3}{\mathcal {k}}s_{2}{\mathcal {k}}s_{1}}.Опишем алгоритм перемешивающего преобразования (рисунок 1.3) при вычислении шаговой функции хеширования по ГОСТ 34.11-1994 на практике.На последнем этапе происходит перемешивание {\displaystyle H_{in}}Hin, S и m с применением регистра сдвига, в результате чего получают {\displaystyle H_{out}}Hout.Для описания процесса преобразования на практике сначала определяют функцию ψ(Y), которая производит элементарное преобразование блока длиной 256 бит в блок той же длины: ψ (Y) = ψ (y16 k y15 k … k y2 k y1) = (y1 y2 y3 y4 y13 y16) k y16 k y15 k … k y3 k y2{\displaystyle A(Y)=A(y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}\ {\mathcal {k}}\ y_{1})=(y_{1}\oplus y_{2})\ {\mathcal {k}}\ y_{4}\ {\mathcal {k}}\ y_{3}\ {\mathcal {k}}\ y_{2}}, где {\displaystyle y_{1},\ y_{2},\ y_{3},\ y_{4}}y16, y15, … , y2, y1{\displaystyle \psi (Y)=\psi (y_{16}{\mathcal {k}}y_{15}{\mathcal {k}}...{\mathcal {k}}y_{2}{\mathcal {k}}y_{1})=(y_{1}\oplus y_{2}\oplus y_{3}\oplus y_{4}\oplus y_{13}\oplus y_{16}){\mathcal {k}}y_{16}{\mathcal {k}}y_{15}{\mathcal {k}}...{\mathcal {k}}y_{3}{\mathcal {k}}y_{2}} – подблоки блока Y длины 16 бит. Рисунок 1.3 – Процесс перемешивающего преобразованияНа практике перемешивающее преобразование имеет вид, представлено формулой 1.3:Hout = ψ61(Hin ψ(m ψ12(S)), (1.3)Где ψi означает суперпозицию длины i. Иначе, преобразование ψ представляет собой регистр сдвига с линейной обратной связью, а индекс i указывает на количество его раундов. Представлено на рисунке 1.4.Рисунок 1.4 – Перемешивающее преобразованиеОпишем узлы замены (S-блоки) при вычислении шаговой функции хеширования по ГОСТ 34.11-1994 на практике.На практике параметром, используемого в качестве шифрующего преобразования {\displaystyle E(h,K)}E(h, K) алгоритма ГОСТ 28147-89, является таблица из восьми узлов замены (S-блоков). ГОСТ Р 34.11-94 не фиксирует значения S-блоков и стартового вектора H1, что породило несовместимые реализации хеш-функции.На практике широкое распространение получили два набора параметров, полагающие стартовый вектор равным нулю:H1 = 0x00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000, но имеющие значения S-блоков, указанные ниже.Узлы замены, определенные документом RFC 4357, представлены на рисунках 1.5, 1.6.Рисунок 1.5 – Узлы замены, определенные документом RFC 4357 (Идентификатор: id-GostR3411-94-TestParamSet)Рисунок 1.6 – Узлы замены, определенные документом RFC 4357 (Идентификатор: id-GostR3411-94-CryptoProParamSet)1.2. Описание алгоритма хеширования по ГОСТ 34.11-2012На практике хеш-функцию по ГОСТ 34.11-2012 называют «Стрибог». Опишем ее.«Стрибог» (англ. Streebog) – это криптографический алгоритм вычисления хеш-функции по ГОСТ 34.11-2012 с размером блока входных данных 512 бит, с размером хеш-кода 256, либо 512 бит.Данный стандарт разработан «Центром защиты информации и специальной связи ФСБ РФ» с участием компании ОАО «ИнфоТеКС» на базе национального стандарта РФ ГОСТ Р 34.11-2012. Стандарт ГОСТ Р 34.11-2012 разработан, введен в качестве замены устаревшему стандарту ГОСТ 34.11-1994.Опишем концепции построения хеш-функции по ГОСТ 34.11-2012 на практике.В соответствии с требованиями, высказанными на конференции РусКрипто-2010, в работе, посвященной новой хеш-функции, было определено следующее:На практике у новой хеш-функции не должно быть свойств, которые бы позволяли бы применить известные атаки.В хеш-функции должны использоваться изученные конструкции, преобразования.Вычисление хеш-функции должно быть эффективным, занимать мало времени.Не должно быть лишних преобразований, которые усложняют конструкцию хеш-функции. Причем каждое используемое в хеш-функции преобразование должно отвечать за определенные криптографические свойства.В той же работе вводятся «универсальные» требования, касающиеся трудоемкости атак на хеш-функцию. Представлено на рисунке 1.7.Рисунок 1.7 – «Универсальные» требования, касающиеся трудоемкости атак на хеш-функцию Сравним хеш-функцию по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012:В ГОСТ Р 34.11-2012 размер блоков сообщения, внутреннего состояния хеш-функции составляет 512 бит против 256 бит в ГОСТ Р 34.11-94.Новый стандарт определяет две функции хеширования с длинами хеш-кода 256 и 512 бит, в то время как в старом стандарте длина хеш-кода может быть только 256 бит.Основное отличие современной хеш-функции от старой – это функция сжатия. В ГОСТ Р 34.11-2012 используется функции сжатия, в основе которой лежат три преобразования: нелинейное биективное преобразование (обозначается S), перестановка байт (обозначается P), линейное преобразование (обозначается L). В ГОСТ Р 34.11-94 используется функция сжатия, основанная на симметричном блочном шифре ГОСТ Р 28147-89, также эта функция использует операции перемешивания.При вычислении новой хеш-функции, если размер сообщения не кратен размеру обрабатываемого блока (для современного стандарта – 512 бит, для старого стандарта – 256 бит), то такой блок дополняется вектором (00 … 01). При вычислении старой хеш-функции неполный блок дополняется значением (00 … 0). Считается, что дополнение (00 … 01) лучше, чем (00 … 0), с криптографической точки зрения, так как дополнения значением (00 … 0) приводит к атакам. В случае ненулевого дополнения на практике была доказана стойкость к подобным атакам.Еще одно отличие состоит в том, что стандарт ГОСТ Р 34.11-94 не определял значение инициализационного вектора, в то время как в стандарте ГОСТ Р 34.11-2012 значение инициализационного вектора фиксировано и определено в стандарте: для хеш-функции с размером выходного хеша 512 бит это вектор (00 … 0), для хеш-функции с размером выходного хеш-кода 256 бит – (000000010 … 100000001) (все байты равны 1).Опишем функцию сжатия хеш-функции по ГОСТ 34.11-2012.В хеш-функции важным элементом является функция сжатия. В ГОСТ Р 34.11-2012 функция сжатия основана на конструкции Миагути-Пренеля. Схема конструкции Миагути-Пренеля: h, m – это вектора, поступающие на вход функции сжатия; g (h, m) – это результат функции сжатия; E – блочный шифр с длиной блока, ключа 512 бит. В качестве блочного шифра в хеш-функции ГОСТ Р 34.11-2012 на практике взят XSPL-шифр. Этот шифр состоит из следующих преобразований:Сложение по модулю 2.Преобразование замены, либо подстановки, обозначается, как S-преобразование.Преобразование перестановки, обозначается, как P-преобразование.Линейное преобразование, обозначается, как L-преобразование.Преобразования, используемые в новой хеш-функции, должны быть хорошо изучены. Поэтому в блочном шифре E на практике используются преобразования X, S, P, L, которые уже хорошо изучены.Важным параметром блочного шифра является то, как выбирается ключ, который будет использовать на каждом раунде. В блочном шифре, используемом в ГОСТ Р 34.11-2012, ключи K1{\displaystyle K_{1}}, K2{\displaystyle K_{2}}, … , {\displaystyle K_{13}}K13 для каждого из 13 раундов генерируются с помощью самой функции шифрования.{\displaystyle C_{1}}C1{\displaystyle K_{1}}, C2{\displaystyle K_{2}}, … , {\displaystyle K_{13}}C12 {\displaystyle C_{12}} – итерационные константы, которые являются 512 битовыми векторам. Их значения указаны в соответствующем разделе стандарта.Опишем хеш-функцию по ГОСТ 34.11-2012.В основу хеш-функции положена итерационная конструкция Меркла-Дамгора с использованием MD-усиления. Под MD-усилением на практике понимается дополнение неполного блока при вычислении хеш-функции до полного путем добавления вектора (0 … 01) такой длины, чтобы получился полный блок. Из дополнительных элементов можно отметить следующие:Завершающее преобразование, которое заключается в том, что функция сжатия применяется к контрольной сумме всех блоков сообщения по модулю 2512.При вычислении хеш-кода на каждой итерации применяются разные функции сжатия. Можно сказать, что функция сжатия зависит от номера итерации.Описанные выше решения позволяют противостоять многим известным атакам.Кратко описание хеш-функции ГОСТ 34.11-2012 можно представить следующим образом. На вход хеш-функции подается сообщение произвольного размера. Далее сообщение разбивается на блоки по 512 бит, если размер сообщения не кратен 512, то оно дополняется необходимым количеством бит. Потом итерационно используется функция сжатия, в результате действия которой обновляется внутреннее состояние хеш-функции. Также вычисляется контрольная сумма блоков и число обработанных бит. Когда обработаны все блоки исходного сообщения, производятся еще два вычисления, которые завершают вычисление хеш-функции:Обработка функцией сжатия блока с общей длиной сообщения.Обработка функцией сжатия блока с контрольной суммой.2. Практическая реализация алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-20122.1. Практическая реализация алгоритма хеширования по ГОСТ 34.11-1994В рамках темы работы было реализовано приложение на языке программирования C++ в среде Visual Studio для постановки, проверки электронной цифровой подписи (далее ЭЦП).Постановка, проверка ЭЦП по ГОСТ Р 34.10-1994 была реализована с использованием хэш-функции ГОСТ Р 34.11-1994 для сжатия файла.Приложение реализации алгоритма хеширования по ГОСТ 34.11-1994 состоит из 3-х основных ресурсных файлов: hash.cpp, ecp.cpp, main.cpp.Код hash.cpp (хеширование) представлен на рисунках 2.1-2.6.Рисунок 2.1 – Код hash.cpp (хеширование)Рисунок 2.2 – Код hash.cpp (хеширование)Рисунок 2.3 – Код hash.cpp (хеширование)Рисунок 2.4 – Код hash.cpp (хеширование)Рисунок 2.5 – Код hash.cpp (хеширование)Рисунок 2.6 – Код hash.cpp (хеширование)Код ecp.cpp (установка подписи, проверка) представлен на рисунках 2.7-2.8.Рисунок 2.7 – Код ecp.cpp (установка подписи, проверка)Рисунок 2.8 – Код ecp.cpp (установка подписи, проверка)Код main.cpp (вывод результата, тестирование) представлен на рисунках 2.9-2.12.Рисунок 2.9 – Код main.cpp (вывод результата, тестирование)Рисунок 2.10 – Код main.cpp (вывод результата, тестирование)Рисунок 2.11 – Код main.cpp (вывод результата, тестирование)Рисунок 2.12 – Код main.cpp (вывод результата, тестирование)Результат работы приложения и его тестирование представлен на рисунках 2.13-2.15.Рисунок 2.13 – Результат работы приложения и его тестированиеРисунок 2.14 – Результат работы приложения и его тестирование (ввод сообщения, файл input – входящее сообщение для постановки ЭЦП)Рисунок 2.15 – Результат работы приложения и его тестирование (постановка ЭЦП, файл output – искомая ЭЦП)2.2. Практическая реализация алгоритма хеширования по ГОСТ 34.11-2012В рамках темы работы было реализовано приложение на языке программирования C++ в среде Visual Studio для постановки, проверки электронной цифровой подписи (далее ЭЦП).Постановка, проверка ЭЦП по ГОСТ Р 34.10-2012 была реализована с использованием хэш-функции ГОСТ Р 34.11-2012 для сжатия файла.Приложение реализации алгоритма хеширования по ГОСТ 34.11-2012 состоит из 2-х основных ресурсных файлов: stribog.cpp, ecp.cpp, main.cpp.Код stribog.cpp (хеширование) представлен на рисунках 2.16-2.23.Рисунок 2.16 – Код stribog.cpp (хеширование)Рисунок 2.17 – Код stribog.cpp (хеширование)Рисунок 2.18 – Код stribog.cpp (хеширование)Рисунок 2.19 – Код stribog.cpp (хеширование)Рисунок 2.20 – Код stribog.cpp (хеширование)Рисунок 2.21 – Код stribog.cpp (хеширование)Рисунок 2.22 – Код stribog.cpp (хеширование)Рисунок 2.23 – Код stribog.cpp (хеширование)Код ecp.cpp (установка подписи, проверка) представлен на рисунках 2.24-2.26.Рисунок 2.24 – Код ecp.cpp (установка подписи, проверка)Рисунок 2.25 – Код ecp.cpp (установка подписи, проверка)Рисунок 2.25 – Код ecp.cpp (установка подписи, проверка)Рисунок 2.26 – Код ecp.cpp (установка подписи, проверка)Код main.cpp (вывод результата, тестирование) представлен на рисунках 2.27-2.30.Рисунок 2.27 – Код main.cpp (вывод результата, тестирование)Рисунок 2.28 – Код main.cpp (вывод результата, тестирование)Рисунок 2.29 – Код main.cpp (вывод результата, тестирование)Рисунок 2.30 – Код main.cpp (вывод результата, тестирование)Результат работы приложения и его тестирование представлен на рисунках 2.31-2.33.Рисунок 2.31 – Результат работы приложения и его тестированиеРисунок 2.32 – Результат работы приложения и его тестирование (ввод сообщения, файл input – входящее сообщение для постановки ЭЦП)Рисунок 2.33 – Результат работы приложения и его тестирование (постановка ЭЦП, файл output – искомая ЭЦП)2.3. Сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012В рамках темы работы было реализовано сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.В таблице 2.1 представлена сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012: оценивалось время постановки ЭЦП в зависимости от длины сообщения в байтах.Таблица 2.1 – Зависимость времени постановки ЭЦП от длины сообщения в байтах (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Длина текста, БайтGOST 34.11-1994, Время работы (100 повторов), сек.GOST 34.11-2012, Время работы (100 повторов), сек.320,51,5640,51,71280,72,225613,251225 На рисунке 2.34 представлена наглядная сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Рисунок 2.34 – Зависимость времени постановки ЭЦП от длины сообщения в байтах (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Также в рамках темы работы было реализовано сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012 (по точкам остановки в соответствующем программном коде) по таким этапам, как:Генерация ключей.Постановка подписи.Проверка подписи.В таблице 2.2 представлена сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012: оценивалось время генерации ключей, постановки ЭЦП, проверки ЭЦП.Таблица 2.2 – Время генерации ключей, постановки ЭЦП, проверки ЭЦП (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Длина текста, БайтGOST 34.11-1994, Время работы (100 повторов), сек.GOST 34.11-2012, Время работы (100 повторов), сек.Генерация ключей0,515,2Постановка ЭЦП0,77Проверка ЭЦП0,535,1 На рисунке 2.35 представлена наглядная сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Рисунок 2.35 – Время генерации ключей, постановки ЭЦП, проверки ЭЦП (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Также в рамках темы работы было реализовано сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012 (по точкам остановки в соответствующем программном коде) по таким показателям, как:Длина открытых ключей.Длина закрытых ключей.Длина функции хеширования, исходящего сообщения.В таблице 2.3 представлена сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012: оценивалась длина открытых ключей, длина закрытых ключей, длина функции хеширования, исходящего сообщения.Таблица 2.3 – Длина открытых ключей, длина закрытых ключей, длина функции хеширования, исходящего сообщения (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Длина, БайтGOST 34.11-1994, БайтGOST 34.11-2012, БайтОткрытые ключи1020Закрытые ключи816Функция хеширования, исходящее сообщение48 На рисунке 2.36 представлена наглядная сравнительная характеристика работы алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Рисунок 2.36 – Длина открытых ключей, длина закрытых ключей, длина функции хеширования, исходящего сообщения (алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012)Вывод: по таким показателям как, зависимость времени постановки ЭЦП от длины сообщения в байтах, время генерации ключей, время постановки ЭЦП, время проверки ЭЦП алгоритм хеширования по ГОСТ 34.11-1994 работает быстрее (но сравнительно не очень), чем алгоритм хеширования по ГОСТ 34.11-2012. Но с увеличением длины входящего сообщения растет и время генерации ключей, время постановки ЭЦП, время проверки ЭЦП.Также, как уже говорилось, В ГОСТ Р 34.11-2012 размер блоков сообщения, внутреннего состояния хеш-функции составляет 512 бит против 256 бит в ГОСТ Р 34.11-94. Новый стандарт определяет две функции хеширования с длинами хеш-кода 256 и 512 бит, в то время как в старом стандарте длина хеш-кода может быть только 256 бит. Поэтому длина открытых ключей, длина закрытых ключей, длина функции хеширования, исходящего сообщения по алгоритму хеширования по ГОСТ 34.11-1994 сравнительно меньше, чем по ГОСТ 34.11-2012.ЗаключениеТаким образом, основная цель курсовой работы выполнена – разработаны и реализованы алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Поставленные задачи работы выполнены:Изучены теоретические аспекты алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.Описан алгоритм хеширования по ГОСТ 34.11-1994.Описан алгоритм хеширования по ГОСТ 34.11-2012.Осуществлена практическая реализация алгоритма хеширования по ГОСТ 34.11-1994.Осуществлена практическая реализация алгоритма хеширования по ГОСТ 34.11-2012.Произведено сравнение реализации алгоритмов хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012.В результате работы был сделан вывод, что по таким показателям как, зависимость времени постановки ЭЦП от длины сообщения в байтах, время генерации ключей, время постановки ЭЦП, время проверки ЭЦП алгоритм хеширования по ГОСТ 34.11-1994 работает быстрее (но сравнительно не очень), чем алгоритм хеширования по ГОСТ 34.11-2012. Но с увеличением длины входящего сообщения растет и время генерации ключей, время постановки ЭЦП, время проверки ЭЦП.Также, как уже говорилось, В ГОСТ Р 34.11-2012 размер блоков сообщения, внутреннего состояния хеш-функции составляет 512 бит против 256 бит в ГОСТ Р 34.11-94. Новый стандарт определяет две функции хеширования с длинами хеш-кода 256 и 512 бит, в то время как в старом стандарте длина хеш-кода может быть только 256 бит. Поэтому длина открытых ключей, длина закрытых ключей, длина функции хеширования, исходящего сообщения по алгоритму хеширования по ГОСТ 34.11-1994 сравнительно меньше, чем по ГОСТ 34.11-2012.Список использованных источниковБоричев С.Г., Серов Р.Е. Основы современной криптографии. М., 2020.Варфоломеев А.А., Жуков А.Е., Пудовкина М.А. Поточные криптосистемы. Основные свойства и методы анализа стойкости. М.: ПАИМС, 2019.ГОСТ Р 34.11-94. [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/ГОСТ_Р_34.11-94. (Дата доступа: 07.06.2022).Дональд Кнут. Искусство программирования, том 3. Сортировка и поиск. М.: «Вильямс», 2019.Методы сортировки и поиска. [Электронный ресурс]. Режим доступа: http://citforum.ru/programming/theory/sorting/sorting2.shtml. (Дата доступа: 07.06.2022).Стрибог (хеш-функция). [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Стрибог_(хеш-функция). (Дата доступа: 07.06.2022).Хэш-функция ГОСТ 34.11-2012. [Электронный ресурс]. Режим доступа: http://huh-muh.blogspot.com/2013/11/3411-2012.html?m=1. (Дата доступа: 07.06.2022).
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Сделать чертеж для курсовой работы по расчетам в ней
Чертеж, Проектирование предприятий по производству кондитерских, сахаристых и шоколадных изделий
Срок сдачи к 22 янв.
Сравнительный анализ культур : Великобритания и Германия
Другое, межкультурная коммуникация
Срок сдачи к 22 янв.
Написать сочинение на 500 слов на белорусском языке с характеристикой...
Сочинение, Белорусский язык
Срок сдачи к 21 янв.
Дать название плоскости (hNf). Построить недостающие проекции точек A
Решение задач, Начертательная геометрия
Срок сдачи к 21 янв.
1. определить центр тяжести 2. определить моменты энерции
Решение задач, техническая механика
Срок сдачи к 21 янв.
ответы на индивидуальное задание
Отчет по практике, право и организация социального обеспечения
Срок сдачи к 3 февр.
Задача 1. Смирнов и Пенкина на железнодорожном вокзале в...
Решение задач, Основы противодействия экстремизму, терроризму и антикоррупционная политика Российской Федерации
Срок сдачи к 24 янв.
Дать характеристику (описание) строительному участку.
Решение задач, Архитектура
Срок сдачи к 25 янв.
Заполните форму и узнайте цену на индивидуальную работу!