Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Алгоритмы хеширования по ГОСТ 34.11-1994 и по ГОСТ 34.11-2012

Тип Курсовая
Предмет Программирование

ID (номер) заказа
4138152

500 руб.

Просмотров
1048
Размер файла
849.5 Кб
Поделиться

Ознакомительный фрагмент работы:

Введение   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 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
150199
рейтинг
icon
3155
работ сдано
icon
1367
отзывов
avatar
Математика
Физика
История
icon
145339
рейтинг
icon
5930
работ сдано
icon
2676
отзывов
avatar
Химия
Экономика
Биология
icon
101686
рейтинг
icon
2065
работ сдано
icon
1287
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
48 828 оценок star star star star star
среднее 4.9 из 5
УлГТУ
Спасибо большое за выполненую работу. Всё быстро, аккуратно и в срок. Рекомендую исполнителя)
star star star star star
Морской Государственный университет
Хорошая работа. Текст и оформление соответствуют требованиям. Быстро, качественно, проходи...
star star star star star
Ургэу
Оксана вы супер😍 спасибо большое вам за ваши старания и труды. Очень рекомендую исполнител...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

1.Контрольные работы. 2.Ответить на вопросы.

Контрольная, Информатика

Срок сдачи к 23 янв.

1 минуту назад

онлайн экзамен

Онлайн-помощь, уголовное право

Срок сдачи к 2 февр.

4 минуты назад

Составить ведомость трудоемкости

Другое, строительство

Срок сдачи к 27 янв.

10 минут назад

Сделать чертеж для курсовой работы по расчетам в ней

Чертеж, Проектирование предприятий по производству кондитерских, сахаристых и шоколадных изделий

Срок сдачи к 22 янв.

10 минут назад

Сравнительный анализ культур : Великобритания и Германия

Другое, межкультурная коммуникация

Срок сдачи к 22 янв.

12 минут назад
12 минут назад

Написать реферат и отчёт по реферату

Контрольная, Общая психология

Срок сдачи к 22 янв.

12 минут назад

Cитуация

Решение задач, Управление конфликтами

Срок сдачи к 27 янв.

12 минут назад

Техника и технологии рекламного видео

Тест дистанционно, реклама

Срок сдачи к 27 янв.

12 минут назад

Дать название плоскости (hNf). Построить недостающие проекции точек A

Решение задач, Начертательная геометрия

Срок сдачи к 21 янв.

12 минут назад

Внести изменения в чертеж. автокад. формат а-3 (м1:100).

Чертеж, Архитектура

Срок сдачи к 24 янв.

12 минут назад

1. определить центр тяжести 2. определить моменты энерции

Решение задач, техническая механика

Срок сдачи к 21 янв.

12 минут назад

ответы на индивидуальное задание

Отчет по практике, право и организация социального обеспечения

Срок сдачи к 3 февр.

12 минут назад

Реферат по предмету «Религия»

Реферат, Религия

Срок сдачи к 21 янв.

12 минут назад

Задача 1. Смирнов и Пенкина на железнодорожном вокзале в...

Решение задач, Основы противодействия экстремизму, терроризму и антикоррупционная политика Российской Федерации

Срок сдачи к 24 янв.

12 минут назад

Физическая культура для всех

Реферат, Физра

Срок сдачи к 1 февр.

12 минут назад

решение задач сопромат

Решение задач, Сопротивление материалов

Срок сдачи к 22 янв.

12 минут назад

Дать характеристику (описание) строительному участку.

Решение задач, Архитектура

Срок сдачи к 25 янв.

12 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно
    Введите ваш e-mail
    Файл с работой придёт вам на почту после оплаты заказа
    Успешно!
    Работа доступна для скачивания 🤗.