69884

СТАНДАРТ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ

Лабораторная работа

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

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

Русский

2014-10-12

309 KB

0 чел.

PAGE  5

Лабораторная работа № 7

Тема: СТАНДАРТ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ

ГОСТ 28147-89

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

Общие сведения.

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

ГОСТ 28147-89 – блочный шифр, который шифрует открытый текст, разбитый на блоки по 64 бита (на выходе также блоки по 64 бита) за 32 цикла преобразований (раундов) с помощью ключа длиной 256 битов. Мощность множества открытых ключей ГОСТ равна .

Алгоритм шифрования ГОСТ 28147-89 построен с использованием сети Фейстеля.

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

1) режим простой замены;

2) режим гаммирования;

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

Кроме того, предусмотрен дополнительный

4) режим выработки имитовставки.

Все они основываются на трёх базовых циклах, обозначаемых «32-З», «32-Р» и «16-З». Базовые циклы, по сути, являются многократным повторением процедуры, называемой основным шагом криптопреобразования. В их обозначении число (32 или 16) указывает на число повторений основного шага, буква (З или Р) указывает на разновидность порядка использования элементов ключа.

Существуют два типа ключей: долговременный  и сеансовый  размером 512 и 256 битов соответственно. Таблица замены является матрицей 8х16 из 4-битовых элементов. Каждая строка таблицы  содержит различные значения и представляет собой перестановку множества . Ключ  реализует потетрадную замену 32-разрядных подблоков в 32-х разрядные. В стандарте долговременный ключ  называется блоком подстановки, а подключи  – узлами замен.

Сеансовый ключ  состоит из восьми 32-разрядных подключей , каждый из которых в соответствующий момент используется для суммирования с некоторым блоком по модулю 2.

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

64-битовый блок данных сначала разбивается на левую и правую половины  и . В -м цикле алгоритм ГОСТ 28147-89 выглядит так:

;

.

Функция вычисляется так:

32-битовый входной подблок  и 32-битовый элемент ключа складываются по модулю . Результат разбивается на 8 4-битових последовательностей (тетрад), каждая из которых поступает на вход своего узла  , таблицы замен. Узел  является таблицей замены для -й (слева) тетрады, т.е. состоит из 16 тетрад. Каждая тетрада заменяется на значение ячейки таблицы замен из строки с номером, равным номеру 4-битового блока, и столбца с номером, равным значению 4-битового блока (счёт с 0). Фактически, узлы таблицы замены являются дополнительным ключевым материалом, но чаще они являются параметром схемы, общим для определённой группы пользователей. В тексте стандарта указывается, что заполнение узлов замены проводится в установленном порядке, т.е. разработчиком алгоритма.

Сеансовый ключ  состоит из конкатенации восьми 32-х разрядных подключей , каждый из которых в соответствующий момент складывается с некоторым подблоком по модулю  (операция +).

Выходы всех восьми узлов замены объединяются в 32-битовое слово, потом все слово циклически сдвигается влево на 11 битов в сторону старших разрядов. Далее оно поразрядно складывается по модулю 2 со второй частью входного 64-битового блока. Затем полученное значение ставится на место второй части 64-битового блока, а вторая часть — на место первой. Полученный блок возвращается в качестве результата.

Основной шаг криптопреобразования алгоритма ГОСТ 28147-89 показан на рис. 1:

Рис.1. Основной шаг криптопреобразования алгоритма ГОСТ 28147-89 

Зашифрование блока открытого текста алгоритмом ГОСТ 28147-89 производится за 32 цикла. На каждом цикле происходит преобразование входной комбинации в выходную. Шифртекстом является результат работы (выход) тридцать второго цикла, подвергнутый очень простому дополнительному преобразованию.

Режимы работы ГОСТ 28147-89:

Режим простой замены принимает на вход данные, размер которых кратен 64-м битам. Результатом шифрования является входной текст, преобразованный блоками по 64 бита в случае зашифрования циклом «32-З», а в случае расшифрования — циклом «32-Р».

На каждом цикле происходит преобразование входной комбинации в выходную. Шифртекстом является результат работы (выход) тридцать второго цикла, подвергнутый очень простому дополнительному преобразованию.

Процесс зашифрования в режиме простой замены, который обозначим через , можно представить в виде последовательности 34 блоков , где  и .

Здесь  – результат работы цикла номер 0,  – результат работы цикла номер 1 и так далее,  – результат работы цикла номер 31. Дополнительное преобразование меняет порядок следования блоков: .

На цикле с номером  используется подключ . Последовательность выбора подключей, от начального и до последнего цикла, при зашифровании следующая:

.

При расшифровании используется обратный порядок следования подключей.

Режим гаммирования принимает на вход данные любого размера, а также дополнительный параметр — синхропосылку. Синхропосылка – несекретный псевдослучайный 64-битовый блок. Синхропосылка вырабатывается на каждое сообщение и размещается в криптограмме перед шифрованным текстом. В ходе работы синхропосылка преобразуется в цикле «32-З», результат делится на две части. Первая часть складывается по модулю  с постоянным значением 1010101016. Если вторая часть равна , то её значение не меняется, иначе она складывается по модулю  с постоянным значением 1010104016. Полученное объединением обеих преобразованных частей значение, называемое гаммой шифра, поступает в цикл «32-З», его результат поразрядно складывается по модулю 2 с 64-разрядным блоком входных данных. Если последний меньше 64-х разрядов, то лишние разряды полученного значения отбрасываются. Полученное значение подаётся на выход. Если ещё имеются входящие данные, то действие повторяется: составленный из 32-разрядных частей блок преобразуется по частям и так далее.

Режим гаммирования с обратной связью также принимает на вход данные любого размера и синхропосылку. Блок входных данных поразрядно складывается по модулю 2 с результатом преобразования в цикле «32-З» синхропосылки. Полученное значение подаётся на выход. Значение синхропосылки заменяется в случае зашифрования выходным блоком, а в случае расшифрования — входным, т. е. зашифрованным. Если последний блок входящих данных меньше 64 разрядов, то лишние разряды гаммы (выхода цикла «32-З») отбрасываются. Если ещё имеются входящие данные, то действие повторяется: из результата зашифрования заменённого значения образуется гамма шифра и т.д.

В режиме гаммирования с обратной связью , ,  – комбинация открытого текста.

Режим выработки имитовставки принимает на вход данные, размер которых составляет не меньше двух полных 64-разрядных блоков, а возвращает 64-разрядный блок данных, называемый имитовставкой. Временное 64-битовое значение устанавливается в 0, далее, пока имеются входные данные, оно поразрядно складывается по модулю 2 с результатом выполнения цикла «16-З», на вход которого подаётся блок входных данных. После окончания входных данных временное значение возвращается как результат.

Порядок выполнения работы.

  1.  Изучите общие сведения о Стандарте криптографического преобразования ГОСТ 28147-89.
  2.  Для представленных ниже блока подстановки  и сеансового ключа , зашифровать блок

а) в режиме простой замены алгоритма ГОСТ 28147-89 с количеством циклов .

б) в режиме гаммирования с использованием синхропосылки .

0

A

1

E

7

0

B

9

A

1

1

E

7

0

B

9

A

A

2

E

7

0

B

9

A

A

1

3

7

0

B

9

A

A

1

E

4

0

B

9

A

A

1

E

7

5

B

9

A

A

1

E

7

0

6

9

A

A

1

E

7

0

B

7

A

A

1

E

7

0

B

9

8

A

1

E

7

0

B

9

A

9

1

E

7

0

B

9

A

A

10

E

7

0

B

9

A

A

1

11

7

0

B

9

A

A

1

E

12

0

B

9

A

A

1

E

7

13

B

9

A

A

1

E

7

0

14

9

A

A

1

E

7

0

B

15

A

A

1

E

7

0

B

9

1

10000001

80000001

80000002

80000004

80000008

80000010

80000020

80000040

2

80000080

80000800

80008000

800000008

80080000

80800000

80000000

00000080

B

1

0000000010000002

2

0000000120000000

3

0000001000010000

4

0000010010000000

5

0000100000000008

6

0001000020000000

7

0010000040000000

8

0100000000000008

9

1000000000010000

10

0000000800010000

11

0000008080000000

12

0000080000000008

13

0000800000010000

14

0008000000010000

15

0080000000010000

16

0800000010000000

17

8000000100000000

18

0000000100080000

19

0000000040000001

0000000210000000

20

0000004000010000

21

0000010020000000

22

0000100000000002

23

0004000020000000

24

0040000010000000

25

0100000000000004

1

FFFFFFFF00000000

2

FFFFFFF010000000

3

FFFFFF0F20000000

4

FFFFF0FF30000000

5

FFFF0FFF40000000

6

FFF0FFFF50000000

7

FF0FFFFF60000000

8

F0FFFFFF70000000

9

0FFFFFFF80000000

10

FFFFFF0090000000

11

FFFFF00FA0000000

12

FFFF00FFB0000000

13

FFF00FFFC0000000

14

FF00FFFFD0000000

15

F00FFFFFE0000000

16

00FFFFFFF0000000

17

ЕЕЕЕЕЕЕЕ00000000

18

ЕЕЕЕЕЕЕ010000000

19

ЕЕЕЕЕЕ0Е20000000

20

ЕЕЕЕЕ0ЕЕ30000000

21

ЕЕЕЕ0ЕЕЕ40000000

22

ЕЕЕ0ЕЕЕЕ50000000

23

ЕЕ0ЕЕЕЕЕ60000000

24

Е0ЕЕЕЕЕЕ70000000

25

0ЕЕЕЕЕЕЕ80000000

Примечание. Данные заданы в шестнадцатеричной системе счисления.

  1.  Составьте отчет, приобщив полученные результаты.

Требования к отчету.

В отчете должны быть приведены:

криптографическая схема алгоритма ГОСТ для режима простой замены;

сеансовый ключ;

открытый блок сообщения;

зашифрованный блок сообщения (в двоичном представлении);

промежуточные результаты процесса зашифрования (в двоичном представлении).


 

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

5273. Коммерческие банки 52.58 KB
  Коммерческие банки Коммерческий банк: сущность, функции, классификация Типовая структура коммерческих банков Операции коммерческого банка. Введение Итак, банк — это предприятие, но предприятие особого рода. Если в деятельности...
5275. Банковская система России 438 KB
  Банковская система России Этапы реформирования банковской системы России Тенденции и проблемы развития банковской системы России Структура современной банковской системы России Вопрос 1. Этапы реформирования банковской системы Росс...
5276. Структура современной экономики США. Роль государства в экономике 78 KB
  Введение Экономика США — крупнейшая и одна из наиболее диверсифицированных национальных экономик мира, она также является локомотивом мировой экономики. Несмотря на общий для всех рыночных экономик механизм функционирования, основанный на домин...
5277. Банковская система 141 KB
  Банковская система Понятие и структура кредитной системы Банковская система: понятие, виды, структура, уровни, элементы. Характеристика элементов банковской системы Вопрос 1. Понятие и структура кредитной системы Выделяют два основ...
5278. Лесопиление. Окорка, пилорама с брусовкой 241.29 KB
  Введение. По объему выпускаемой продукции лесопромышленный комплекс в структуре промышленного производства России занимает пятое, по объемам экспорта - четвертое место. В нашей стране сосредоточены крупнейшие в мире лесосырьевые ресурсы...
5279. Независимая журналистика в России: проблемы существования. 93.5 KB
  Независимая журналистика в России: проблемы существования. Средства массовой информации и коммуникации часто вызывают полемику в обществе. Вопросы массовых коммуникаций важны потому, что прямо или косвенно оказывают влияние на жизни людей. Вопросы с...
5280. Подготовка к сварочно-наплавочным работам 76.5 KB
  Подготовка к сварочно-наплавочным работам Присварочно-наплавочных работах, подготовительные операции заключаются в следующем: зачистке мест сварки или наплавки металлическими щетками удалении загрязнений, ржавчины, остатков масел. При наличии...
5281. Изучение температурной зависимости электропроводности полупроводников 49.5 KB
  Изучить зависимость электропроводности полупроводникового образца от температуры. Определить ширину запрещенной зоны. Теоретическое введение Электропроводность материалов определяется выражением...