logo
онацкий / Vados

2.4.1 Реализация электронной цифровой подписи на базе алгоритма гост

Алгоритм криптографического преобразования данных ГОСТ 28147-89 -является стандартом на криптографическую обработку. После создания он не публиковался, и был засекречен. Открыли его через пять лет после создания.

ГОСТявляется блочным симметричным шифром с длиной блока 64 бита. Базовый алгоритм ГОСТа используется в различных схемах:

Рисунок 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-х битовых величин.

Набор таблиц замены позволяет менять шифр не изменяя алгоритма шифрования и не ухудшая криптостойкости шифра.

Основной шаг применяется в различных режимах, различающихся порядком использования подключей, и числом повторений основного шага. Подключи используется в следующем порядке (ниже перечисляются их номера):

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

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

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 блоков считаются ложными.

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