9.5.7. российский стандарт на шифрование информации гост 28147-89
9.5.7. российский стандарт на шифрование информации гост 28147-89
В Российской Федерации установлен государственный стандарт (ГОСТ 28147—89 [9]) на алгоритмы криптографического преобразования информации в ЭВМ, вычислительных комплексах и вычислительных сетях. Эти алгоритмы допускается использовать без ограничений для шифрования информации любого уровня секретности. Алгоритмы могут быть реализованы аппаратными и программными способами.
Стандартом определены следующие алгоритмы криптографического преобразования информации:
* простая замена;
* гаммирование;
* гаммирование с обратной связью;
* выработка имитовставки.
Общим для всех алгоритмов шифрования является использование ключа размерностью 256 бит, разделенного на восемь 32-разрядных двоичных слов, и разделение исходной шифруемой двоичной последовательности на блоки по 64 бита.
Сущность алгоритма простой замены состоит в следующем. Блок из 64-х бит исходной последовательности разбивается на два двоичных слова А и В по 32 разряда. Слово А образуют младшие биты, а слово В старшие биты блока. Эти слова подвергаются итерационной обработке с числом итераций равным i=32. Слово, находящееся на месте младших бит блока, (А на первой итерации) суммируется по mod 232 с 32-разрядным словом ключа; разбивается на части по 4 бита в каждой (4-х разрядные входные векторы); с помощью специальных узлов замены каждый вектор заменятся на другой вектор (4 бита); полученные векторы объединяются в 32-разрядное слово, которое циклически сдвигается влево на 32 разряда и суммируется по mod 2 с другим 32-разрядным словом из 64-разрядного блока (слово В на первой итерации).
После выполнения первой итерации в блоке на месте младших бит будет расположено слово В, а слева преобразованное слово А.
На следующих итерациях операции над словами повторяются.
На каждой итерации i 32-разрядное слово ключа j (всего их 8) выбирается по следующему правилу:
Блок замены состоит из 8 узлов замены, которые выбираются поочередно. Узел замены представляет собой таблицу из шестнадцати строк, в каждой из которых находятся векторы замены (4 бита). Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором замены. Информация в таблицы замены заносится заранее и изменяется редко.
Алгоритм гаммирования предусматривает сложение по mod 2 исходной последовательности бит с последовательностью бит гаммы. Гамма получается в соответствии с алгоритмом простой замены. При выработке гаммы используются две специальные константы, заданные в ГОСТ 28147-89, а также 64-разрядная двоичная последовательность синхропосылка. Расшифрование информации возможно только при наличии синхропосылки, которая не является секретной и может в открытом виде храниться в памяти ЭВМ или передаваться по каналам связи.
Алгоритм гаммирования с обратной связью очень схож с алгоритмом гаммирования. Они различаются лишь действиями на первом шаге итерационного процесса шифрования.
В ГОСТ 28147-89 определен алгоритм выработки имито-вставки. Она используется для защиты от навязывания ложной информации. Имитовставка является функцией преобразования исходной информации и секретного ключа. Она представляет собой двоичную последовательность длиной к бит. Значение параметра к выбирается с учетом вероятности навязывания ложной информации Рн, которая связана с параметром к соотношением:
Рн =1/2к.
Алгоритм выработки имитовставки может быть представлен следующей последовательностью действий. Открытая информация разбивается на блоки T(i) (i = 1, 2,...,т), где т определяется объемом шифруемой информации. Объем каждого блока 64 бита. Первый блок Т(1) подвергается преобразованию в соответствии с первыми 16-ю итерациями алгоритма простой замены. В качестве ключа используется ключ, по которому будет шифроваться исходная информация. Полученное 64-битовое двоичное слово суммируется по mod 2 со вторым блоком Т(2). Результат суммирования подвергается тем же итерационным преобразованиям, что и блок Т(1), а на завершающем этапе суммируется по mod 2 с третьим блоком Т(3). Эти действия повторяются для т-1 блоков исходной информации. Если последний блок Т(т) не полный, то он дополняется соответствующим числом нулей до 64 разрядов. Этот блок суммируется по mod 2 с результатом, полученным при обработке Т(т-1) блока, и подвергается преобразованию в соответствии с первыми 16-ю итерациями алгоритма простой замены. Из полученного 64-разрядного блока выделяется слово длиной к бит, которое и является имитовставкой.
Имитовставка помещается в конце зашифрованной информации. При получении (считывании) этой информации осуществляется ее расшифрование. По расшифрованной информации определяется Имитовставка и сравнивается с полученной (считанной) имитовставкой. Если имитовставки не совпадают, то считается, что вся расшифрованная информация является ложной.
9.5.2. Стандарт США на шифрование информации
Обсуждение Комплексная защита информации в компьютерных системах
Комментарии, рецензии и отзывы