2.4.1 Реализация электронной цифровой подписи на базе алгоритма гост
Алгоритм криптографического преобразования данных ГОСТ 28147-89 -является стандартом на криптографическую обработку. После создания он не публиковался, и был засекречен. Открыли его через пять лет после создания.
ГОСТявляется блочным симметричным шифром с длиной блока 64 бита. Базовый алгоритм ГОСТа используется в различных схемах:
простая замена
гаммирование
шифрование с обратной связью
выработка иммитоприставки (иммитоприставкой является выход алгоритма E схеме шифрования с обратной связью).
Рисунок 2.5 Базовый шаг алгоритма ГОСТ 28147-89
Ключ состоит из 256 битов и делится на 8 равных частей по 32 бита, которые называются подключами K[i], таблица замен – таблица 8x16 4-х битовых элементовS[i,j], i<8, j<16).
На входе -- две цепочки по 32 бита
где
K[i] – подключ номер i;
ROL-11 – циклический сдвиг на 11 бит влево;
S[j] – таблицы замены 4-х битовых величин.
Набор таблиц замены позволяет менять шифр не изменяя алгоритма шифрования и не ухудшая криптостойкости шифра.
Основной шаг применяется в различных режимах, различающихся порядком использования подключей, и числом повторений основного шага. Подключи используется в следующем порядке (ниже перечисляются их номера):
для шифрования (основной шаг выполняется 32 раза)
0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-7-6-5-4-3-2-1-0
для расшифрования (тоже 32 раза) только в режиме простой замены
0-1-2-3-4-5-6-7-7-6-5-4-3-2-1-0-7-6-5-4-3-2-1-0-7-6-5-4-3-2-1-0
для выработки имитоприставки (16 раз)
0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7
Вкратце, о схемах использованияГОСТ.
Режим Простой замены является наиболее примитивным.
В режиме Гаммирования предусмотрено дополнительное преобразование гаммы перед каждым применением:
G1 := (G1 + C1) mod 232, (2.4)
G2 := (G2 + C2) mod (232 - 1); (2.5)
где:
G1, G2 –две 32-х битовых половины гаммы, С1=01010101h, C2=01010104h.
Режим шифрования с обратной связью полностью совпадает со схемой шифрования с обратной связью из общего описания блочных шифров. Выработка цифровой сигнатуры происходит по той же схеме, но результатом является не зашифрованный текст, а значение гаммы шифра, получившееся после обработки всего текста (обычно используются только младшие 32 бита гаммы).
Электронная цифровая подпись (ЭЦП) необходима для защиты от подделок и сохранения целостности электронного документа, защиты авторских прав (подтверждение авторских прав) и является неотъемлемым атрибутом любого электронного документа. ЭЦП делается в виде специально закодированной строки при помощи новейших технических средств По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП.
Поскольку подписываемые документы — переменного (и как правило достаточно большого) объёма, в схемах ЭП зачастую подпись ставится не на сам документ, а на его хеш. Для вычисления хэша используются криптографические хеш-функции, что гарантирует выявление изменений документа при проверке подписи. Хеш-функции не являются частью алгоритма ЭП, поэтому в схеме может быть использована любая надёжная хеш-функция.
Имитовста́вка — средство обеспечения имитозащиты в протоколах аутентификации сообщений с доверяющими друг другу участниками — специальный набор символов, который добавляется к сообщению и предназначен для обеспечения его целостности и аутентификации источника данных.
Имитовста́вка обычно применяется для обеспечения целостности и защиты от фальсификации передаваемой информации.
Для проверки целостности (но не аутентичности) сообщения на отправляющей стороне к сообщению добавляется значение хеш-функции от этого сообщения, на приемной стороне также вырабатывается хеш от полученного сообщения. Выработанный на приёмной стороне и полученный хеш сравниваются, если они равны то считается, что полученное сообщение дошло без изменений.
Для защиты от фальсификации (имитации) сообщения применяется имитовставка, выработанная с использованием секретного элемента (ключа), известного только отправителю и получателю.
Режим выработки имитовставки не является в общепринятом смысле режимом шифрования. При работе в режиме выработки имитовставки создается некоторый дополнительный блок, зависящий от всего текста и ключевых данных. Данный блок используется для проверки того, что в шифротекст случайно или преднамеренно не были внесены искажения. Это особенно важно для шифрования в режиме гаммирования, где злоумышленник может изменить конкретные биты, даже не зная ключа; однако и при работе в других режимах вероятные искажения нельзя обнаружить, если в передаваемых данных нет избыточной информации.
Имитовставка вырабатывается для M ≥ 2 блоков открытого текста по 64 бит. Алгоритм следующий:
Блок открытых данных записывается в регистры N1 и N2, после чего подвергается преобразованию, соответствующему первым 16 циклам шифрования в режиме простой замены
К полученному результату побитово по модулю 2 прибавляется следующий блок открытых данных. Последний блок при необходимости дополняется нулями. Сумма также шифруется в соответствии с пунктом 1.
После добавления и шифрования последнего блока из результата выбирается имитовставка длиной L бит: с бита номер 32-L до 32(отсчет начинается с 1). Стандарт рекомендует выбирать L исходя из того, что вероятность навязывания ложных данных равна 2-L. Имитовставка передается по каналу связи после зашифрованных блоков.
Для проверки принимающая сторона после расшифрования текста проводит аналогичную описанной процедуру. В случае несовпадения результата с переданной имитовставкой все соответствующие M блоков считаются ложными.
Следует отметить, что выработка имитовставки может проводиться параллельно шифрованию с использованием одного из описанных выше режимов работы
- Министерство образования и науки, молодёжи и спорта украины
- 1.2 Матрица информационной безопасности
- 1.4 Оценка качества системы защиты информации на основе анализа профиля безопасности
- 2.1 Структура банковской платежной системы
- 2.2 Вопросы оценки эффективности проектирования систем защиты
- 2.4 Описание компонентов
- 2.4.1 Реализация электронной цифровой подписи на базе алгоритма гост
- 2.4.2 Реализация хеш-функции на примере алгоритма md4