28529

Режим простая замена ГОСТ 28147–89

Доклад

Информатика, кибернетика и программирование

Зашифрование в данном режиме заключается в применении цикла 32З к блокам открытых данных расшифрование цикла 32Р к блокам зашифрованных данных. Это наиболее простой из режимов а 64битовые блоки данных обрабатываются в нем независимо друг от друга. Размер массива открытых или зашифрованных данных подвергающихся соответственно зашифрованию или расшифрованию должен быть кратен 64 битам: Tо = Tш = 64n; после выполнения операции размер полученного массива данных не изменяется. Блок данных определенной размерности в нашем случае 4бит...

Русский

2013-08-20

20.97 KB

22 чел.

24 Режим простая замена ГОСТ 28147–89

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

– для раундов с 1-го по 24-й (r– номер раунда, а % – операция вычисления остатка от деления), т. е. и т. д.;

– для раундов с 25-го по 32-й, т. е. в обратном порядке: .

Для расшифрования информации в режиме простой замены также выполняются 32 раунда основного преобразования, но с использованием подключей по другой схеме: в прямом порядке в раундах с 1-го по 8-й; в обратном порядке в последующих раундах. Зашифрование в данном режиме заключается в применении цикла 32-З к блокам открытых данных, расшифрование – цикла 32-Р к блокам зашифрованных данных. Это наиболее простой из режимов, а 64-битовые блоки данных обрабатываются в нем независимо друг от друга. Схемы алгоритмов зашифрования и расшифрования в режиме простой замены – тривиальны и не нуждаются в комментариях.

Размер массива открытых или зашифрованных данных, подвергающихся соответственно зашифрованию или расшифрованию, должен быть кратен 64 битам: |Tо| = |Tш| = 64·n; после выполнения операции размер полученного массива данных не изменяется.

Табличные замены (Substitution box – S-box) часто используются в современных алгоритмах шифрования, поэтому стоит пояснить, как организуется подобная операция. В таблицу записываются выходные значения блоков. Блок данных определенной размерности (в нашем случае – 4-бит) имеет свое числовое представление, которое определяет номер выходного значения. Например, если S-box имеет вид 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 и на вход пришел 4-бит блок «0100» (значение 4), то, согласно таблице, выходное значение будет равно 15, т. е. «1111» (0 а 4, 1 а 11, 2 а 2 ...).

Режим шифрования простой заменой имеет следующие особенности:

  1.  Так как блоки данных шифруются независимо друг от друга и от их позиции в массиве, при зашифровании двух одинаковых блоков открытого текста получаются одинаковые блоки шифртекста и наоборот. Отмеченное свойство позволит криптоаналитику сделать заключение о тождественности блоков исходных данных, если в массиве зашифрованных данных ему встретились идентичные блоки, что является недопустимым для серьезного шифра.
  2.  Если длина шифруемого массива данных не кратна 8 байтам или 64 битам, то возникает проблема: чем и как дополнять последний неполный блок данных массива до полных 64 бит. Эта задача не так проста, как кажется на первый взгляд. Очевидные решения типа «дополнить неполный блок нулевыми битами» или, в более общем виде, «дополнить неполный блок фиксированной комбинацией нулевых и единичных битов» могут при определенных условиях дать в руки криптоаналитика возможность методами перебора определить содержимое этого самого неполного блока, и этот факт означает снижение стойкости шифра. Кроме того, при таком подходе изменится длина шифртекста, увеличившись до ближайшего целого, кратного 64 битам, что часто бывает нежелательным.

На первый взгляд перечисленные выше особенности делают практически невозможным использование режима простой замены, ведь он может применяться только для шифрования массивов данных с размером, кратным 64 битам, не содержащим повторяющихся 64-битовых блоков. Кажется, что для любых реальных данных гарантировать выполнение указанных условий невозможно. Это почти так, но есть одно очень важное исключение: вспомните, что размер ключа составляет 32 байта, а размер таблицы замен – 64 байта. Кроме того, наличие повторяющихся 8-байтовых блоков в ключе или таблице замен будет говорить об их весьма плохом качестве, поэтому в реальных ключевых элементах такого повторения быть не может.

Таким образом, режим простой замены вполне подходит для шифрования ключевой информации, тем более, что прочие режимы для этой цели менее удобны, поскольку требуют наличия дополнительного синхронизирующего элемента данных – синхропосылки (см. далее). Действительно, ГОСТ предписывает использовать режим простой замены исключительно для шифрования ключевых данных.


 

А также другие работы, которые могут Вас заинтересовать

4820. Исследование и анализ режимов работы источника постоянной ЭДС 131.5 KB
  Исследование и анализ режимов работы источника постоянной ЭДС Цель работы. Изучение и анализ различных режимов работы источника электродвижущей силы (источника ЭДС) Основы теории. Системы электроизмерительных приборов. Приборы магн...
4821. Геометрия Лобачевского. Геометрия кривых поверхностей 31.5 KB
  Геометрия Лобачевского. Н.И. Лобачевскийв 1826г. впервые построил и развил одну из возможных геометрий, где аксиома (А) не имеет места. Геометрия Лобачевского основывается на тех же аксиомах, что и евклидова геометрия, за исключением аксиомы о парал...
4822. Основные понятия и принципы системы Delphi 454 KB
  Основные понятия и принципы системы Delphi. Цель: Дать студентам общие сведения об объектно-ориентированном языке программирования Delphi. План занятия. Организационный момент. Изучение нового материала. Контрольные вопросы. ...
4823. Основы программирования на языке Turbo Pascal 246 KB
  Основы программирования Цель: Дать студентам основы программирования. Задачи: Воспитательная: повторение уже изученного языка программирования TurboPascal. Учебная: научить правильно применять константы и переменные. Развивающая: развитие вним...
4824. Создание первой программы на языке Turbo Pascal 184 KB
  Создание первой программы. Цель: Показать студентам пример создания программы. Задачи: Воспитательная: повторение уже изученного языка программирования TurboPascal. Учебная: научить создавать программы. Развивающая: развитие внимательности. Пл...
4825. Создание первой программы в языке Turbo Pascal 94.5 KB
  Создание первой программы. Цель: Показать студентам управление программой при помощи меню. Задачи: Воспитательная: повторение уже изученного языка программирования TurboPascal. Учебная: научить создавать программы. Развивающая: развитие внимат...
4826. Отладка программ на языке Pascal 185 KB
  Отладка программ Цель: Дать студентам понятие ошибки, причины их возникновения. Задачи: Воспитательная: любая программа несовершенна, всегда находятся ошибки, исправить которые требует время. Учебная: обнаруживать ошибки и вовремя исправлять их. Раз...
4827. Управляющие структуры Object Pascal 273.5 KB
  Управляющие структуры ObjectPascal. Цель: Повторение со студентами управляющих структур Pascal. Задачи: Воспитательная: необходимость повторения. Учебная: повторение управляющих структур и их применение в среде разработки ObjectPascal. Р...
4828. Символы и строки в среде разработки Object Pascal 80 KB
  Символы и строки. Цель: Повторение со студентами записи символов и строк. Задачи: Воспитательная: необходимость повторения. Учебная: повторение записи символов и строк в среде разработки ObjectPascal. Развивающая: развитие внимательности. План...