Научная статья на тему 'Качество стандартизованной системы алгоритмов шифрования данных в ГАС РФ "Правосудие"'

Качество стандартизованной системы алгоритмов шифрования данных в ГАС РФ "Правосудие" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
195
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОСНОВНОЙ ШАГ КРИПТОПРЕОБРАЗОВАНИЯ / ПРОСТАЯ ЗАМЕНА / ГАММИРОВАНИЕ / ИМИТОВСТАВКА / ПРИВИЛЕГИРОВАННАЯ ИНФОРМАЦИЯ / ГАС РФ "ПРАВОСУДИЕ" / ГОСТ / НЕТРАДИЦИОННЫЙ ИНФОРМАЦИОННЫЙ КАНАЛ (НИК) / КАЧЕСТВО / MAIN STEP OF CRYPTOCONVERSION / SIMPLE REPLACEMENT / GAMMING / IMITATION INSERTION / PRIVILEGED INFORMATION / STATE AUTOMATED SYSTEM OF THE RUSSIAN FEDERATION "PRAVOSUDIE" ["JUSTICE"] / GOVERNMENT STANDARD (GOST) / COVERT INFORMATION CHANNEL (CIC) / QUALITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Королев Владимир Тимофеевич, Ловцов Дмитрий Анатольевич

Цель работы: совершенствование научно-методической базы теории правовых режимов ограниченного доступа информационных ресурсов. Метод: комплексный теоретико-сравнительный анализ криптографических средств обеспечения защищённости привилегированной информации от раскрытия. Результаты: определены численные параметры и математические операции стандартизованных процедур криптопреобразования данных, в целом позволяющие оценить современное состояние проблемы обеспечения защищённости привилегированной информации в Государственной автоматизированной системе Российской Федерации (ГАС РФ) «Правосудие»; дана теоретическая сравнительная оценка качества алгоритмов шифрования по ГОСТ 28147-89 и DES-75; предложено для обеспечения требуемого уровня защищённости привилегированной информации в ГАС РФ «Правосудие», учитывая значительные возможности осуществления несанкционированного доступа по нетрадиционным информационным каналам, использовать криптографические алгоритмы ГОСТ 28147-89 как во внутреннем закрытом контуре, так и во внешнем публичном контуре информационного взаимодействия.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Королев Владимир Тимофеевич, Ловцов Дмитрий Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

QUALITY OF A STANDARDISED SYSTEM OF DATA ENCRYPTION ALGORITHMS IN THE STATE AUTOMATED SYSTEM OF THE RUSSIAN FEDERATION “PRAVOSUDIE” [“JUSTICE”]

Purpose of the work: improving the scientific and methodological base of the theory of legal regimes of restricted access to information resources. Method used: comprehensive theoretical and comparative analysis of cryptographic means of ensuring protection of privileged information from disclosure. Results obtained: numerical parameters and mathematical operations of standardised procedures for data cryptographic conversion are determined which, on the whole, allows to assess the current state of the problem of ensuring protection of privileged information in the State Automated System (SAS) of the Russian Federation (RF) “Pravosudie” [“Justice”]. A theoretical comparative estimate of the quality of algorithms of encryption in accordance with GOST 28147-89 and DES-75 is given. In order to ensure the required level of protection of privileged information in the SAS of the RF “Pravosudie” [“Justice”] and considering ample opportunities for unauthorised access using covert information channels, it is proposed to use the GOST 28147-89 encryption algorithms both in the internal (closed) and external (public) contour of information interaction.

Текст научной работы на тему «Качество стандартизованной системы алгоритмов шифрования данных в ГАС РФ "Правосудие"»

КАЧЕСТВО СТАНДАРТИЗОВАННОЙ СИСТЕМЫ АЛГОРИТМОВ ШИФРОВАНИЯ ДАННЫХ В ГАС РФ «ПРАВОСУДИЕ»

Королев В.Т., Ловцов Д.А.*

Ключевые слова: основной шаг криптопреобразования, простая замена, гаммирование, имитов-ставка, привилегированная информация, ГАС РФ «Правосудие», ГОСТ, нетрадиционный информационный канал (НИК), качество.

Аннотация.

Цель работы: совершенствование научно-методической базы теории правовых режимов ограниченного доступа информационных ресурсов.

Метод: комплексный теоретико-сравнительный анализ криптографических средств обеспечения защищённости привилегированной информации от раскрытия.

Результаты: определены численные параметры и математические операции стандартизованных процедур криптопреобразования данных, в целом позволяющие оценить современное состояние проблемы обеспечения защищённости привилегированной информации в Государственной автоматизированной системе Российской Федерации (ГАС РФ) «Правосудие»; дана теоретическая сравнительная оценка качества алгоритмов шифрования по ГОСТ28147-89 и DES-75; предложено для обеспечения требуемого уровня защищённости привилегированной информации в ГАС РФ «Правосудие», учитывая значительные возможности осуществления несанкционированного доступа по нетрадиционным информационным каналам, использовать криптографические алгоритмы ГОСТ28147-89 как во внутреннем — закрытом контуре, так и во внешнем — публичном контуре информационного взаимодействия.

Р01: 10.21681/1994-1404-2018-1-49-59

В Государственной автоматизированной системе Российской Федерации (ГАС РФ) «Правосудие» осуществляется защищённый обмен привилегированной информацией на основе применения криптографических алгоритмов в корпоративной телематической и локальных вычислительных сетях объектов автоматизации в условиях непрекращающихся попыток несанкционированного доступа, главным образом, по нетрадиционным (срытым) информационным каналам [4]. Наиболее уязвимой при этом является информация, циркулирующая в телематической сети, в которой реализуются сетео-бразующие интернет-протоколы, использующие несовершенные криптографические алгоритмы [2, 5].

В Российской Федерации действует единый стандарт шифрования данных в сетях ЭВМ, в отдельных

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

Логика построения шифра и структура ключевой информации. В стандарте содержится описание алгоритмов двух уровней:

- на верхнем уровне иерархии находятся алгоритмы криптографических преобразований в следующих режимах: простой замены, гаммирова-

* Королев Владимир Тимофеевич, кандидат технических наук, профессор, почетный работник высшего профессионального образования Российской Федерации, профессор кафедры информационного права, информатики и математики Российского государственного университета правосудия, Российская Федерация, г. Москва.

E-mail: [email protected]

Ловцов Дмитрий Анатольевич, доктор технических наук, профессор, заслуженный деятель науки Российской Федерации, заместитель по научной работе директора Института точной механики и вычислительной техники им. С. А. Лебедева Российской академии наук, заведующий кафедрой информационного права, информатики и математики Российского государственного университета правосудия, Российская Федерация, г. Москва.

E-mail: [email protected]

ния, гаммирования с обратной связью, выработки имитовставки;

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

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

Ключ шифрования — двоичный код К длиною в 256 разрядов, формат которого показан в табл. 1. В первой строке таблицы — номера ] разрядов кода К, а во второй цифры к], (]= 0,255) кода К.

Таблица 1

В каждом из алгоритмов криптографического преобразования используют восемь 32-разрядных фрагментов: К7, Кб, К5, К4, КЗ, К2, К1, КО, на которые разбивается код К (табл. 2). И здесь в самой верхней строке — номера разрядов каждого из фрагментов, а в каждой строке — цифры данного фрагмента, взятые из кода К. Любой из кодов: К7, Кб, К5, К4, КЗ, К2, К1, КО в заданных стандартом алгоритмах криптографических преобразований используется как целое положительное двоичное 32-разрядное число 0 < G < 232.

Таблица замен Н состоит из восьми строк (узлов замены) с номерами I 0,7 .Та или иная строка Н1 разбита на 16 ячеек с номерами ] 0,15 длиной в 4 разряда каждая. В ячейке номер ] строки номер

Таблица 2

255 254 0

к= ^255 к254 к.

31 30 0

К7= к255 к254 к224

К6= к223 к222 к192

К5= к191 к190 к160

К4= к159 к158 к128

К3= к127 к126 к96

К2= к95 к94 к64

К1= кбз кб2 к32

К0= кз1 к3о к0

Таблица 3

63 62 0

Ы= П63 П62 П0

I записан элемент замены — четырехразрядное

целое положительное двоичное число 0< Н < 24. Общий размер таблицы замен составляет 512 разрядов (4 разряда х 16 элементов х 8 строк).

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

На рис. 1 представлена функциональная схема алгоритма для основного шага. Этот алгоритм многократно используется в базовых циклах.

Таблица 4

Поэтому блок 0 алгоритма имеет вход, на который подаются:

• очередной блок данных Ы длиной в 64 разряда;

• очередной 32-разрядный фрагмент ключа К1.

В блоке 0 определяются исходные данные для

реализуемого основного шага:

• число G получает значение К1 текущего ключевого фрагмента кода К: или К0, или К1, или ..., или К7, номер I ключевого фрагмента К1 определяется на входе в блок 0;

• преобразуемый блок данных Ы длиною в 64 разряда (его формат показан выше) разбивается на две части по 32 разряда каждая: N2 — старшая (табл. 4) и N1 — младшая (табл. 5).

Таблица 5

Таблица 6

31 30 0

N2= «63 «62 «32

31 30 0 31 30 0

N1= «31 «30 «0 ¿31 ¿30 ¿0

Полученные коды в процедуре основного шага Так определяются координаты ячейки с эле-выступают как целые, положительные двоичные ментом замены — числом Н15|_. Это число и заме-числа: 0 <N2, N1 <232. няет содержимое кода БЬ:= Н15|_

Таблица 7

5 V 1 \ 0 1 2 3 4 5 6 7 8 9 А В С Б Е 5

50 3 0 4 А 9 2 Б 8 0 Е 6 В 1 С 7 ^ 5 3 2 50

51 ^ 1 Е В 4 С 6 Б ^ А 2 3 8 1 0 7 5 9 9 51

52 9 2 5 8 1 Б А 3 4 2 Е ^ С 7 6 0 9 В ^ 52

53 С 3 7 Б А 1 0 8 9 ^ Е 4 6 С В 2 5 3 В 53

54 4 4 6 С 7 1 5 ^ Б 8 4 А 9 Е 0 3 В 2 5 54

55 0 5 4 В А 0 7 2 1 Б 3 6 8 5 9 С ^ Е 4 55

56 3 6 Б В 4 1 3 ^ 5 9 0 А Е 7 6 8 2 С 1 56

57 Е 7 1 ^ Б 0 5 7 А 4 9 2 3 Е 6 В 8 С 8 57

N. К1

Б

Рис. 1. Алгоритм для основного шага

В блоке 1 (см. рис. 1) выполняется операция сложения чисел N1 и G по модулю 232. Результатом этой операции будет число Б (табл. 6). Далее

Таблица 8

31 30 11 10 9 1 0

0 5= $31 §30 §11 §10 §9 §1 §0

« м 1 о о 5= §30 §29 §10 §9 §8 §0 §31

п 1-1 „ ¡^ ^ 2 К и 5= §29 §28 §9 §8 §7 §31 §30

;т ц. о

11 5= §20 §19 §0 §31 §30 §22 §21

(блок 2) производится простая замена кода Б на содержимое таблицы замен. Для этого 32-разрядный код Б разбивается на восемь четырехразрядных фрагментов Б7, Б6,.. ,,Б0. Номер Ь фрагмента БЬ определяет номер строки таблицы замен, а само число БЬ задает номер ячейки в строке номер Ь, из которой извлекается элемент замены, а именно, 1:=1_, 1_е{0,1,...,7}, > Б1_, Б1_е{0,1,...,15}.

Численный пример. Представим числа Б, БЬ и НЬ,БЬ в шестнадцатеричной системе счисления (табл. 7). Слева в колонке Б представим исходные значения фрагментов Б0, Б1,..., Б7. В каждой строке таблицы замен выделены элементы замены НЬ,БЬ. Справа в колонке Б представлены результаты простой замены.

Блок 3 (см. рис. 1): здесь над полученным в блоке 2 кодом Б выполняется циклический (С) сдвиг (БИ) на одиннадцать разрядов (11) влево (Ь) (т.е. в сторону старших разрядов). Смысл этой операции поясняется табл. 8.

В блоке 4 над символами бу и пу в одноименных разрядах кодов Б и N2 выполняется логиче-

ская операция © — суммирование по модулю 2. Результат работы алгоритма основного шага — код Б — выводится из блока 4.

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

Цикл зашифрования. На зашифрование подается ИМ открытых данных, который разбивается на блоки открытых данных (БОД), длиной в 64 разряда каждый: БОДМ, БОДм-1,..., БОДт,...,. БОД,.

БОДт ±

0

М:=БОДт, те{1,2,...,М}

1_:=0

Ь23

2 1

!:=(ЦтсЬ8> К1

I

-4

!:=31-1_, К! |

ОСНОВНОЙ ШАГ: Б

0 6 . 1

Ы2:=Ы1, Ы1:=Б

Ы2:=Б

>|<

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1_:=1_+1

0 ^—10 Ь31у

11

1

ЦИКЛ | N=N2 || N1 ЗАШИФРОВА- | _

1

НИЯ

12

БЗДт^ БЗДт

Рис. 2. Алгоритм цикла зашифрования

На рис. 2. представлена функциональная схема алгоритма цикла зашифрования. Этот цикл предназначен для зашифрования одного текущего блока БОДт и состоит в том, что фрагмент алгоритма между блоками 2 и 9 (тело цикла, важнейшим блоком которого является блок 5 — «Основной шаг») повторяется 32 раза. Очередной блок открытых данных БОДт подается на вход цикла зашифрования (см. рис. 2).

В блоке 0 коду N придается значение БОДт. Значение те{1,2,...,М} определено до входа в цикл зашифрования. В блоке 1 счетчику циклов | задают начальное значение 0. В блоке 2 проверяется условие | < 23. Дело в том, что на первых 24 циклах (когда условие в блоке 2 не выполняется) в блок 5 — «Основной шаг» фрагменты ключа подаются в естественном порядке следования: К0, К1,..., К7. Это достигается тем, что сейчас номер ключевого фрагмента I формируется в блоке 3 так, что при 0 < I < 23 трижды получаем последовательность номеров 1=0, 1,...,7 и последовательность фрагментов ключа: К0, К1,., К7.

В последних восьми циклах, когда 24 < I < 31, в блок 5 — «Основной шаг» подаются фрагменты ключа в обратном порядке следования: К1 = К7, К6,..., К0. Это достигается тем, что в этих циклах значение I формируется в блоке 4, последовательность номеров: 1=7, 6,...,0, а вместе с нею и последовательность фрагментов ключа: К1 = К7, К6,., К0.

При полученном в блоке 3 или в блоке 4 значении фрагмента ключа К1 реализуется блок 5 алгоритма — «Основной шаг». Результатом его работы будет код Б.

В блоке 6 проверяется условие Ь= 31. Во всех циклах, кроме последнего (номер которого и будет 31) реализуется блок 7. Код N2 получает значение кода N1, а сам код N1 получает значение Б. В последнем цикле, когда условие в блоке 6 выполняется, реализуется блок 8 алгоритма. Код N2 получает значение Б, сформированное в последнем цикле, а значение кода N1 остается тем, которое он получил в предпоследнем цикле.

В блоке 9 значение счетчика цикла I увеличивается на единицу, а в блоке 10 проверяется условие окончания цикла зашифрования. Пока оно не выполняется, управление передается на блок 2, и тело цикла реализуется ещё один раз. Как только условие в блоке 10 выполняется, реализуется блок 11 алгоритма, а именно, путем конкатенации (соединения) кодов N2 и N1 (символ этой операции: || ) формируется код N зашифрованных данных. Полученное значение N и будет текущим блоком зашифрованных данных — БЗДт, который и

0

3

5

8

7

9

выводится из блока 12 как результат реализации одного цикла зашифрования.

Цикл расшифрования. На расшифрование подается зашифрованный ИМ (ЗИМ), который разбивается на блоки зашифрованных данных БЗД, длиной в 64 разряда каждый: БЗДМ, БЗДМ-1,..., БЗДт,..., БЗД,.

На рис. 3 представлена функциональная схема алгоритма цикла расшифрования. Этот цикл предназначен для расшифрования одного текущего блока БЗДт и состоит в том, что фрагмент алгоритма между блоками 2 и 9 (тело цикла, важнейшим блоком которого является блок 5 — «Основной шаг) повторяется 32 раза. Как видно, расшифрование ЗИМ производится практически по тому же алгоритму, что и зашифрование открытых ИМ (см. рис. 2).

БЗДт

0

±

^=БЗДт, те{1,2,...,М}

Л

1:=(31-1_)тос18, К1 -1=

>1<

1:=1_, К1

ОСНОВНОЙ ШАГ: Б

А 1

-— 8

N2=8

БОДт^ ?=

БОДт

Рис. 3. Алгоритм цикла расшифрования

Очередной блок зашифрованных данных БЗДт подается на вход цикла расшифрования (с. рис. 3). В блоке 0 коду N придается значение БЗДт. Значение те{1,2,...,М} определено до входа в цикл расшифрования. В блоке 1 счетчику циклов Ь задают начальное значение 0. В блоке 2 проверяется условие Ь <7. Дело в том, что на первых 8 циклах (когда условие в блоке 2 не выполняется) в блок 5 — «Основной шаг» фрагменты ключа подаются в естественном порядке следования: К0, К1,..., К7. Это достигается тем, что сейчас номер ключевого фрагмента I формируется в блоке 3 так: 1:= Ь, т.е. при 0 < Ь < 7 получается последовательность номеров I = 0, 1,...,7 и последовательность фрагментов ключа: К1 = К0, К1,..., К7.

В следующих 24 циклах, когда 8 < Ь < 31, в блок 5 — «Основной шаг» подаются фрагменты ключа в обратном порядке следования: К7, К6,..., К0. Это достигается тем, что в этих циклах в блоке 4 номер ключевого фрагмента I формируется так: 1:= (31- Ц тосШ, т.е. при 8 < Ь <31 трижды формируется последовательность номеров: 1= 7, 6,...,0, а вместе с нею и последовательность фрагментов ключа: К1= К7, К6,..., К0.

При полученном в блоке 3 или в блоке 4 значении фрагмента ключа К1 реализуется блок 5 — «Основной шаг» алгоритма. Результатом его работы будет код Б. В блоке 6 проверяется условие Ь=31. Во всех циклах, кроме последнего (номер которого и будет 31) реализуется блок 7. Код N2 получает значение кода N1, а сам код N1 получает значение Б. В последнем цикле, когда условие в блоке 6 выполняется, реализуется блок 8 алгоритма. Код N2 получает значение Б, сформированное в последнем цикле, а значение кода N1 остается тем, которое он получил в предпоследнем цикле.

В блоке 9 значение счетчика цикла Ь увеличивается на единицу, а в блоке 10 проверяется условие окончания цикла расшифрования. Пока оно не выполняется, управление передается на блок 2, и тело цикла реализуется еще один раз. Как только условие в блоке 10 выполняется, реализуется блок 11 алгоритма, а именно, путем конкатенации (соединения) кодов N2 и N1 (символ этой операции: ||) формируется код N расшифрованных данных. Полученное значение N и будет текущим блоком расшифрованных данных БОДт, который и выводится из блока 12 как результат реализации одного цикла расшифрования.

Режим простой замены. На рис. 4 приведена функциональная схема алгоритма зашифрования в режиме простой замены. Как уже говорилось, на зашифрование подается ИМ открытых данных (ОД).

£

3

5

0

7

Рис. 4. Алгоритм зашифрования

В блоке 0 производится декомпозиция ИМ на М блоков открытых данных: БОДМ, БОД^, ...,БОД1( длиной в 64 разряда каждый. Здесь же и 256-разрядный код ключа K подвергается декомпозиции на ключевые фрагменты: К7, К6,...,К0, длиной в 32 разряда каждый.

В блоке 1 алгоритма счетчик блоков открытых данных т получает начальное значение 1. Далее (блок 2 алгоритма) считывается очередной блок БОДт, который подается на цикл зашифрования (блок 3). Результатом работы цикла зашифрования будет очередной блок зашифрованных данных БЗДт, который фиксируется в блоке 4. В блоке 5 показания счетчика т увеличивают на единицу. В блоке 6 анализируется условие окончания обработки ИМ. Пока оно не выполняется, управление передается на блок 2, и начинается зашифрование следующего блока открытых данных.

Рис. 5. Алгоритм расшифрования

Как только условие в блоке 6 выполнится, реализуется блок 7 алгоритма. Здесь путем конкатенации (||) блоков БЗДМ, БЗД^,..., БЗД, формируется массив зашифрованных данных.

На рис. 5 приведена функциональная схема алгоритма расшифрования в режиме простой замены. Как видно, построен он аналогично алгоритму на рис. 4. Отличие состоит в том, что на расшифрование в режиме простой замены подается ИМ зашифрованных данных (ЗД), а результатом работы этого алгоритма будет ИМ ОД.

Особенность режима простой замены заключается в том, что если длина ИМ открытых данных не кратна 64 разрядам, то последний блок БОДМ будет иметь длину менее 64 разрядов, и его нужно удлинять до 64 разрядов с тем, чтобы обрабатывать в режиме простой замены. Но тогда ЗИМ окажется длиннее ИМ открытых данных, что недо-

пустимо снижает стойкость шифра. Поэтому ГОСТ предписывает использовать режим простой замены исключительно для шифрования ключевой информации: ключа K и таблицы замен H, длина которых кратна 64 разрядам.

Режим гаммирования. Суть гаммирования по ГОСТ 28147-89 состоит в том, что зашифровывают не сам блок данных, а некоторое число, вырабатываемое специальным генератором, и потом результат зашифрования — гамму — накладывают на ИМ (блок данных), а именно, над кодами гаммы и ИМ выполняют некоторую операцию. Так получают зашифрованный ИМ — ЗИМ [3]. Расшифрование ЗИМ состоит в наложении на него той же гаммы повторно. Следовательно, процедуры зашифрования и расшифрования в режиме гаммирования одинаковы. Поэтому можно описать применение режима гаммирования к ИМ Д (открытых или зашифрованных). А результатом выполнения этого режима будет ИМ гаммированных данных ГД (зашифрованных или открытых).

На рис. 6 показана общая схема реализации режима гаммирования, который используется в стандарте. Процедуры зашифрования и расшифрования в режиме гаммирования одинаковы. Поэтому ниже описано применение режима гамми-рования к ИМ данных Д (открытых или зашифрованных). А результатом выполнения этого режима будет массив гаммированных данных ГД (зашифрованных или открытых).

Исходный массив данных Д объёмом в Р разрядов (рис. 6,а) подвергается декомпозиции на М отдельных блоков: Дм, Дм-1,..., Д1 (рис. 6,б). При этом объем первых М-1 блоков составляет точно 64 разряда, а блок ДМ имеет длину в г < 64 разрядов.

Над содержимым одноименных разрядов кодов Дт и Гт (т-1,...,М) выполняется логическая операция © суммирование по модулю 2.

Для каждого из этих блоков данных формируется своя гамма длиной в 64 разряда: Гм, Г ,..., Г1 (рис. 6,в).

Если блок Дм имеет длину г <64 разрядов, то старшие (64-г) разрядов кода ГМ отбрасываются (рис. 6,в).

Результатом этой операции будет ансамбль блоков гаммированных (зашифрованных или расшифрованных) данных: ГДМ, ГД^,..., ГД1 (рис. 6,г).

Путем конкатенации этих блоков получают результат режима гаммирования — массив ГД объемом в Р разрядов (рис. 6,д).

Особенностью режима гаммирования, определенного стандартом, является то, что очередная гамма Гт формируется с использованием преды-

дущей гаммы Гт_; (т=1,...,М). Инициируется этот процесс с помощью нулевой гаммы Г0. Код Г0 получают путем зашифрования в режиме простой замены некоторого числа БР длиной в 64 разряда, называемого синхропосылкой (начальным заполнением по терминологии стандарта). В качестве значения БР можно использовать тот или иной отсчет времени (скажем, перед началом процедуры зашифрования). Код БР должен передаваться получателю криптограммы для того, чтобы можно было выполнить её расшифрование.

Д

\ / Дм Дм-1 Д2 Д1

<— г © <- 64 © ->• 64 © ->• 64 ©

У Гм ГМ-1 Г2 Г1

а)

б)

в)

ГДм ГДм-1 ГД2 ГД1

ГД

д)

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

При формировании гамм выполняются операции суммирования по модулю 232 и по модулю (232-1). В стандарте под этими операциями понимается следующее.

Имеем числа А и В такие, что 0 < А, В < 232-1. Для их записи достаточно 32 разрядов с номерами 31, 30,., 0. Сумма этих чисел С = А+В лежит в пределах

0 < С < 2х(232-1), (1)

и для записи С необходимо 33 разряда с номерами 32, 31, 30,., 0 (рис. 7).

С

Г

л

Л

С32

С31

Сзо

н

Рис. 7. Запись числа C

Операция (С) 232 в математике определена

так: (С)тоё 232 = С"2

32

Я

где Э целое положительное число.

Для тех значений С, которые определены неравенствами (1):

0 при C < 232, c 32 = 0,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

D=

11 при C > 232, c 32 = 1.

(2)

(C)

mod 23

C- 232, если С > 232

(3)

так:

C,

еслиC<2

32

(C)mod (^l 1c _232 +1, если С > 232

(4)

c32 c31 с3о Со

(C)

"У"

mod 2

Рис. 8. Результат операции (C)mod 232

(C)mod 2

А

32

о31 о3о Q1 %

e31 е3о в1 ео

V

Y 32

(C)mod (2 -1)

В соответствии с этим стандарт так определяет

опеРаЦию (C)mod 232 :

|с, если C < 232,

Это означает, что (С)тос| 232 — суть содержимое разрядов с номерами 31, 30,..., 0 в записи числа С (рис. 8).

Таким образом, операция (А+В)тос| 232 выполняется за один акт суммирования: сумму A+B фиксируют в разрядах с номерами 31, 30,., 0, а старшую цифру с32 суммы игнорируют (рис. 8).

Операция (С)тос| (232-1 ) в стандарте определена

Таким образом, операция (A+B)mod выполняется за два акта суммирования: в первом акте получают (A+B)mod 232 , а во втором к этому результату прибавляют число F=031030...01f0, где f0= c32 (рис. 9). Как видно, в операции цифра c32 не отбрасывается, а используется для формирования

кода (C) mod (232-l).

На рис. 10 приведена функциональная схема алгоритма для режима простого гаммирования. В блоке 0 фиксируется код синхропосылки SP, массив данных Д подвергается декомпозиции на M блоков Ди Дм_1,..., Д1, а код ключа K — на восемь фрагментов: K7, K6,..., K0.

В блоках 1, 2 и 3 производится зашифрование кода SP в режиме простой замены и получение нулевой гаммы Г0. В блоке 4 счетчику циклов гаммирования m задают начальное значение. Блоки 6, 7,., 11 составляют тело цикла гаммирования. В блоке 5 код Г0 путем декомпозиции разбивается на две части: старшую Г20 и младшую Г10.

о ■

Сравнив (3) и (4), можно сказать, что по стандарту

(Отх, (232-1) = (^32 + сз2. (5)

При с32= 0 (когда С < 232) получаем первую строку формулы (4), а при с32=1 (когда С > 232) — ее вторую строку.

SP, Д^Дм.Дм-1.....Д1, K^K7,K6.....K0

—Г"

2

БОД-i^SP

I

ЦИКЛ ЗАШИФРОВАНИЯ

Го:=БЗД1

Го^Г2о,Г1о

m:=1

I

r2m:~(r2m-1+C1)mod (232-1)i Г1 т:-(Г1 m-1+C2)mod 232

8 ■

rm^r2rn II Г1 m

nz

БОДm: = Гm

I

L

ЦИКЛ ЗАШИФРОВАНИЯ

© ©

И 12

■Ю

Гm: = БЗДm

m:=m+1

I

11

о У—13 -^m>M у

© ©

14 ■

1

ГД:=ГДм II ГДм_1 II... II ГД1

Рис. 9. Результат операции (C)mod 232

Рис. 10. Алгоритм для режима простого гаммирования

1

3

4

5

6

7

9

В блоке 6 формируются:

• текущий код Г2т как сумма по модулю (232-1) предыдущего значения Г2т-1 и константы С1,

• текущий код Г1т как сумма по модулю 232 предыдущего значения Г1т-1 и константы С2.

Двоичные 32-разрядные коды С2 и С1 определены в стандарте в шестнадцатеричном виде (в скобках десятичные значения):

С2 = 01010101 (16 843 009);

С1 = 01010104 (16 843 012).

В блоке 7 путем конкатенации кодов Г2т и Г1т формируется код текущей гаммы Гт. В блоках 8, 9 и 10 код Гт зашифровывают в режиме простой замены. В блоке 11 код Гт накладывается на код Дт, а именно, над одноименными разрядами этих кодов выполняется логическая операция © — суммирование по модулю 2. Так формируется блок номер т гаммированных данных ГДт.

В блоке 12 показания счетчика циклов гамми-рования т увеличиваются на единицу, а в блоке 13 проверяется условие окончания циклов гам-мирования. Пока условие т>М не выполняется, управление передается на блок 5, и реализуется еще один цикл гаммирования. Как только условие т>М выполнится, реализуется блок 14. Здесь путем конкатенации блоков гаммированных данных: ГДМ, ГДМ-1,..., ГДП формируется массив ГД гаммированных данных.

Режим гаммирования с обратной связью. Этот режим отличается от режима простого гаммирования тем, что для формирования очередной гаммы Гт используют не код предыдущей гаммы Гт-1, а код предыдущего блока гаммированных данных ГДт-1. Функциональная схема алгоритма для режима гаммирования с обратной связью приведена на рис. 11.

В блоке 0 фиксируется код синхропосылки БР, массив данных Д подвергается декомпозиции на М блоков: ДМ, ДМ-1,..., Д1, а код ключа K — на восемь фрагментов: К7, К6,..., К0.

Код синхропосылки БР становится исходным значением для кода Г1 (блок 1). В блоке 2 счетчику циклов гаммирования задают начальное значение 1. В блоках 3, 4,., 7 текущее значение Гт зашифровывают в режиме простой замены. Так получают очередную гамму Гт. В блоке 6 над одноименными разрядами гаммы Гт и блока данных Дт выполняют логическую операцию © — суммирование по модулю 2. Так формируется очередной блок гаммированных данных ГДт. В блоке 7 полученное значение ГДт придают коду Гт. Из него в следующем цикле будет сформирована новая гамма. В этом и состоит обратная связь при гаммировании.

В блоке 8 показания счетчика циклов гаммирования т увеличиваются на единицу, а в блоке 9 проверяется условие окончания циклов гаммирования. Пока условие т> М не выполняется, управление передается на блок 3, и реализуется еще один цикл гаммирования. Как только условие т> М выполнится, реализуется блок 10. Здесь путем конкатенации блоков гаммированных данных ГДМ, ГДМ-1,..., ГД1 формируется массив ГД гаммированных данных.

Отметим особенности двух последних режимов. При зашифровании данных путем простого гаммирования блоки ГДт (т=1,...,М) формируются независимо друг от друга. Криптоаналитик-злоумышленник, не имея ключа К, не сможет раскрыть криптограмму. Однако он может вносить те или иные изменения в её текст путем замены содержимого отдельных разрядов (заменить нули единицами и/или наоборот). При расшифровке такой криптограммы внесенные изменения останутся в открытом тексте, и их трудно обнаружить.

0 ■

БР, Д^Дм,Дм-1.....Д1, К^К7,К6,...,К0

Г,:=БР

т:=1

3 ■

4

БОДт:=Гт

ЦИКЛ ЗАШИФРОВАНИЯ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5

Гт=БЗДт I ГДт:=Дт®Гт1

7 '

Т

8

Гт: = ГДт

не:

т:=т+1

I

0 /- 9

10

I

ГД:=ГДм II ГДм-1 II... II ГД!

Рис. 11. Алгоритм для режима гаммирования с обратной связью

1

2

1

При зашифровании данных в режиме гамми-рования с обратной связью следующий блок гам-мированных данных ГДт формируется с использованием предыдущего блока ГДт1. Изменения, внесенные в блок ГДт, при расшифровке такой криптограммы вызовут изменения во всех последующих блоках открытых данных, и такое повреждение данных легко заметить.

Режим выработки имитовставки. Имитовставка V — это контрольная кодовая комбинация, которая позволяет обнаруживать все случайные или преднамеренные изменения в принятой криптограмме после её расшифровки. Вырабатывается имитовставка из ИМ открытых данных, подлежащих зашифрованию. Имитовставка передается получателю вместе с ИМ зашифрованных данных. После расшифрования ЗИМ из полученного ИМ открытых данных формируют свою имитовставку V0. По результатам сравнения кодов V и V0 делается вывод о наличии или отсутствии внесенных в исходный ИМ изменений.

0 ■

ОД^БОДм, БОДм-1.....БОД-i; K^K7, K6,.. ,,K0

X

Б2:=БОД1

т

m:=2

> f -»w

БОДт-1:=Б2

I

ЦИКЛ ЗАШИФРОВАНИЯ 16

Записать БЗДт_1 *

Б2:=БЗДт-1®БОДт

ЗД:=БЗД1 II БЗД2II... II БЗДм

10

ИВ:=(ЗД)

mod 2

Рис. 12. Алгоритм для режима выработки имитовставки

На рис. 12 приведена функциональная схема алгоритма для режима выработки имитовставки. ИМ открытых данных подвергается декомпозиции на M блоков: БОДМ, БОДМ1,..., БОД1, а код ключа K — на фрагменты: K7, K6,..., K0 (блок 0). Для режима выработки имитовставки М > 2.

В блоке 1 вспомогательной переменной S2 придают значение БОД1. В блоке 2 счетчику циклов выработки имитовставки m задают начальное значение 2. Блоки 3, 4, 5, 6 составляют тело цикла выработки имитовставки. Текущее значение S2 присваивают блоку БОДт1, который в блоке 4 подвергается зашифрованию в режиме простой замены. Особенностью режима выработки имитовставки является то, что в цикле зашифрования (блок 4 — «Зашифрование 16») основной шаг реализуется не 32, а 16 раз.

Результат зашифрования БЗДт-1 фиксируется в блоке 5, а в блоке 6 над одноименными разрядами кодов текущего результата зашифрования БЗДт-1 и очередного блока открытых данных БОДт выполняют логическую операцию © — суммирование по модулю 2. Результатом этой операции будет код S2 на следующий цикл выработки имитов-ставки.

В блоке 7 показания счетчика m увеличиваются на единицу, а в блоке 8 проверяется условие окончания циклов выработки имитовставки. Пока условие m > M не выполняется, управление передается на блок 3, и реализуется еще один цикл выработки имитовставки. Как только условие m > M выполнится, реализуется блок 9. Здесь путем конкатенации блоков зашифрованных данных: БЗДМ, БЗДМ-1,..., БЗД1 формируется массив ЗД зашифрованных данных.

В блоке 10 формируется собственно код имитовставки (ИВ) путем выделения содержимого l младших разрядов кода ЗД (операция (ЗД)тос| 2) Длина l кода ИВ определяется действующими криптографическими требованиями. При этом учитывается, что вероятность навязывания ложных данных pN = 2-1. Например, при 1= 32 эта вероятность pN = 0,233 х10-9.

Сравнительный анализ ГОСТ 28147-89 и американского стандарта DES-75 (Data Encryption Standard 1975 year). Система блочного шифрования DES [1, 3, 6—8] на основе принципов «рассеивания» (распространения влияния одного символа ИМ на множество символов ЗИМ с целью скрытия статистических свойств ИМ) и «перемешивания» (преобразования, усложняющего восстановление взаимосвязи статистических свойств

1

2

3

4

5

6

0

9

ИМ и ЗИМ) [9] остаётся на протяжении многих лет стандартом в США. Да и во всем мире еще долгое время будут использоваться системы шифрования на основе DES и ГОСТ, которые являются стойкими алгоритмами шифрования в том смысле, что неизвестно методов их взлома, кардинально отличающихся от метода сплошного перебора всех возможных значений ключей.

И тот, и другой алгоритм в режиме простой замены оперируют с блоками длиной в 64 разряда. Но у DES длина ключа составляет 56 разрядов по сравнению с 256 разрядами ключа ГОСТ. Кроме того, в DES всего 16 циклов зашифрования, а в ГОСТ — 32 цикла.

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

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

данных, даже если используются одинаковые ключи, но разные синхропосылки. Кроме режимов зашифрования в ГОСТ предусмотрен режи м выработки имитовставки, что позволяет обнаруживать подмены в ЗИМ.

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

Таким образом, представляется необходимым для обеспечения требуемого уровня защищённости циркулирующей в ГАС РФ «Правосудие» привилегированной информации использовать криптографические алгоритмы ГОСТ 28147-89 как во внутреннем — закрытом контуре, так и во внешнем — публичном контуре информационного взаимодействия территориально распределённых информационно-вычислительных сегментов объектов автоматизации: Верховного Суда РФ, судов общей юрисдикции, органов Судебного департамента, центров подготовки и обучения, центров поддержки и др.

Рецензент: Федичев Андрей Валерьевич, кандидат технических наук, директор ФБУ «Научный центр правовой информации при Министерстве юстиции Российской Федерации», Российская Федерация, г. Москва

E-mail: [email protected] Литература

1. Баричев С. Г., Гончаров В. В., Серов C. Е. Основы современной криптографии. М.: Горячая линия-Телеком, 2011. 175 с.

2. Ловцов Д. А. Проблема информационной безопасности ГАС РФ «Правосудие» // Российское правосудие. 2012. № 5. С. 103—109.

3. Ловцов Д. А. Контроль и защита информации в АСУ. М.: ВА им. Петра Великого, 1991. 172 с.

4. Ловцов Д. А. Проблема гарантированного обеспечения информационной безопасности крупномасштабных автоматизированных систем // Правовая информатика. 2017. № 3. С. 66—74.

5. Ловцов Д. А. Информационная надёжность функционирования телематической сети ГАС РФ «Правосудие» // Правовая информатика. 2018. № 1.

6. Малюк А. А., Пазизин С. В., Погожин Н. С. Введение в защиту информации в автоматизированных системах. М.: Горячая линия-Телеком, 2011. 146 с.

7. Рябко Б. Я., Фионов А. Н. Основы современной криптографии и стеганографии. М.: Горячая линия-Телеком, 2011. 232 с.

8. Хоффман Л. Дж. Современные методы защиты информации. М.: Сов. радио, 1980. 246 с.

9. Шеннон К. Теория связи в секретных системах // Работы по теории информации и кибернетики. М.: Иностранная литература, 1963. С. 333—402.

i Надоели баннеры? Вы всегда можете отключить рекламу.