Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 3.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
64.93 Кб
Скачать

14. Гост 28147-89

Отечественный стандарт шифрования данных ГОСТ 28147-89. Он явл-ся стандартом шифрования РФ. В ГОСТе существует несколько уровней.

Все алгоритмы верхнего уровня опираются на 3 алгоритма низшего уровня, которые наз-ся базовыми циклами.

Сущ-ет 3 цикла:

1) 32-З

2) 32-Р-расшифровка

3) Цикл выработки имитовставок 163.

В госте существует след. Ключевая инфа. Ключевая инфа состоит из 2-х структур данных: ключи и таблицы замен.

Ключ - это массив из 8-ми 30-ти битных элементов, представляющих собой целое число без знака.

Таблица замен это матрица размером 8х16

0 1 2 3…16 причем каждый элемент таблицы замен имеет 4 бита.

1

2

.

8

Любая строка таблицы замен представляет собой последовательность чисел от 0 до 15 в произвольном порядке (известном нам ). Строки нумеруются от 0 до 7, столбцы от 0 до 15.

В ГОСТе существуют различные режимы шифрования. Самый простой режим –простой замены. Есть режим гаммирования , есть режим гаммирования с обратной связью.

Рассмотрим режим простой замены.

Все базовые циклы опираются на основной шаг криптопреобразования. Он определяет преобразование 64-битового блока.

Дополнительным оператором явл-ся 32-битовый блок, в качестве которого используется канной-л элемент ключа.

Блок схема основного шага криптопреобразований.

Начало

1N,X

2S=(N2+X)mod 2^32

цикл

3Ni=0,7

4Sm=Hm,Sm

Конец цикла

5S=O11(S)

S6=S+N1

7N1=N2, N2=S

конец

На первом шаге вводятся 64-битный блок данных N и 32-битный ключ Х.

На втором шаге складываются по модулю 2^32 младшая часть данных с ключом.

Шаг 3 – цикл, который выпо-ся 8 раз.

Шаг 4 – замена данных. Для 8-ми ключей осущ-ся замена данных. 32-бит-е число S интегрируется как массив из 8-ми 4-х битных блоков. S=(S0,S1,S2…S7) S0-4 бита

Каждое из 8-ми полученных чисел заменяется на новое, получаемое из табл. замен .Замена проводится по формуле: Sm=Hm,Sm. Согласно этой формуле из табл. замен выбирается элемент номером строки, равным № заменяемого блока, и номером столбца, = значению заменяемого блока как 4-х битового целого неотрицательного числа.

Шаг 5 циклический сдвиг на 11 бит влево.

Шаг 6 Побитовое сложение по модулю 2 полученного значения со старшей частью N1 шифруемого текста.

Шаг 7 Сдвиг по цепочке. Младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.

Базовые циклы

32-З

Выполняется 32 раза основной шаг криптопреобразования с разными ключами К0,К1,К2,…К7, К0,К1,К2,…К7, К0,К1,…К7,К7,К6,…К1,К0.

32-Р

К0,К1,…К7, К7,…К1, К0, К7…К1,К0, К7…К1,К0.

Основные режимы шифрования в ГОСТе :

1)Простая замена

2)Гаммирование

3)Гаммирование с обратной связью.

Сущ-ют и дополнительные режимы выработки имитовставки.

В любом из этих режимов данные обрабатываются блоками по 64 бита, однако в 2-х режимах гаммирования есть возможность обработки блока размером < 8 байт.

Простая замена.

Зашифровывание в данном режиме заключается в применении цикла 32-З к блокам открытых данных. Расшиф-е-применение 32-Р к заш-м данным. Это простой режим. В нем 64-битные блоки обрабатываются независимо друг от друга. Поэтому при заш-нии двух одинаковых блоков открыт текста получается одинаковые блоки шифра текста и наоборот. Этот недостаток, для серьезного шифра недопустим. Если длинна шифрованного массива не кратна 64 битам, возникает проблема: чем и как дополнить последний блок данных до 64 бит.

Гаммирование.

Чтобы избавиться от недостатков режима простой замены, нужно рандомизировать процесс шифрования. В ГОСТе это достигается 2-мя различными способами в 2-х режимах шифр-я предусмотрено гаммирование.

Гаммирование – это наложение (снятие) на открытые (зашифро-е) данные криптографической гаммы.

Криптографическая гамма- это последовательность элементов данных, вырабатываемых с помощью некоторого криптографического алгоритма для получения заши-х данных.

Для наложения (снятия) гаммы должны использоваться взаимнообратные бинарные операции (сложение по модулю 2)

Гамма получается с помощью РГПЧ-рекурентного генератора последоват-и\ти чисел. С его пом-ю вараб-ся 64-битные блоки данных, которые подвергаются преобразованию по циклу 32-З, в результате получаются блоки гамма. РГПЧ, используемый для выработки гамма, является рекуррентной функцией причем неизбежно возникнет вопрос о его инициализации .Этот элемент называется синхропосылкой. Последовательность Эл-ов выраб-я РГПУ, целиком зависит от синхропосылки. Т.о. последовательность элементов гаммы в режиме гаммирования однозначно определяются ключевыми данными и синхропосылкой.Причем для шифрования 2-х различных массивов данных на одном ключе необх-мо использовать различные синхропосылки.

Рекуррентные соотношения Оi=1=(Оi +С1) mod 2^32, где С1=101010116

Оi(Оi^o,Оi^`)

Оi+1^`=(Оi^`+С2 -1 ) mod (2^32-1 ), где С2=101010416 С1,С2-константы.

Гаммирование с обратной связью.

Отличие от режима гаммирования очередной элемент гаммы вырабатывается как результат преобразования по циклу 32-З пред-го блока данных. Для заш-я первого блока массива данных элемент гаммы вырабатывается как рез-т преобразования по циклу 32-З предыдущего блока зашиф-х данных.Для зашиф-я 1-го блока массива данных элемент гаммы выраб-ся как рез-т преобр-я же циклу синхропосылки. Этим достигается зацеплением блоков.