СПОСОБ И УСТРОЙСТВО ИМИТОУСТОЙЧИВОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ ПО КАНАЛАМ СВЯЗИ
METHOD AND DEVICE FOR SPOOFING RESISTANT INFORMATION THROUGH COMMUNICATION CHANNELS

Область техники
Предлагаемое изобретение относится к области радио- и электросвязи, а именно к области способов и устройств криптографической защиты информации, передаваемой по открытым каналам связи либо хранящейся на носителях информации.
Уровень техники
е
1
2
k
Известны способы криптографической защиты информации, которые основаны на блочных шифрах (DES, AES, Serpent, Twofish, Кузнечик, Магма) [Ferguson N., Schneier В., T.Kohno Cryptography Engineering. Design Principles and Practical Applications, Second Edition, New York, John Wiley & Sons, Inc., 2010; ГОСТ P 34.12-2015 Информационная технология. Криптографическая защита информации. Блочные шифры], включающие в себя следующие этапы: зашифрование открытого и при необходимости дополненного текста М, представленного в виде блоков фиксированной длины  - операция конкатенации, k - количество блоков открытого текста М, генерация ключа зашифрования к, получение блоков шифртекста Ω, Ω,…,Ω по следующему правилу:
1
2
k
d
извлечение открытого текста М из последовательности блоков шифртекста Ω, Ω,…,Ω с помощью ключа расшифрования к:
выполнение обратной процедуры дополнения, где i=1, 2, ..., k. Таким образом, обеспечивается защита информации, содержащейся в открытом тексте М, при передаче по открытым каналам связи. Для защиты от навязывания ложной информации, подмены передаваемой информации или изменения хранимых данных в указанных способах предусмотрены следующие режимы работы:
режим гаммирования с обратной связью по выходу (Output Feedback, OFB);
режим простой замены с зацеплением (Cipher Block Chaining, СВС);
режим гаммирования с обратной связью по шифртексту (Cipher Feedback, CFB);
режим выработки имитовставки, хэш-кода (Message Authentication Code algorithm). Недостатками таких способов являются:
отсутствие возможности исправления искажений в блоках шифртекста, обусловленных преднамеренными воздействиями злоумышленника или влиянием случайных помех при передаче по открытым каналам связи;
возможность размножения ошибок, когда один или более ошибочный бит в одном блоке криптограммы оказывает(ют) влияние на расшифрование последующих блоков открытого текста;
отсутствие возможности восстановления достоверной информации при использовании в системах передачи информации без обратной связи.
Известны способы защиты информации, основанные на теории алгебраического кодирования (криптосистема Мак-Элиса, схема Нидеррайтера, криптосистема Рао-Нама и их модификации) [McEliece R.J. A public-key cryptosystem based on algebraic coding theory, DSN Progress Report 42-44, Jet Prop. Lab., Calif. Inst. Technol. 1978. - pp. 114-116; Niederreiter H. Knapsack-Type Cryptosystem and Algebraic Coding Theory, Probl. Control and Inform. Theory. 1986. - pp. 19-34; Rao T.R.N., Nam K.H. Private-key algebraic-coded cryptosystem. Advances in Cryptology - CRYPTO 86, New-York. - NY: Springer. 1986. - pp. 35-48]. Реализация данных схем основана на сложности декодирования полных линейных кодов (кодов общего положения).
Недостатками таких способов являются:
отсутствие возможности гарантированного обеспечения криптографической стойкости защищаемой информации (например, атака Сидельникова В.М. и Шестакова С.О. на систему Мак-Элиса);
сложность в реализации, обусловленная высокими размерностями системы;
длина криптограмм значительно превышает длину открытого текста;
достаточно высокая чувствительность блоков криптограмм к искажениям, возникающим в канале связи.
Известен способ защищенной передачи информации в многоканальных системах передачи, основанный на представлении блока шифртекста в виде упорядоченного набора неотрицательных вычетов и их передачи по случайно выбранным каналам [Belal А.А., Abdelhamid A.S. Secure transmission of sensitive data using multiple channels, The 3rd ACS/IEEE International Conference, Computer Systems and Applications, 2005. - Режим доступа: http://arxiv.org/ftp/cs/papers/0403/0403023.pdf. Дата обращения: 21.09.2017].
К недостатку способа следует отнести отсутствие возможности защиты передаваемых по каналам связи вычетов от влияния случайных помех и преднамеренных воздействий злоумышленника. Соответственно, искажение хотя бы одного вычета влияет на процесс формирования исходного блока шифртекста, что, в свою очередь, приведет к получению ошибочного блока открытого текста.
Наиболее близким по своей технической сущности к заявленному техническому решению и принятым за прототип является способ, описанный в [Патент РФ №2620730, опубл. 29.05.2017].
1
2
k
е
1
2
k
i
1
2
k
k+1
k+2
k+r
1
k
k+1
k+r
В рассматриваемом способе-прототипе для выполнения процедуры зашифрования блоков открытого текста M(z), M(z), …, M(z) по соответствующему ключу к(z), применяется k процедур зашифрования, блоки шифртекста Ω(z), Ω(z), …, Ω(z) интерпретируются как наименьшие неотрицательные вычеты по сгенерированным, упорядоченным по величине, взаимно простым модулям m(z) (i=1, 2, …, k), образующие информационный суперблок модулярного кода из последовательности блоков шифртекста Ω(z), Ω(z), …, Ω(z) после операции расширения формируются избыточные блоки данных ω(z), ω(z), …, ω{z), полученная совокупность блоков шифртекста и избыточных блоков данных Ω(z), ..., Ω(z), ω(z), …, ω(z) образует кодовый вектор модулярного кода, передаваемый получателю сообщения по k+r из А каналов передачи информации, который на приемной стороне обеспечивает обнаружение (преднамеренных и непреднамеренных) воздействий злоумышленника на защищаемую информацию и, при необходимости, восстановление достоверных данных, передаваемых по каналам связи (фиг. 1).
Недостатком данного способа является отсутствие возможности защиты информации от имитирующих действий злоумышленника, которому с целью навязывания ложных сообщений необходимо перехватить информационный суперблок модулярного кода для вычисления избыточных блоков данных.
Из уровня техники широко известно устройство защищенной обработки информации. Так, в [Massey J.L. An introduction to contemporary cryptology. Proc. IEEE. 1988. - pp. 533-549] предложено устройство, содержащее на передающей стороне источник сообщений, порождающий открытый текст, рандомизатор, шифратор, а также генератор ключевой гаммы, выход источника сообщений подключен к первому входу шифратора, ко второму входу которого подключен выход рандомизатора, соответственно к третьему входу шифратора подключен выход генератора ключевой гаммы, причем выход шифратора через «открытую» линию связи на приемной стороне подключен к первому входу дешифратора, ко второму входу которого через защищенную линию связи подключен выход блока ключевой гаммы, при этом выход дешифратора подключен к входу источника сообщений (фиг. 2). Недостатком устройства является низкая помехозащищенность.
t
t
Наиболее близким по технической сущности является устройство шифрования данных [Патент США №US005539827A, опубл. 23.07.1996], содержащее на передающей стороне шифратор (фиг. 3), состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор открытого текста, шифратор (блок шифрования), счетчик блоков текста, генератор псевдослучайной последовательности (ПСП), процессор формирования ключей шифрования (процессор ключей шифрования); буфера ввода открытого текста, вход которого является входом шифратора, на который поступает открытый текст, выход которого подключен к первому входу препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход накопителя (блока хранения) управляющих параметров шифрования (N - длина блока открытого текста), второй выход которого (с - начальное заполнение генератора ПСП) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров шифрования (z - компонента вектора шифрования), ко второму входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно третий выход блока хранения управляющих параметров шифрования подключен к первому входу блока шифрования, ко второму входу которого подключен выход препроцессора открытого текста, при этом выход блока шифрования подключен к входу буфера вывода блоков шифртекста, выход которого является выходом шифратора, с выхода которого блоки шифртекста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне - дешифратор (фиг. 4), состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор шифртекста, дешифратор (блок расшифрования), блок инверсии, счетчик блоков шифртекста (текста), генератор ПСП, процессор формирования ключей шифрования (процессор ключей шифрования); буфера ввода шифртекста, вход которого является входом дешифратора, на который из канала связи поступают блоки шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму входу которого подключен первый выход накопителя (блока хранения) управляющих параметров расшифрования (N - длина блока шифртекста), второй выход которого (с - начальное заполнение генератора ПСП) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров расшифрования (z - компонента вектора шифрования), при этом третий выход блока хранения управляющих параметров расшифрования подключен к входу блока инверсии, соответствующий выход которого подключен ко второму входу блока управляющих параметров расшифрования, к третьему входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно четвертый выход блока хранения управляющих параметров расшифрования подключен к первому входу блока расшифрования, ко второму входу которого подключен выход препроцессора шифртекста, при этом выход блока расшифрования подключен к первому входу буфера вывода блоков открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, выход которого является выходом дешифратора, с выхода которого поступает открытый текст; счетчик блоков текста отслеживает номер обрабатываемого блока.
К основному недостатку устройства-прототипа следует отнести отсутствие механизмов обеспечения имитоустойчивости (способности к восстановлению достоверных шифрованных данных, передаваемых по каналам связи в условиях преднамеренных (имитирующих действий злоумышленника) помех).
Целью заявляемого технического решения является повышение устойчивости способа и устройства передачи шифрованной информации к преднамеренным имитирующим воздействиям злоумышленника.
Раскрытие изобретения
Технический результат изобретения достигается тем, что:
1
2
k
1
2
k
e,i
1
2
k
i
1
2
k
k+1
k+2
k+r
1
k
k+1
k+r
k+1
k+2
k+r
е
1. В известном способе защищенной передачи шифрованной информации по каналам связи защита информации осуществляется представлением сообщения M(z) в виде блоков фиксированной длины M(z)={M(z)||M(z)||…||M(z)}, применением k процедур зашифрования к блокам открытого текста M(z), M(z), …, M(z) по соответствующему ключу к(z)=(i=1, 2, …, k), представлением полученных блоков шифртекста Ω(z), Ω(z), …, Ω(z) в виде наименьших неотрицательных вычетов по сгенерированным, упорядоченным по величине, взаимно простым модулям m(z) (i=1, 2, …, k), формированием информационного суперблока модулярного кода Ω(z), Ω(z), …, Ω(z) выполнением операции расширения информационного суперблока модулярного кода и получения избыточных блоков данных ω(z), ω(z), …, ω(z), формированием кодового вектора модулярного кода Ω(z), …, Ω(z), ω(z), …, ω(z) и передачи его получателю сообщения по k+r из А каналов передачи информации, который на приемной стороне обеспечивает обнаружение (преднамеренных и непреднамеренных) воздействий злоумышленника на защищаемую информацию. Новым является то, что множество выработанных избыточных данных ω(z), ω(z), …, ω(z) подвергается процедуре блочного шифрования, алгоритм которого выполняет нелинейные биективные преобразования по соответствующему ключу к(z). Новым является получение избыточного шифртекста  …,  и формирование криптокодовых конструкций - имитоустойчивой последовательности шифрованного текста, обеспечивающей «математический» разрыв процедуры (непрерывной функции) формирования элементов криптокодовых конструкций, выравнивание по длине всей совокупности элементов криптокодовых конструкций и восстановление достоверных блоков шифртекста.
t
t
i
i
i+r
i
i
i+r
2. Устройство шифрования данных, содержащее на передающей стороне шифратор, состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор открытого текста, блок шифрования, счетчик блоков текста, генератор ПСП, процессор ключей шифрования; буфера ввода открытого текста, вход которого является входом шифратора, на который поступает открытый текст, выход которого подключен к первому входу препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход блока хранения управляющих параметров шифрования (N), второй выход которого (с) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров шифрования (z), ко второму входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно третий выход блока хранения управляющих параметров шифрования подключен к первому входу блока шифрования, ко второму входу которого подключен выход препроцессора открытого текста, при этом выход блока шифрования подключен к входу буфера вывода блоков шифртекста, выход которого является выходом шифратора, с выхода которого блоки шифртекста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне - дешифратор, состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор шифртекста, блок расшифрования, блок инверсии, счетчик блоков текста, генератор ПСП, процессор ключей шифрования; буфера ввода шифртекста, вход которого является входом дешифратора, на который из канала связи поступают блоки шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму входу которого подключен первый выход блока хранения управляющих параметров расшифрования (N), второй выход которого (с) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров расшифрования (z), при этом третий выход блока хранения управляющих параметров расшифрования подключен к входу блока инверсии, соответствующий выход которого подключен ко второму входу блока управляющих параметров расшифрования, к третьему входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно четвертый выход блока хранения управляющих параметров расшифрования подключен к первому входу блока расшифрования, ко второму входу которого подключен выход препроцессора шифртекста, при этом выход блока расшифрования подключен к первому входу буфера вывода блоков открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, выход которого является выходом дешифратора, с которого поступает открытый текст; счетчик блоков текста отслеживает номер обрабатываемого блока, на передающей стороне введены функциональные блоки процессора: генератор неприводимых полиномов, блок расширения модулярного кода, блок шифрования избыточных блоков данных; буфер вывода избыточных блоков шифртекста, коммутатор объединения, при этом буфер ввода открытого текста, вход которого является входом криптокодового преобразователя информации, на который поступает открытый текст, выход которого подключен к первому вход препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход блока хранения управляющих параметров шифрования (N), выход препроцессора открытого текста подключен к первому входу блока шифрования, ко второму входу которого подключен второй выход блока хранения управляющих параметров шифрования ( - итерационные ключи зашифрования, выработанные на основании секретного ключа (℘)), при этом первый выход блока шифрования подключен к входу буфера вывода блоков шифртекста, второй выход блока шифрования подключен к первой группе (первому входу) входов блока расширения модулярного кода, ко второй группе (второй, третий входы) входов которого подключен первый и второй выходы генератора неприводимых полиномов (информационных и избыточных), к входу которого подключен третий выход блока хранения управляющих параметров шифрования (N): при этом выход блока расширения модулярного кода подключен к первому входу блока шифрования избыточных блоков данных, выход которого подключен к входу буфера вывода избыточных блоков шифртекста, при этом ко второму входу блока шифрования избыточных блоков данных подключен четвертый выход блока хранения управляющих параметров шифрования (), к первому вход которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ (℘)); при этом к третьей группе (четвертый, пятый, шестой входы) входов блока расширения модулярного кода подключена группа (пятый, шестой, седьмой выходы) выходов блока хранения управляющих параметров шифрования (предвычисленные параметры B(z), m(z), m(z)); выходы буфера вывода блоков шифртекста и выходы буфера вывода избыточных блоков шифртекста подключены к первому и второму входам коммутатора объединения, выход которого является выходом криптокодового преобразователя информации, с выхода которого сформированные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне введены коммутатор разделения, буфер ввода избыточных блоков шифртекста, функциональные блоки процессора: препроцессор избыточного шифртекста, блок расшифрования избыточных блоков шифртекста, генератор неприводимых полиномов, блок обнаружения и коррекции искажений, при этом коммутатор разделения, вход которого является входом криптокодового преобразователя информации, на который из канала связи поступают криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста, при этом первый выход коммутатора разделения подключен к входу буфера ввода избыточных блоков шифртекста, выход которого подключен к первому входу препроцессора избыточного шифртекста, ко второму входу препроцессора избыточного текста подключен первый выход блока хранения управляющих параметров шифрования (N), при этом выход которого подключен к первому входу блока расшифрования избыточных блоков шифртекста, ко второму входу которого подключен второй выход блока хранения управляющих параметров шифрования ( - итерационные ключи расшифрования, выработанные на основании секретного ключа (℘)), при этом выход блока расшифрования избыточных блоков шифртекста подключен к первой группе (первому входу) входов блока обнаружения и коррекции искажений, ко второй группе (второй, третий входы) входов которого подключен первый и второй выходы генератора неприводимых полиномов (информационных и избыточных), к входу генератора неприводимых полиномов подключен третий выход блока хранения управляющих параметров шифрования (N); при этом второй выход коммутатора разделения подключен к входу буфера ввода блоков шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму входу которого подключен четвертый выход блока хранения управляющих параметров шифрования (N), при этом выход препроцессора шифртекста подключен к третьей группе (четвертому входу) входов блока обнаружения и коррекции искажений, соответствующий выход которого подключен к первому входу блок расшифрования, ко второму входу которого подключен пятый выход блока хранения управляющих параметров шифрования (), к первому входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ (℘)); при этом выход блока расшифрования подключен к первому входу буфера вывода блоков открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, выход которого является выходом криптокодового преобразователя информации, с выхода которого поступает открытый текст; при этом к четвертой группе (пятый, шестой, седьмой входы) входов блока обнаружения и коррекции искажений подключена группа (шестой, седьмой, восьмой выходы) выходов блока хранения управляющих параметров шифрования (предвычисленные параметры B(z), m(z), m(z)); счетчик блоков текста отслеживает номер обрабатываемого блока.
Благодаря введению в известный объект совокупности существенных отличительных признаков, способ и устройство имитоустойчивой передачи информации по каналам связи позволяют:
обеспечить доведение информации по каналам связи с ненулевой пропускной способностью;
обеспечить гарантированную стойкость системы криптографической защиты информации;
обеспечить обнаружение и восстановление искаженных, имитируемых злоумышленником данных.
Указанные отличительные признаки заявленного изобретения по сравнению с прототипом позволяют сделать вывод о соответствии заявленного технического решения критерию «новизна».
Описание чертежей
На чертежах представлено:
на фиг. 1 изображена схема, поясняющая сущность работы способа-прототипа; на фиг. 2 изображена схема устройства защищенной обработки информации;
на фиг. 3 изображена схема устройства-прототипа шифрования данных (передающая часть);
на фиг. 4 изображена схема устройства-прототипа шифрования данных (принимающая часть);
на фиг. 5 изображена схема устройства имитоустойчивой передачи информации (передающая часть);
на фиг. 6 изображена схема устройства имитоустойчивой передачи информации (принимающая часть).
Реализация заявленного способа, устройства
Для большей ясности описание изобретения, позволяющее специалисту произвести осуществление предложенного изобретения и показывающее влияние признаков, приведенных в формуле изобретения, на указанный выше технический результат, будем производить следующим образом: сначала раскроем структуру устройства, а затем опишем реализацию способа в рамках предложенного устройства.
Устройство имитоустойчивой передачи информации по каналам связи содержит на передающей стороне (фиг. 5) криптокодовый преобразователь информации 30, состоящий из буфера 200 ввода открытого текста, накопителя 210 управляющих параметров, процессора 220, реализующего функции, представленные в виде функциональных блоков: препроцессора 221 открытого текста, блока 222 шифрования, генератора неприводимых полиномов 223, блока 224 расширения модулярного полиномиального кода, процессора 225 формирования ключей шифрования, блока 226 шифрования избыточных блоков данных, счетчика 227 блоков текста; блока (таблицы) 230 кодовых символов, буфера 240 вывода шифртекста, буфера 250 вывода избыточного шифртекста, коммутатора 260 объединения; и на приемной стороне устройство содержит (фиг. 6) криптокодовый преобразователь информации 50, состоящий из коммутатора 300 разделения, буфера 310 ввода избыточного шифртекста, накопителя 320 управляющих параметров, буфера 330 ввода шифртекста, процессора 340, реализующего функции, представленные в виде функциональных блоков: препроцессора 341 избыточного шифртекста, генератора неприводимых полиномов 342, процессора 343 формирования ключей расшифрования, блока 344 расшифрования избыточного шифртекста, блока 345 обнаружения и коррекции искажений, препроцессора 346 шифртекста, счетчика 347 блоков текста, блока 348 расшифрования шифртекста; буфера 350 вывода открытого текста, блока (таблицы) 360 кодовых символов.
Устройство работает следующим образом.
Подлежащая передаче информация, представленная в виде потока символов, поступает в криптокодовый преобразователь информации 30, буферизируется буфером 200 ввода открытого текста перед его предварительной обработкой препроцессором 221 открытого текста. Препроцессор 221 открытого текста анализирует входной поток символов открытого текста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 210 управляющих параметров и осуществляет преобразование символов открытого текста в числовые значения, поступающие с блока (таблицы) 230 кодовых символов. Сформированные блоки открытого текста поступают в блок 222 шифрования, в котором осуществляется процедура блочного шифрования с нелинейными биективными преобразованиями с помощью итерационных ключей зашифрования () накопителя 210 управляющих параметров. Итерационные ключи зашифрования вырабатываются процессором 225 формирования ключей на основании введенного секретного ключа (℘). Сформированные блоки шифртекста поступают в буфер 240 вывода шифртекста и в блок 224 расширения модулярного полиномиального кода, в который также поступают неприводимые полиномы, количество которых определяется количеством блоков шифртекста и необходимым количеством избыточных блоков данных, выработанные генератором 223 в соответствии с параметром (N) накопителя 210 управляющих параметров. В блоке 224 расширения модулярного полиномиального кода вырабатываются избыточные блоки данных, которые поступают в блок 226 шифрования избыточных данных, в котором осуществляется процедура блочного шифрования с нелинейными биективными преобразованиями и с помощью итерационных ключей зашифрования () накопителя 210 управляющих параметров. Сформированные блоки избыточного шифртекста поступают в буфер 250 вывода избыточного шифртекста. Сформированные блоки шифртекста с выхода буфера 240 вывода шифртекста (информационные элементы) и сформированные блоки избыточного шифртекста с выхода буфера 250 вывода избыточного шифртекста (избыточные элементы) поступают на соответствующие входы коммутатора 260 объединения, в котором формируются криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста. При этом счетчик блоков 227 текста отслеживает обрабатываемый блок текста для согласования с управляющими параметрами процедур зашифрования. В одном варианте реализации криптокодового преобразователя информации неприводимые полиномы и другие параметры блока 224 расширения модулярного полиномиального кода могут быть вычислены заранее и сохранены в накопителе 210 управляющих параметров.
На приемной стороне принятые криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают в криптокодовый преобразователь информации 50, на вход коммутатора 300 разделения, с первого выхода которого последовательность избыточного шифртекста буферизируется буфером 310 ввода избыточного шифртекста перед его предварительной обработкой препроцессором 341 избыточного шифртекста. Препроцессор 341 избыточного шифртекста анализирует входной поток шифртекста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 320 управляющих параметров. Сформированные блоки избыточного шифртекста (избыточные элементы) поступают в блок 344 расшифрования избыточного шифртекста, в котором осуществляется преобразование избыточных блоков шифртекста в избыточные блоки данных в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования  накопителя 320 управляющих параметров. Итерационные ключи расшифрования  вырабатываются процессором 343 формирования ключей на основании введенного секретного ключа (℘). Сформированные избыточные блоки данных поступают в блок 345 обнаружения и коррекции искажений, в который также поступают неприводимые полиномы, выработанные генератором 342 в соответствии с параметром (N) накопителя 320 управляющих параметров (количество и значения выработанных полиномов соответствуют параметрам передающей стороны). При этом со второго выхода коммутатора 300 разделения последовательность шифртекста буферизируется буфером 330 ввода шифртекста перед его предварительной обработкой препроцессором 346 шифртекста. Препроцессор 346 шифртекста анализирует входной поток шифртекста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 320 управляющих параметров. Сформированные блоки шифртекста (информационные элементы) поступают в блок 345 обнаружения и коррекции искажений, в котором осуществляется обнаружение и исправление искажений, обусловленных имитирующими воздействиями злоумышленника. Исправленная последовательность блоков шифртекста поступает на вход блока 348 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования . Расшифрованная последовательность блоков открытого текста поступает в буфер 350 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 360 кодовых символов. При этом счетчик блоков 347 текста отслеживает обрабатываемый блок текста для согласования с управляющими параметрами процедур расшифрования. В одном варианте реализации криптокодового преобразователя информации неприводимые полиномы и другие параметры блока 345 обнаружения и коррекции искажений могут быть вычислены заранее и сохранены в накопителе 320 управляющих параметров.
Кроме того, настоящее изобретение предлагает способ имитоустойчивой передачи информации по каналам связи.
В одном варианте исполнения способ (устройство) имитоустойчивой передачи информации по каналам связи может быть реализован(о) в соответствии с положениями модулярных полиномиальных кодов (МПК).
1
2
k
Математический аппарат МПК основывается на фундаментальных положениях Китайской теоремы об остатках для многочленов [Mandelbaum D.M. On Efficient Burst Correcting Residue Polynomial Codes. Information and control. 1970. - pp. 319-330]. Пусть m(z), m(z), …, m(z) ∈ F[z] неприводимые полиномы, упорядоченные по возрастанию степеней, т.е.
1
2
k
i
degm(z)≤degm(z)≤…≤degm(z), где degm(z) - степень полинома.
i
j
a
a
Причем gcd(m(z),m(z))=1,  Положим Тогда отображение ϕ устанавливает взаимно-однозначное соответствие между полиномами (z), не превосходящими по степени P(z) (deg (z)<deg P(z)), и наборами остатков по приведенной выше системе оснований полиномов (модулей):
i
i
-1
где ϕ(a(z)):=a(z) mod m(z) (i=1, 2, …, k). В соответствии с Китайской теоремой об остатках для многочленов, существует обратное преобразование ϕ, позволяющее переводить набор остатков по системе оснований полиномов к позиционному представлению [Mandelbaum D.M. On Efficient Burst Correcting Residue Polynomial Codes // Information and control. 1970. 16. p. 319-330]:
i
i
i
i
i
-1
где B{z)=k(z)P{z) - полиномиальные ортогональные базисы, k(z)=P(z) mod m(z),  (i=1, 2, …, k). Введем вдобавок к имеющимся k еще r избыточных оснований полиномов с соблюдением условия упорядоченности:
тогда получим расширенный МПК - множество вида:
i
i
a
где n=k+r, c(z)=(z) mod m(z)
i
Элементы кода c(z) назовем символами, каждый из которых - суть полиномов из фактор-кольца многочленов по модулю
a
a
1
k
k+1
n
i
min
min
min
Назовем  рабочим диапазоном системы,  - полным диапазоном системы. При этом, если  то считается, что данная комбинация содержит ошибку. Следовательно, местоположение полинома (z) позволяет определить, является ли кодовая комбинация (z)=(c(z), …, c(z), c(z), …, c(z)) разрешенной, или она содержит ошибочные символы. Введем метрику. Весом кодового слова расширенного МПК С является количество ненулевых символов (вычетов) c(z), 1≤i≤n, обозначается как ω(C). Кодовое расстояние между С и D определяется как вес их разности d(C, D)=ω(C - D). Минимальное кодовое расстояние - наименьшее расстояние между двумя любыми кодовыми векторами по Хэммингу с учетом данного определения веса:  где ζ - кодовое пространство. Минимальное кодовое расстояние d связано с корректирующими способностями расширенного МПК. Так как два кодовых слова отличаются по крайней мере в d вычетах, то невозможно изменить одно кодовое слово на другое путем замены d - 1 или меньшего количества вычетов. Таким образом, расширенный МПК может гарантированно обнаружить любые
ошибочных вычетов. Если b - наибольшее целое число, меньшее или равное
то для b или меньшего числа ошибочных вычетов результирующее кодовое слово остается ближе к исходному, что позволяет расширенному МПК гарантированно исправлять b ошибочных вычетов.
i
Сгенерированное отправителем сообщение М подлежит зашифрованию, поступает на вход криптокодового преобразователя информации 30, буферизируется в виде символов в буфере 220 ввода открытого текста перед его предварительной обработкой препроцессором 221 открытого текста. Препроцессор 221 открытого текста анализирует входной поток символов открытого текста, осуществляет преобразование символов открытого текста в числовые значения, поступающие с блока (таблицы) 230 кодовых символов и в соответствии с параметром (N) накопителя 210 управляющих параметров разбивает его на блоки фиксированной длины  в зависимости от алгоритма шифрования (ГОСТ 34.12-2015 с блоками 64, 128 бит соответственно). Введя формальную переменную z i-й блок открытого текста M, представим в полиномиальной форме:
где
1
2
k
1
2
k
С целью обеспечения необходимого уровня конфиденциальности информации сформированная последовательность блоков открытого текста M(z), M(z), …, M(z) поступает в блок 222 шифрования. Для получения последовательности блоков шифртекста Ω(z),Ω(z), ..., Ω(z) потребуется выполнение k операций зашифрования. Соответственно отображение (1) может быть представлено в виде:
где  - итерационные ключи зашифрования, выработанные процессором 225 формирования ключей на передающей стороне на основании введенного секретного ключа (℘).
i
i
i
i
j
i
i
i
1
2
k
1
2
k
1
2
k
i
j
1
2
k
i
i
Сформированная последовательность блоков шифртекста Ω(z) (i=1, 2, …, k) буферизируется в буфере 240 вывода шифртекста и параллельно поступает в блок 224 расширения МПК. Принятая блоком 224 расширения МПК последовательность блоков шифртекста Ω(z) (i=1, 2, …, k) представляется в виде наименьших неотрицательных вычетов по основаниям-полиномам m(z), сформированным генератором 223, таким, что gcd(m(z),m(z))=1, i=1, 2, …, k. Причем deg Ω(z)<deg m(z), где deg Ω(z) - степень полинома (i=1, 2, …, k). Совокупность блоков шифртекста Ω(z), Q(z), …, Ω(z) представляется как единый информационный суперблок МПК по системе оснований m(z), m(z), …, m(z). В соответствии с Китайской теоремой об остатках для заданного множества многочленов m(z), m(z), …, m(z), удовлетворяющих условию gcd(m(z),m(z))=1, и многочленов Ω(z),Ω(z), …, Ω(z) таких, что deg Ω(z)<deg m(z), система сравнений
имеет единственное решение Ω(z).
k+1
k+2
n
j
j
i
Далее в блоке 224 расширения МПК осуществляется дополнительное формирование генератором 223 r избыточных оснований полиномов m(z), m(z), …, m(z), удовлетворяющих условию (3), таких, что gcd(m(z), m(z))=1 для  и в соответствии с выражением (4) вырабатываются избыточные блоки данных (вычеты), которые обозначим как ω(z) (i=k+1, k+2, …, n). Сформированная в блоке 224 расширения МПК совокупность избыточных вычетов поступает в блок 226 шифрования избыточных блоков данных, в котором осуществляется биективное нелинейное преобразование избыточных блоков данных в избыточный шифртекст:
где  - итерационные ключи зашифрования, выработанные процессором 225 формирования ключей на передающей стороне на основании введенного секретного ключа (℘). Сформированная совокупность избыточного шифртекста  поступает в буфер 250 вывода избыточного шифртекста.
Коммутатор 260 объединения на основании принятого из буфера 240 вывода шифртекста единого информационного суперблока МПК и принятой из буфера 250 вывода избыточного шифртекста совокупности избыточных шифрованных элементов МПК для дальнейшей передачи информации осуществляет формирование криптокодовых конструкций - имитоустойчивой последовательности шифрованного текста.
На приемной стороне принимаемые криптокодовым преобразователем информации криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают на вход коммутатора 300 разделения, с первого выхода которого последовательность избыточного шифртекста поступает в буфер 310 ввода избыточного шифртекста, затем осуществляется его предварительная обработка препроцессором 341 избыточного шифртекста, в котором входной поток шифртекста разбивается на блоки фиксированной длины, в соответствии с параметром (N) накопителя 320 управляющих параметров. Со второго выхода коммутатора 300 разделения последовательность шифртекста (единый информационный суперблок МПК) поступает в буфер 330 ввода шифртекста, далее осуществляется предварительная обработка препроцессором 346 шифртекста и формирование блоков шифртекста длины, заданной значением (N) накопителя 320 управляющих параметров. Сформированные препроцессором 346 шифртекста блоки шифртекста, обозначенные как  ввиду возможного содержания искаженных элементов, поступают в блок 345 обнаружения и коррекции искажений. Избыточная последовательность блоков шифртекста, так же возможно содержащая искажения и обозначенная как,  поступает в блок 344 расшифрования избыточного шифртекста, в котором осуществляется преобразование избыточных блоков шифртекста в избыточные блоки данных:
где  - 1) - итерационные ключи расшифрования, выработанные процессором 343 формирования ключей на принимающей стороне на основании введенного секретного ключа (℘).
i
(P(z))
(P(z))
F[z]
F[z]
Полученная последовательность избыточных блоков данных  (i=k+1, k+2, …, n) поступает в блок 345 обнаружения и коррекции искажений, в котором на основании принятого единого информационного суперблока МПК  (i=1, 2, …, k) по основаниям полиномов m(z) (i=1, 2, …, n), выработанным генератором неприводимых полиномов 342, формируется кодовый вектор расширенного МПК  Далее осуществляется процедура обнаружения искаженных (имитируемых) злоумышленником элементов МПК, где их количество обусловлено выражением (5), при этом критерием отсутствия обнаруживаемых ошибок является выполнение условия: Ω*(z)∈/ - Критерием существования обнаруживаемой ошибки - выполнение условия: Ω*(z)∉/, где Ω(z) - решение системы сравнений (7) в соответствии с выражением (2), символ «*» указывает на наличие возможных искажений в кодовом векторе. Восстановление искаженных элементов МПК осуществляется с учетом (6) путем вычисления наименьших вычетов:
или любым другим известным методом декодирования избыточных МПК, где символы  указывают на вероятностный характер восстановления.
Исправленная последовательность блоков шифртекста  поступает на вход блока 348 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста:
с помощью итерационных ключей расшифрования  выработанных процессором 343 формирования ключей на основании введенного секретного ключа (℘). Расшифрованная последовательность блоков открытого текста  поступает в буфер 350 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 360 кодовых символов.
Заявленное изобретение может быть осуществлено с помощью средств и методов, описанных в доступных источниках информации. Это позволяет сделать вывод о соответствии заявленного изобретения признакам «промышленной применимости».
Пример. Для простоты понимания сущности предлагаемого решения управляющие параметры способа (устройства) будут отличаться от исходных. При этом будем полагать, что информация, подлежащая передаче, поступает в криптокодовый преобразователь информации 30, в котором осуществляется предварительная ее обработка и реализуется процедура блочного шифрования блоком 222. При этом генератором 223 выработано заданное количество информационных и избыточных оснований-полиномов с соблюдением условия (3), а блок 224 расширения МПК сформировал избыточные блоки данных в соответствии с выражением (4). В таблице 1 представлены предварительные результаты выполненных преобразований. Сформированные избыточные блоки данных поступают в блок 226 шифрования,
в котором формируются избыточные блоки шифртекста
Коммутатор 260 объединения на основании блоков шифртекста и избыточных блоков шифртекста осуществляет формирование криптокодовых конструкций - имитоустойчивой последовательности шифрованного текста, подлежащих дальнейшей передачи по каналам связи в условиях деструктивных воздействий злоумышленника.
Пусть в принятой имитоустойчивой последовательности шифрованного текста ошибочным является элемент  где  - ошибочный член степени i полинома  На приемной стороне принимаемая криптокодовым преобразователем информации 50 имитоустойчивая последовательность шифрованного текста подлежит преобразованиям, в соответствии с которыми формируются исходные данные для блока 345 обнаружения и коррекции искажений. Также последовательность избыточного шифртекста подлежит расшифрованию
5
2
3
4
5
6
7
ω(z)=z+z+z+z+z+z;
6
3
4
ω(z)=z+z+z.
В таблице 2 представлены предварительные результаты выполненных преобразований.  При этом
5
7
10
11
15
P(z)=1+z+z+z+z+z.
Блок 345 обнаружения и коррекции искажений выполняет процедуру проверки МПК, например базирующуюся на вычислении проекций и поиска синдромов ошибок [Калмыков И.А. Математические модели нейросетевых отказоустойчивых вычислительных средств в полиномиальной системе классов вычетов. М.: ФИЗМАТЛИТ, 2005. - 276 с.], для этого вычислив Ω(z) в соответствии с выражением (2):
5
8
10
12
13
14
15
17
18
19
23
24
30
Ω(z)=1+z+z+z+z+z+z+z+z+z+z+z+z+z+z.
F[z]
(P(z)),
Поскольку Ω(z)∉/ то полином Ω(z) является неправильным и содержит искажения.
1
Вычислим проекцию полинома  и синдром ошибок по основанию-полиному m(z), для которого проекция  может быть выражена, как
В результате получим
F[z]
(P(z))
значение которой не отвечает критерию Ω''(z)∈/.
Вычислим синдром ошибок
где
1
Полученные синдромы являются не нулевыми, соответственно, полученная по основанию-полиному m(z) проекция является неверной.
2
Вычислим проекцию полинома  и синдром ошибок по основанию-полиному m(z), для которого проекция  может быть выражена, как
В результате получим
F[z]
(P(z))
значение которой не отвечает критерию Ω''(z)∈/.
Вычислим синдром ошибок
2
Полученные синдромы являются не нулевыми, соответственно, полученная по основанию-полиному m(z) проекция является неверной.
3
Вычислим проекцию полинома  и синдром ошибок по основанию-полиному m(z), для которого проекция  может быть выражена, как
В результате получим
значение которой отвечает критерию  Вычислим синдром ошибок
3
3
3
В результате получено r синдромов, один из которых равен 0, что позволяет сделать вывод о наличии ошибки в вычете  и исправить ошибку. Для этого воспользуемся проекцией  по основанию-полиному m(z) и вычислим значение Ω(z). Получим Ω(z)=1.
Таким образом, процесс поиска и коррекции ошибок более высокой кратности может происходить пока обнаруживающая способность МПК не будет превышена.
Исправленная последовательность блоков шифртекста  поступает на вход блока 348 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста. Расшифрованная последовательность блоков открытого текста  поступает в буфер 350 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 360 кодовых символов.
Приведенный пример показал, что способ и устройство имитоустойчивой передачи информации по каналам связи функционирует корректно, технически реализуем(о) и позволяет решить поставленную задачу.