33657

БЛОЧНОЕ КОДИРОВАНИЕ (АЛГОРИТМ ГОСТ)

Доклад

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

БЛОЧНОЕ КОДИРОВАНИЕ АЛГОРИТМ ГОСТ В нашей стране установлен единый алгоритм криптографического представления данных для систем обработки информации в сетях ЭВМ отдельных вычислительных комплексов и ЭВМ который определяется ГОСТ 2814789. Этот алгоритм криптографического преобразования данных представляет собой 64битовый блочный алгоритм с 256битовым ключом предназначен для аппаратной и программной реализации удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации. В любом...

Русский

2013-09-06

252.5 KB

11 чел.

22. БЛОЧНОЕ КОДИРОВАНИЕ (АЛГОРИТМ ГОСТ)

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

Этот алгоритм криптографического преобразования данных представляет собой 64-битовый блочный алгоритм с 256-битовым ключом, предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации.

Алгоритм предусматривает четыре режима работы:

- простая замена;

- гаммирование;

- гаммирование с обратной связью;

- выработка имитовставки.

В любом случае для шифрования данных используется 256-битовый ключ K, который представляется в виде восьми 32-битовых подключей Ki:

K = K7K6K5K4K3K2K1K0.

Расшифрование выполняется по тому же ключу, что и шифрование, но этот процесс является инверсией процесса шифрования данных.

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

Первый и самый простой режим - замена. Данные, подлежащие шифрованию, разбивают на 64-битовые блоки. Процедура шифрования блока открытых данных T0 включает 32 цикла (j=1...32).

Блок T0 разделяется на две последовательности по 32 бита: В(0)A(0), где В(0) - левые или старшие биты, A(0) - правые или младшие биты.

Эти последовательности вводят в накопители N1 и N2 перед началом первого цикла шифрования.

Функция f называется функцией шифрования. Ее аргументом является сумма по модулю 232 числа A(i), полученного на предыдущем шаге итерации, и числа X(j) ключа (размерность каждого из этих чисел равна 32 знакам).

Функция шифрования включает две операции над полученной 32-разрядной суммой. Первая операция называется подстановкой К. Блок подстановки К состоит из 8 узлов замены К(1) ... К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на 8 последовательно идущих 4-х разрядных векторов, каждый из которых преобразуется в 4-х разрядный вектор соответствующим узлом замены, представляющим собой таблицу из 16 целых чисел в диапазоне 0...15.

Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-х разрядные выходные векторы последовательно объединяются в 32-разрядный вектор. Таблицы блока подстановки К содержит ключевые элементы, общие для сети ЭВМ и редко изменяемые.

Вторая операция - циклический сдвиг влево 32-разрядного вектора, полученного в результате подстановки К. 64-разрядный блок зашифрованных данных Тш представляется в виде Тш=A(32)B(32).

Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.

Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях. К этим случаям относится выработка ключа и зашифрование его с обеспечением имитозащиты (защиты от навязывания ложных данных) для передачи по каналам связи или хранения в памяти ЭВМ.

Режим гаммирования

Открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1, 2,..., m, где m определяется обьемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит, то есть Гш=(Г(1),Г(2),...,Г(i),...,Г(m)).

Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.

Расшифрование данных возможно только при наличии синхропосылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашированными данными.

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

Режим гаммирования с обратной связью очень похож на режим гаммирования. Как в и режиме гаммирования открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1, 2,..., m , где m определяется обьемом шифруемых данных), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит:

Гш=(Г(1),Г(2),...,Г(i),...,Г(m)).

Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.

Bыработки имитовставки

Процесс выработки имитовстаки единообразен для любого из режимов шифрования данных.

Имитовставка - это блок из р бит (имитовставка Ир), который вырабатывается либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываться. Значение параметра р (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2^р.

Для получения имитовставки открытые данные представляются в виде 64-разрядных блоков Т(i) (i=1, 2,..., m , где m определяется объемом шифруемых данных). Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Причем в качестве ключа для выработки имитовставки используется ключ, по которому шифруются данные.

Полученное после 16 циклов работы 64-разрядное число суммируется по модулю 2 со вторым блоком открытых данных Т(2). Результат суммирования снова подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Полученное 64-разрядное число суммируется по модулю 2 с третьим блоком открытых данных Т(3) и т.д. Последний блок Т(m) при необходимости дополненный до полного 64-разрядного блока нулями, суммируется по модулю 2 с результатом работы на шаге m-1, после чего зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма. Из полученного 64-разрядного числа выбирается отрезок Ир длиной р бит.

Имитовставка Ир передается по каналу связи или в память ЭВМ после зашифрованных данных. Поступившие зашифрованные данные расшифровываются, и из полученных блоков открытых данных T(i) вырабатывается имитовставка Ир', которая затем сравнивается с имитовставкой Ир, полученной из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок все расшифрованные данные считают ложными.

Краткая теория.

Российская Федерация имеет свой стандарт шифрования. Этот стандарт закреплен ГОСТом №28147-89, принятом, как явствует из его обозначения, еще в 1989 году в СССР. Алгоритм ГОСТ может работать в нескольких режимах:

  •  режим простой замены;
  •  режим гаммирования;
  •  режим гаммирования с обратной связью;
  •  режим выработки имитовставки.

В данной реализации алгоритм ГОСТ работает в режиме простой замены. Весь алгоритм опирается на два базовых цикла:

  •  цикл зашифрования (CRYPT);
  •  цикл расшифрования (DECRYPT);

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

Таким образом, чтобы разобраться в ГОСТе, надо понять следующее:

а) что такое основной шаг криптопреобразования;

б) как из основных шагов складываются базовые циклы;

в) как из базовых циклов складываются практические алгоритмы.

Прежде чем перейти к изучению этих вопросов, следует поговорить о ключевой информации, используемой алгоритмами ГОСТа. В соответствии с принципом Кирхгофа, которому удовлетворяют все современные известные широкой общественности шифры, именно ее секретность обеспечивает секретность зашифрованного сообщения. В ГОСТе ключевая информация состоит из двух структур данных. Помимо собственно ключа, необходимого для всех шифров, она содержит еще и таблицу замен. Ниже приведены основные характеристики ключевых структур ГОСТа [3, c.378]:

  1.  Ключ является массивом из восьми 32-битовых элементов кода, далее в настоящей работе он обозначается символом К: К= {Ki}, 0<i<7. Таким образом, размер ключа составляет 32.8 = 256 бит или 32 байта.
  2.  Таблица замен может быть представлена в виде матрицы размера 8x16, содержащей 4-битовые элементы, которые можно представить в виде целых чисел от 0 до 15. Строки таблицы замен называются узлами замен, они должны содержать различные значения, то есть каждый узел замен должен содержать 16 различных чисел от 0 до 15 в произвольном порядке. Таким образом, общий объем таблицы замен равен: 8 узлов х 16 элементов/узел х 4 бита/элемент = 512 бит или 64 байта.

Таблица 5.1

Пример S-блоков алгоритма ГОСТ, используемых в режиме обучения.

S-блок 1:

4

10

9

2

13

8

0

14

6

11

1

12

7

15

5

3

S-блок 2:

14

11

4

12

6

13

15

10

2

3

8

1

0

7

5

9

S-блок З:

5

8

1

13

10

3

4

2

14

15

12

7

6

0

9

11

S-блок 4:

7

13

10

1

0

8

9

15

14

4

6

12

11

2

5

3

S-блок 5:

6

12

7

1

5

15

13

8

4

10

9

14

0

3

11

2

S-блок 6:

4

11

10

0

7

2

1

13

3

6

8

5

9

12

15

14

S-блок 7:

13

11

4

1

3

15

5

9

0

10

14

7

6

8

2

12

S-блок 8:

1

15

13

0

5

7

10

4

9

2

3

14

6

11

8

12

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

Блок-схема основного шага алгоритма ГОСТ 28147-89.

                  

Рис. 5.6

Ниже даны пояснения к рис.5.6 :

  •  N64 – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая R и старшая L части обрабатываются как отдельные 32-битовые целые числа без знака.
  •  X=Кi (где 1<i<32 – номер цикла) – 32-битовый элемент ключа;

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

На основном шаге криптопреобразования используются достаточно простые математические преобразования, требующие однако минимум 32 разрядного процессора. Для зашифровки одного блока данных цикл на Рис. 5.4. повторяют 32 раза. Таким образом 256 бит ключа делят на восемь 32 битных подключей (К0…К7), которые используются в соответствии с таблицей 5.2. Такой режим работы называется режимом простой замены. Процесс расшифрования аналогичен процессу зашифрования, только ключи используются в обратной последовательности. Поэтому данный алгоритм и является симметричным.

Таблица 5.2

Использование подключей в различных раундах алгоритма ГОСТ.

Раунд

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Подключ

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

Раунд

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Подключ

1

2

3

4

5

6

7

8

8

7

6

5

4

3

2

1


 

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

43178. ПРОЕКТИРОВАНИЕ ЦИФРОВОЙ АТС «КВАНТ-Е» ЖЕЛЕЗНОДОРОЖНОГО УЗЛА СВЯЗИ 1.15 MB
  Расчет нагрузки цифровых потоков между блоками БАЛ и УКС [5] Список использованной литературы Введение Цифровые автоматические телефонные станции АТСЦ широко применяются на сети связи железнодорожного транспорта. Для предварительного смешивания и концентрации телефонной нагрузки от абонентских и соединительных линий служат коммутационные блоки емкостью 8х8 цифровых трактов расположенные в блоках БАЛ БСЛ и других блоках абонентского и линейного доступа. К оборудованию абонентского доступа относятся аналоговые абонентские комплекты АК...
43179. СИСТЕМА АВТОМАТИЧЕСКОЙ СТАБИЛИЗАЦИИ РАБОЧЕГО МЕХАНИЗМА 1.35 MB
  Постановка общей задачи стабилизации рабочего механизма. Математическое описание системы стабилизации. Формирование функциональной схемы системы. Построение линеаризованной математической модели системы. Формирование структурной схемы системы.
43180. ЭНЕРГЕТИЧЕСКИЙ И КИНЕМАТИЧЕСКИЙ РАСЧЕТ ПРИВОДА 1.03 MB
  Определение мощности на выходе РВ где окружная сила на барабане в кН скорость конвейера в м с Определение общего КПД привода где ц=092 КПД цепной передачи табл.6 з=097 КПД зубчатой передачи табл.6 м=098 КПД муфты табл.6 оп=0992 КПД опор приводного вала табл.
43181. Организация связи между дорожными и отделенческими узлами магистрали 5.27 MB
  Определение количества каналов различных видов связи между узлами магистрали [2.3 Составление таблицы схемы распределения каналов между пунктами [3] 2 Выбор оптимального варианта организации связи [3.1] 3 Построение схем связи [4] 4 расчет магистрали [4.
43182. Разработки и эксплуатации нефтегазодобывающих предприятиях «Джалильнефть», «Елховнефть» 1.77 MB
  Литологофизическая характеристика коллекторов Физикохимические свойства жидкостей и газов Эксплуатация скважин насосными установкам. Классификация и характеристика видов подземного ремонта скважин. Классификация и характеристика видов капитального ремонта скважин. Причины снижения продуктивности скважин в процессе эксплуатации.
43183. ВИВЧЕННЯ МУТАГЕННОЇ АКТИВНОСТІ ГРУНТІВ З ПОРОДНЬОГО ВІДВАЛУ ВУГІЛЬНИХ ШАХТ ЦЗФ ЗАТ «ЛЬВІВ СИСТЕМ ЕНЕРГО» 334 KB
  Основний породний відвал ЦЗФ має висоту 68 метрів і займає площу 75 га. Верхівка відвалу плоска з горбом посередині, висота якого 10-12 метрів. Навколо горба на верхівці відвалу, розташовані досить великі за площею, плоскі відсипки породи, які відрізняються за кольором – при обстеженні нами у 2006 році на території породного відвалу ЦЗФ переважали аргілітові породи в основному чотирьох кольорів – чорного, червоного, темно-сірого та сіро-жовтого, які і займали основну площу породного відвалу. Площа відвалу терасована на 5 терас, шириною приблизно 8-10 метрів, які утворились за рахунок доріг, по яких їздять важковантажні машини.
43184. Особливості уяви дітей дошкільного віку 340 KB
  Центральним новоутворенням психічного розвитку дітей дошкільного віку є уява. Уява - один із важливих психічних процесів, що безпосередньо входить у будь-який творчий процес людини на різних етапах її життя та забезпечує засвоєння різних форм людської культури в онтогенезі. Уява формується разом із допитливістю дитини ще в ранньому віці, але свого інтенсивного розвитку і особливого значення набуває саме в дошкільному віці.
43185. Эффективность действия галоперидола и сероквеля на продуктивную, негативную, депрессивную симптоматику в рамках параноидной непрерывно-текущей шизофрении (согласно критериям МКБ 10) у женщин 310.5 KB
  От своевременной и адекватной терапии больных шизофренией в конечном счете зависит отдаленный прогноз и исход заболевания. К ним следует отнести вопросы о предпочтительности монотерапии или полипрогмазии необходимость лечения в межприступном периоде вопрос о способах введения нейролептиков и уровня их доз резистентность к нейролептической терапии. В связи с этим трудно переоценить значение любого атипичного нейролептика особенно если он действительно позволяет решить проблему побочных эффектов и резистентности к терапии. Общие принципы...
43186. Порядок учета и контроля выпуска и отгрузки готовой продукции 251 KB
  В настоящее время бухгалтерская служба имеет реальную возможность формировать модель хозяйственной деятельности предприятия, основываясь на базе первичных учетных документов, что вывело ее в разряд подразделений, которые, способны осуществлять прогнозирование финансового результата. Подвергнув обработке журналы хозяйственных операций, составленные в течение нескольких прошедших периодов, бухгалтерия может с определенной степенью точности предугадать величину будущей прибыли и повлиять на нее.