КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Краткое описание алгоритмаОтечественный алгоритм шифрования ГОСТ 28147-89 определен в стандарте [14]. Алгоритм шифрует данные 64-битными блоками с использованием 256-битного ключа шифрования. Выполняется 32 раунда преобразований, в каждом из которых предусмотрены следующие операции (см. рис. 1): Рис 1. Раунд алгоритма ГОСТ 28147-89. 1. Один из 32-битных субблоков данных складывается с 32-битным значением ключа раунда Ki по модулю 232. 2. Результат предыдущей операции разбивается на 8 фрагментов по 4 бита, которые параллельно «прогоняются» через 8 таблиц замен S1…S8. Таблицы замен в стандарте [14] не определены. Примеры возможных таблиц замен можно найти, например, в [17] или [18]. 3. 4-битные фрагменты (после замен) объединяются обратно в 32-битный субблок, значение которого циклически сдвигается влево на 11 бит. 4. Обработанный предыдущими операциями субблок накладывается на необработанный с помощью побитовой логической операции «исключающее или» (XOR). 5. Субблоки меняются местами. Процедура расширения ключа в алгоритме ГОСТ 28147-89, фактически, отсутствует: в раундах шифрования последовательно используются 32-битные фрагменты K1…K8 исходного 256-битного ключа шифрования в следующем порядке: K1, K2, K3, K4, K5, K6, K7, K8, – за исключением последних 8 раундов – в раундах с 25-го по 31-й фрагменты используются в обратном порядке. Расшифрование полностью аналогично зашифрованию, но с другим порядком использования фрагментов ключа: - в прямом порядке – в первых 8 раундах; - в остальных раундах – в обратном порядке. Стандарт [14] также предусматривает и описывает различные режимы применения алгоритма: - описанный выше режим простой замены; - режимы гаммирования и гаммирования с обратной связью, предусматривающие вычисление с помощью описанных выше преобразований псевдослучайной последовательности – гаммы шифра – и ее наложение на шифруемый текст; - режим вычисления имитовставки – криптографической контрольной суммы, используемой для подтверждения целостности данных; в данном режиме выполняется 16 раундов преобразований вместо 32-х. Алгоритм ГОСТ 28147-89 можно использовать и в различных общеупотребительных режимах шифрования (предусмотренных стандартом [4]). Кроме того, на основе данного алгоритма построен отечественный стандарт хэширования ГОСТ Р 34.11-94 [15].Как видно из описания, алгоритм ГОСТ 28147-89 является весьма простым в реализации, что является его несомненным достоинством. Основные свойства сообщения, обеспечиваемые криптографической защитой: - конфиденциальность – невозможность ознакомления с сообщением посторонних лиц; - аутентичность – включает в себя аутентичность отправителя, целостность сообщения и невозможность отрицания авторства. Проверка целостности сообщения гарантирует невозможность его модификации из-за подмены злоумышленником или случайного искажения. Защитить передаваемую информацию можно путём добавления к ней некоторого контрольного поля - контрольной суммы. В зависимости от того, на основе какой информации и по каким правилам вырабатывается эта сумма, различают алгоритмы вычисления хеш-функций, имитовставки и электронной цифровой подписи (ЭЦП). Режим выработки имитовставки. Для имитозащиты шифруемых данных состоящих из 64-разрядных блоков, где формируется имитовставка . Криптосхема, реализующая алгоритм выработки имитовставки, представлена на рис. 1. Первый блок разделяется на левый и правый полублоки и :
которые зашифровываются в режиме простой замены в течение первых 16 циклов шифрования, образуя первый блок кэш-кода открытых данных:
Порядок использования ключей соответствует (4.38). Оперативный и долговременный ключи для имитозащиты данных используются такие же, как и для их шифрования. Сформированный первый блок кэш-кода переписывается в регистр последовательного сдвига и побитно складывается по модулю 2 в сумматоре со вторым блоком открытых данных с образованием полублоков и :
Полублоки и в соответствии с (4.37) используются для формирования второго блока кэш-кода, который складывается с третьим блоком открытых данных, и описание действия итеративно выполняются до тех пор, пока не будет обработан последний блок открытых данных. Если последний блок является неполным, он дополняется нулевыми символами до стандартной длины 64 разряда. В общем виде процесс выработки имитовставки описывается в виде:
В качестве используются первые бит правого полублока кэш-кода открытых данных Длина имитовставки определяется требованиями по имитозащищенности связи. Выработка имитовставки происходит следующим образом. 1.Сообщение (открытый текст представлено М блоках). 2. Первый блок открытого текста подаётся в накопители в N1, N2. Зашифровывается в 16 циклов ( а стандартный 32 цикла зашифровывает) режим постой замены. После этого полученный шифр подаётся на сумматор СМ5 и складывается со вторыми блоками открытого текста на сумматоре СМ5 и полученное значение заполняет в блоки N1 и N2 и зашифровывается в 16 циклов режима простой замены и складывается с 3 блоками открытого текста и т.д. 3. N-ый блок открытого текста складывается на СМ5 с тем что, получилось после зашифрования и суммирования на СМ5, предыдущего блока открытого текста. Полученное 64 битовое значение после прохождения всех Т блоков, содержит информацию обо всём сообщении, из этого блока вырезаются R биты, которые представляют собой имитовставку Ир Зашифрованное сообщение передаётся получателю вместе с имитовставкой, получатель из полученного зашифрованного сообщения путём расшифрования получает открытый текст. Из этого открытого текста, получатель формирует имитовставку Ир, как и отправитель. Контроль целостности осуществляется путём сравнения Ир и И`р , если Ир= И`р – значит сообщение не потеряло свою целостность. Сформированная имитовставка передается по каналу связи или в память ЭВМ после зашифрованных данных. Стандарт определяет, что имитозащита данных реализуется для всех режимов их шифрования.
Стандарт допускает в первых блоках данных, участвующих в формировании имитовставки, размещать служебную информацию (адрес сообщения, метку времени, синхропосылку и др.), которая может не шифроваться. При высоких требованиях к имитозащищенности метка времени обязательно должна присутствовать в передаваемой информации. Криптосхема, реализующая алгоритм проверки имитовставки, аналогична криптосхеме ее выработки. Принятые блоки криптограммы расшифровываются, и идентично описанному ранее процессу формирования имитовставки из расшифрованных блоков заново формируется имитовставка, которая сравнивается с принятой имитовставкой. При их несовпадении принятые данные считаются ложными. Режим выработки имитовставки по ГОСТ 28147-89 является реализацией режима сцепления блоков шифра. Данный режим описывается криптографической хэш-функцией с секретным ключом и обладает всеми ее свойствами. Данный режим должен использоваться для обеспечения имитозащищенности связи в условиях, когда исключена возможность ввода ложной информации со стороны законных пользователей шифрованной связи.
|