СПОСОБ И УСТРОЙСТВО МНОГОМЕРНОЙ ИМИТОУСТОЙЧИВОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ ПО КАНАЛАМ СВЯЗИ
METHOD AND DEVICE FOR MULTIDIMENSIONAL IMITATION RESISTANCE TRANSMISSION OF INFORMATION OVER COMMUNICATION CHANNELS

Область техники
Предлагаемое изобретение относится к области радио- и электросвязи, а именно к области способов и устройств криптографической защиты информации, передаваемой по открытым каналам связи либо хранящейся на носителях информации.
Уровень техники
1
2
k
е)
1
2
k
Известны способы криптографической защиты информации, которые основаны на блочных шифрах (DES, AES, Serpent, Twofish, Кузнечик, Магма) [Ferguson N., Schneier В., Kohno Т. Cryptography Engineering. Design Principles and Practical Applications, Second Edition, New York, John Wiley & Sons, Inc., 2010; ГОСТ P 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры], включающие в себя следующие этапы: зашифрование открытого и при необходимости дополненного текста М, представленного в виде блоков фиксированной длины М={M||M|| … ||M}, где || - операция конкатенации, k - количество блоков открытого текста М, генерация ключа зашифрования κ получение блоков шифртекста Ω, Ω, …, Ω по следующему правилу:
1
2
k
d
извлечение открытого текста М из последовательности блоков шифртекста Ω, Ω, …, Ω с помощью ключа расшифрования κ:
i
d
i
M→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. Tech. 1978. - pp. 114-116; Niederreiter H. Knapsack-Type Cryptosystem and Algebraic Coding Theory, Probl. Cont. 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. Дата обращения: 19.02.2018].
К недостатку способа следует отнести отсутствие возможности защиты передаваемых по каналам связи вычетов от влияния случайных помех и преднамеренных воздействий злоумышленника. Соответственно, искажение хотя бы одного вычета влияет на процесс формирования исходного блока шифртекста, что, в свою очередь, приведет к получению ошибочного блока открытого текста.
Наиболее близким по своей технической сущности к заявленному техническому решению и принятым за прототип является способ, описанный в [Патент РФ №2620730 публ. 20.02.2018].
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) применяется к процедур зашифрования, блоки шифртекста Ω(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] предложено устройство, содержащее на передающей стороне источник сообщений, порождающий открытый текст, рандомизатор, шифратор, а также генератор ключевой гаммы, выход источника сообщений подключен к первому входу шифратора, ко второму входу которого подключен выход рандомизатора, соответственно к третьему входу шифратора подключен выход генератора ключевой гаммы, причем выход шифратора через «открытую» линию связи на приемной стороне подключен к первому входу дешифратора, ко второму входу которого через защищенную линию связи подключен выход блока ключевой гаммы, при этом выход дешифратора подключен к входу источника сообщений.
Недостатком устройства является низкая помехозащищенность.
t
t
Наиболее близким по технической сущности является устройство шифрования данных [Патент США № US 005539827 A публ. 23.07.1996], содержащее на передающей стороне шифратор (фиг. 2), состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор открытого текста, шифратор (блок шифрования), счетчик блоков текста, генератор псевдослучайной последовательности (ПСП), процессор формирования ключей шифрования (процессор ключей шифрования); буфера ввода открытого текста, вход которого является входом шифратора, на который поступает открытый текст, выход которого подключен к первому входу препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход накопителя (блока хранения) управляющих параметров шифрования (N - длина блока открытого текста), второй выход которого (с - начальное заполнение генератора ПСП) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров шифрования (z - компонента вектора шифрования), ко второму входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно третий выход блока хранения управляющих параметров шифрования подключен к первому входу блока шифрования, ко второму входу которого подключен выход препроцессора открытого текста, при этом выход блока шифрования подключен к входу буфера вывода блоков шифртекста, выход которого является выходом шифратора, с выхода которого блоки шифртекста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне - дешифратор (фиг. 3), состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор шифртекста, дешифратор (блок расшифрования), блок инверсии, счетчик блоков шифртекста (текста), генератор ПСП, процессор формирования ключей шифрования (процессор ключей шифрования); буфера ввода шифртекста, вход которого является входом дешифратора, на который из канала связи поступают блоки шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму входу которого подключен первый выход накопителя (блока хранения) управляющих параметров расшифрования (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
1
2
2
1
i
1
2
1
i
2
e
2
2
2
e
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), …, Ωk(z) разбивается на k подблоков, содержащих по k блоку шифртекста Ω(z) в каждом и представляются в виде матрицы W размером k×k, при этом каждый столбец матрицы W является подблоком из k блоков шифртекста Ω(z). Новым является то, что осуществляется формирование для каждой строки матрицы W избыточных блоков данных (избыточных блоков данных 2-го уровня контроля)  (i=1, 2, …, k), которые подвергаются процедуре блочного шифрования, алгоритм которого выполняет нелинейные биективные преобразования по соответствующему ключу κ(z). Так же новым является то, что осуществляется формирование для каждого из n столбцов матрицы W избыточных блоков данных (избыточных блоков данных 1-го уровня контроля)  (j=1, 2, …, n), из которых  (j=l, 2, …, k) подвергаются процедуре блочного шифрования, алгоритм которого выполняет нелинейные биективные преобразования по соответствующему ключу κ(z). Новым является так же и то, что полученные блоки избыточного шифртекста 1-го и 2-го уровней контроля и избыточные блоки данных образуют многомерные криптокодовые конструкции - имитоустойчивую последовательность шифрованного текста.
t
t
e,i
1
2
i
i
i+r
i
1
2
i
1
2
i
i
i+r
2. Устройство шифрования данных, содержащее на передающей стороне шифратор, состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор открытого текста, блок шифрования, счетчик блоков текста, генератор ПСП, процессор ключей шифрования; буфера ввода открытого текста, вход которого является входом шифратора, на который поступает открытый текст, выход которого подключен к первому входу препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход блока хранения управляющих параметров шифрования (N), второй выход которого (с) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров шифрования (z), ко второму входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно третий выход блока хранения управляющих параметров шифрования подключен к первому входу блока шифрования, ко второму входу которого подключен выход препроцессора открытого текста, при этом выход блока шифрования подключен к входу буфера вывода блоков шифртекста, выход которого является выходом шифратора, с выхода которого блоки шифртекста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне - дешифратор, состоящий из процессора, реализующего функции, представленные в виде функциональных блоков: препроцессор шифртекста, блок расшифрования, блок инверсии, счетчик блоков текста, генератор ПСП, процессор ключей шифрования; буфера ввода шифртекста, вход которого является входом дешифратора, на который из канала связи поступают блоки шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму входу которого подключен первый выход блока хранения управляющих параметров расшифрования (N), второй выход которого (с) подключен к входу генератора ПСП, соответствующий выход которого подключен к первому входу блока хранения управляющих параметров расшифрования (z), при этом третий выход блока хранения управляющих параметров расшифрования подключен к входу блока инверсии, соответствующий выход которого подключен ко второму входу блока управляющих параметров расшифрования, к третьему входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ, соответственно четвертый выход блока хранения управляющих параметров расшифрования подключен к первому входу блока расшифрования, ко второму входу которого подключен выход препроцессора шифртекста, при этом выход блока расшифрования подключен к первому входу буфера вывода блоков открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, выход которого является выходом дешифратора, с которого поступает открытый текст; счетчик блоков текста отслеживает номер обрабатываемого блока, на передающей стороне введены функциональные блоки процессора: препроцессор шифртекста, генератор неприводимых полиномов, формирователь избыточных блоков данных 1-го уровня контроля, формирователь избыточных блоков данных 2-го уровня контроля, блок шифрования избыточных данных 2-го уровня контроля, препроцессор избыточного шифртекста, блок шифрования избыточных данных 1-го уровня контроля, буфер вывода избыточных блоков шифртекста 2-го уровня контроля, буфер вывода избыточных блоков шифртекста 1-го уровня контроля, коммутатор объединения, при этом буфер ввода открытого текста, вход которого является входом итерированного криптокодового преобразователя информации, на который поступает открытый текст, выход которого подключен к первому входу препроцессора открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, при этом к третьему входу препроцессора открытого текста подключен первый выход блока хранения управляющих параметров шифрования (N), выход препроцессора открытого текста подключен к первому входу блока шифрования, ко второму входу которого подключен второй выход блока хранения управляющих параметров шифрования (κ(z) - итерационные ключи зашифрования, выработанные на основании секретного ключа (℘)), при этом первый выход блока шифрования подключен к входу буфера вывода блоков шифртекста, второй выход блока шифрования подключен к первому входу препроцессора шифртекста, ко второму выходу которого подключен третий выход блока хранения управляющих параметров шифрования (k, k), при этом первый выход препроцессора шифртекста подключен к первой группе (первому входу) входов формирователя избыточных блоков данных 1-го уровня контроля, ко второй группе (второй, третий входы) входов которого подключен первый и второй выходы генератора неприводимых полиномов (информационных и избыточных), к входу которого подключен четвертый выход блока хранения управляющих параметров шифрования (N); при этом к третьей группе (четвертый, пятый, шестой входы) входов формирователя избыточных блоков данных 1-го уровня контроля подключена группа (шестой, седьмой, восьмой выходы) выходов блока хранения управляющих параметров шифрования (предвычйсленные параметры B(z), m(z), m(z)); при этом второй выход препроцессора шифртекста подключен к первому входу формирователя избыточных блоков данных 2-го уровня контроля, ко второму входу которого подключен третий выход генератора неприводимых полиномов, к третьему входу формирователя избыточных блоков данных 2-го уровня контроля подключен девятый выход блока хранения управляющих параметров шифрования (предвычисленный параметр m(z) - примитивный неприводимый полином, задающий параметры поля GF(q)), при этом выход формирователя избыточных блоков данных 2-го уровня контроля подключен к первому входу блока шифрования избыточных данных 2-го уровня контроля, ко второму входу которого подключен десятый выход блока хранения управляющих параметров шифрования  первый выход блока шифрования избыточных данных 2-го уровня контроля подключен к входу буфера вывода избыточных блоков шифртекста 2-го уровня контроля, при этом второй выход блока шифрования избыточных данных 2-го уровня контроля подключен к первому входу препроцессора избыточного шифртекста, ко второму входу которого подключен одиннадцатый выход блока хранения управляющих параметров шифрования (k, k), при этом выход препроцессора избыточного шифртекста подключен к седьмому входу формирователя избыточных блоков данных 1-го уровня контроля, первый выход которого подключен к первому входу блока шифрования избыточных данных 1-го уровня контроля, выход которого подключен к первому входу буфера вывода избыточных блоков шифртекста 1-го уровня контроля, ко второму входу которого подключен второй выход формирователя избыточных блоков данных 1-го уровня контроля; при этом ко второму входу блока шифрования избыточных данных 1-го уровня контроля подключен пятый выход блока хранения управляющих параметров шифрования  к первому входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ (℘)); выходы буфера вывода блоков шифртекста и выходы буфера вывода избыточных блоков шифртекста 1-го и 2-го уровней контроля подключены соответственно к первому, второму и третьему входам коммутатора объединения, выход которого является выходом итерированного криптокодового преобразователя информации, с выхода которого сформированные многомерные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают в канал связи; счетчик блоков текста отслеживает номер обрабатываемого блока, а на приемной стороне введены коммутатор разделения, буфер ввода избыточного шифртекста 1-го уровня контроля, буфер ввода избыточного шифртекста 2-го уровня контроля, функциональные блоки процессора: препроцессор избыточного шифртекста 1-го уровня контроля, блок расшифрования избыточных блоков шифртекста 1-го уровня контроля, генератор неприводимых полиномов, блок обнаружения и коррекции искажений 1-го уровня контроля, препроцессор избыточного шифртекста 2-го уровня контроля, блок расшифрования избыточных блоков шифртекста 2-го уровня контроля, блок обнаружения и коррекции искажений 2-го уровня контроля, блок формирования обобщенного шифртекста, при этом коммутатор разделения, вход которого является входом итерированного криптокодового преобразователя информации, на который из канала связи поступают многомерные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста, при этом первый выход коммутатора разделения подключен к входу буфера ввода избыточного шифртекста 1-го уровня контроля, выход которого подключен к первому входу препроцессора избыточного шифртекста 1-го уровня контроля, ко второму входу которого подключен первый выход блока хранения управляющих параметров шифрования (N), при этом первый выход препроцессора избыточного текста 1-го уровня контроля подключен к первому входу блока расшифрования избыточных блоков шифртекста 1-го уровня контроля, ко второму входу которого подключен второй выход блока хранения управляющих параметров шифрования  - итерационные ключи расшифрования, выработанные на основании секретного ключа (℘)), при этом выход блока расшифрования избыточных блоков шифртекста 1-го уровня контроля подключен к первой группе (первому входу) входов блока обнаружения и коррекции искажений 1-го уровня контроля, ко второй группе (второй, третий входы) входов которого подключен первый и второй выходы генератора неприводимых полиномов (информационных и избыточных), к входу генератора неприводимых полиномов подключен третий выход блока хранения управляющих параметров шифрования (N); при этом второй выход препроцессора избыточного текста 1-го уровня контроля подключен к третьей группе (четвертому входу) входов блока обнаружения и коррекции искажений 1-го уровня контроля; второй выход коммутатора разделения подключен к входу буфера ввода избыточного шифртекста 2-го уровня контроля, выход которого подключен к первому входу препроцессора избыточного шифртекста 2-го уровня контроля, ко второму входу которого подключен четвертый выход блока хранения управляющих параметров шифрования (N), при этом первый выход препроцессора избыточного шифртекста 2-го уровня контроля подключен к первому входу блока расшифрования избыточных блоков шифртекста 2-го уровня контроля, ко второму входу которого подключен пятый выход блока хранения управляющих параметров шифрования  - итерационные ключи расшифрования, выработанные на основании секретного ключа (℘)), при этом выход блока расшифрования избыточных блоков шифртекста 2-го уровня контроля подключен к первому входу блока обнаружения и коррекции искажений 2-го уровня контроля, ко второму входу которого подключен третий выход генератора неприводимых полиномов, к третьему входу блока обнаружения и коррекции искажений 2-го уровня контроля подключен шестой выход блока хранения управляющих параметров шифрования (предвычисленный параметр m(z) - примитивный неприводимый полином, задающий параметры поля GF(q)); при этом третий выход коммутатора разделения подключен к входу буфера ввода шифртекста, выход которого подключен к первому входу препроцессора шифртекста, ко второму и третьему входам которого подключены седьмой и восьмой выходы блока хранения управляющих параметров шифрования (N, k, k), при этом первый выход препроцессора шифртекста подключен к четвертой группе (пятому входу) входов блока обнаружения и контроля искажений 1-го уровня контроля, к пятой группе входов (шестой вход) которого подключен второй выход препроцессора избыточного текста 2-го уровня контроля; при этом первый выход блока обнаружения и контроля искажений 1-го уровня контроля подключен к четвертому входу блока обнаружения и контроля искажений 2-го уровня контроля, к пятому входу которого подключен второй выход препроцессора шифртекста, при этом первый выход блока обнаружения и контроля искажений 2-го уровня контроля подключен к шестой группе (седьмому входу) входов блока обнаружения и контроля искажений 1-го уровня контроля, второй выход которого подключен к третьему входу блока расшифрования избыточных блоков шифртекста 2-го уровня контроля, при этом третий выход блока обнаружения и контроля искажений 1-го уровня контроля подключен к первому входу блока формирования обобщенного шифртекста, ко второму входу которого подключен второй выход блока обнаружения и контроля искажений 2-го уровня контроля, при этом выход блока формирования обобщенного шифртекста подключен к первому входу блока расшифрования шифртекста, ко второму входу которого подключен девятый выход блока хранения управляющих параметров шифрования  к первому входу которого подключен процессор ключей шифрования, на вход которого поступает секретный ключ (℘)); при этом выход блока расшифрования подключен к первому входу буфера вывода блоков открытого текста, ко второму входу которого подключен выход блока (таблицы) кодовых символов, выход которого является выходом итерированного криптокодового преобразователя информации, с выхода которого поступает открытый текст; при этом к седьмой группе (восьмой, девятый, десятый входы) входов блока обнаружения и коррекции искажений 1-го уровня контроля подключена группа (десятый, одиннадцатый, двенадцатый выходы) выходов блока хранения управляющих параметров шифрования (предвычисленные параметры B(z), m(z), m(z)); счетчик блоков текста отслеживает номер обрабатываемого блока.
Благодаря введению в известный объект совокупности существенных отличительных признаков, способ и устройство имитоустойчивой передачи информации по каналам связи позволяет:
обеспечить доведение информации по каналам связи с ненулевой пропускной способностью;
обеспечить гарантированную стойкость системы криптографической защиты информации;
обеспечить высокую корректирующую (восстанавливающую) способность искаженных, имитируемых злоумышленником данных, обусловленную формированием достаточно длинных криптокодовых конструкций из композиции криптокодовых конструкций небольшой длины.
Указанные отличительные признаки заявленного изобретения по сравнению с прототипом позволяют сделать вывод о соответствии заявленного технического решения критерию «новизна».
Описание чертежей
На чертежах представлено:
на фиг. 1 изображена схема, поясняющая сущность работы способа-прототипа;
на фиг. 2 изображена схема устройства-прототипа шифрования данных (передающая часть);
на фиг. 3 изображена схема устройства-прототипа шифрования данных (принимающая часть);
на фиг. 4 изображена схема устройства многомерной имитоустойчивой передачи информации (передающая часть);
на фиг. 5 изображена схема устройства многомерной имитоустойчивой передачи информации (принимающая часть).
Реализация заявленного способа, устройства
Для большей ясности описание изобретения, позволяющее специалисту произвести осуществление предложенного изобретения и показывающее влияние признаков, приведенных в формуле изобретения, на указанный выше технический результат, будем производить следующим образом: сначала раскроем структуру устройства, а затем опишем реализацию способа в рамках предложенного устройства.
Устройство многомерной имитоустойчивой передачи информации по каналам связи содержит на передающей стороне (фиг. 4) итерированный криптокодовый преобразователь информации 30, состоящий из буфера 200 ввода открытого текста, накопителя 210 управляющих параметров, процессора 220, реализующего функции, представленные в виде функциональных блоков: препроцессора 221 открытого текста, блока 222 шифрования, препроцессора 223 шифртекста, генератора неприводимых полиномов 224, формирователя 225.1 избыточных блоков данных 2-го уровня контроля, формирователя 225.2 избыточных блоков данных 1-го уровня контроля, процессора 226 формирования ключей шифрования, блока 227.1 шифрования избыточных данных 2-го уровня контроля, блока 227.2 шифрования избыточных данных 1-го уровня контроля, препроцессора 228 избыточного шифртекста, счетчика 229 блоков текста; блока (таблицы) 230 кодовых символов, буфера 240 вывода шифртекста, буфера 250.1 вывода избыточных блоков шифртекста 2-го уровня контроля, буфера 250.2 вывода избыточных блоков шифртекста 1-го уровня контроля, коммутатора 260 объединения; и на приемной стороне устройство содержит (фиг. 5) итерированный криптокодовый преобразователь информации 50, состоящий из коммутатора 300 разделения, буфера 310 ввода избыточного шифртекста 1-го уровня контроля, накопителя 320 управляющих параметров, буфера 330 ввода избыточного шифртекста 2-го уровня контроля, буфера 340 ввода шифртекста, процессора 350, реализующего функции, представленные в виде функциональных блоков: препроцессора 351.1 избыточного шифртекста 1-го уровня контроля, генератора неприводимых полиномов 352, процессора 353 формирования ключей расшифрования, препроцессора 351.2 избыточного шифртекста 2-го уровня контроля, препроцессора 354 шифртекста, блока 355.1 расшифрования избыточного блоков шифртекста 1-го уровня контроля, блока 356.1 обнаружения и коррекции искажений 1-го уровня контроля, блока 356.2 обнаружения и коррекции искажений 2-го уровня контроля, блока 355.2 расшифрования избыточного блоков шифртекста 2-го уровня контроля, блока 357 формирования обобщенного шифртекста, счетчика 358 блоков текста, блока 359 расшифрования шифртекста; буфера 360 вывода открытого текста, блока (таблицы) 370 кодовых символов.
Устройство работает следующим образом:
e,i
2
1
1
2
1
1
2
2
2
2
e,i
1
2
Подлежащая передаче информация, представленная в виде потока символов поступает в итерированный криптокодовый преобразователь информации 30, буферизируется буфером 200 ввода открытого текста перед его предварительной обработкой препроцессором 221 открытого текста. Препроцессор 221 открытого текста анализирует входной поток символов открытого текста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 210 управляющих параметров и осуществляет преобразование символов открытого текста в числовые значения, поступающие с блока (таблицы) 230 кодовых символов. Сформированные блоки открытого текста поступают в блок 222 шифрования, в котором осуществляется процедура блочного шифрования с нелинейными биективными преобразованиями с помощью итерационных ключей зашифрования (κ(z)) накопителя 210 управляющих параметров. Итерационные ключи зашифрования вырабатываются процессором 226 формирования ключей на основании введенного секретного ключа (℘). Сформированные блоки шифртекста поступают в буфер 240 вывода шифртекста и в препроцессор 223 шифртекста. Препроцессор 223 шифртекста сформированную последовательность блоков шифртекста разбивает на (k) подблоков, содержащих по (k) блоку шифртекста, которые представляются в виде матрицы размером (k×k), при этом столбцы матрицы - подблоки из (k) блоков шифртекста, а параметры (k, k) поступают из накопителя 210 управляющих параметров. Каждая строка матрицы сформированной препроцессором 223 шифртекста поступает в формирователь 225.1 избыточных блоков данных 2-го уровня контроля, в который также поступает примитивный неприводимый полином, определяющий характеристику поля GF(q), выработанный генератором 224 в соответствии с параметром (N) накопителя 210 управляющих параметров. В формирователе 225.1 избыточных блоков данных 2-го уровня контроля для каждой введенной строки матрицы вырабатываются (r=n-k) избыточных блоков данных 2-го уровня контроля, которые поступают в блок 227.1 шифрования избыточных данных 2-го уровня контроля, где осуществляется процедура блочного шифрования с нелинейными биективными преобразованиями и с помощью итерационных ключей зашифрования (κ(z)) накопителя 210 управляющих параметров. Сформированные блоки избыточного шифртекста 2-го уровня контроля поступают в буфер 250.1 вывода избыточных блоков шифртекста 2-го уровня контроля и препроцессор 228 избыточного шифртекста, в котором формируется матрица избыточного шифртекста 2-го уровня контроля размером (k×r).
1
1
1
При этом каждый столбец матрицы, сформированной препроцессором 223 шифртекста поступает в формирователь 225.2 избыточных блоков данных 1-го уровня контроля, в который также поступают неприводимые полиномы, количество которых определяется количеством блоков шифртекста и необходимым количеством избыточных блоков данных, выработанные генератором 224 в соответствии с параметром (N) накопителя 210 управляющих параметров. В формирователе 225.2 избыточных блоков данных 1-го уровня контроля вырабатываются (r=n-k) избыточных блоков данных, которые поступают в блок 227.2 шифрования избыточных данных 1-го уровня контроля, в котором осуществляется процедура блочного шифрования с нелинейными биективными преобразованиями с помощью итерационных ключей зашифрования  накопителя 210 управляющих параметров. Сформированные блоки избыточного шифртекста 1-го уровня контроля поступают в буфер 250.2 вывода избыточных блоков шифртекста 1-го уровня контроля.
1
1
1
При этом в формирователь 225.2 избыточных блоков данных 1-го уровня контроля из препроцессора 228 избыточного шифртекста поступают столбцы сформированной матрицы избыточного шифртекста 2-го уровня контроля, для которых вырабатываются (r=n-k) контрольных блоков данных. Сформированные контрольные блоки данных минуя блок 227.2 шифрования избыточных данных 1-го уровня контроля, поступают в буфер 250.2 вывода избыточных блоков шифртекста 1-го уровня контроля. Далее сформированные блоки шифртекста с выхода буфера 240 вывода шифртекста (информационные элементы) и сформированные блоки избыточного шифртекста 2-го и 1-го уровней контроля с выхода буферов 250.1 и 250.2 вывода избыточных блоков шифртекста 2-го и 1-го уровней контроля (избыточные элементы 2-го и 1-го уровней контроля) поступают на соответствующие входы коммутатора 260 объединения, в котором формируются многомерные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста. При этом счетчик блоков 229 текста отслеживает обрабатываемый блок текста для согласования с управляющими параметрами процедур зашифрования. В одном варианте реализации итерированного криптокодового преобразователя информации неприводимые полиномы и другие параметры формирователей 225.1 и 225.2 избыточных блоков данных 2-го и 1-го уровей контроля могут быть вычислены заранее и сохранены в накопителе 210 управляющих параметров.
d,i
На приемной стороне принятые многомерные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают в итерированный криптокодовый преобразователь информации 50, на вход коммутатора 300 разделения, с выхода которого последовательность избыточного шифртекста 1-го уровня контроля буферизируется буфером 310 ввода избыточного шифртекста 1-го уровня контроля перед его предварительной обработкой препроцессором 351.1 избыточного шифртекста 1-го уровня контроля. Препроцессор 351.1 избыточного шифртекста 1-го уровня контроля анализирует входной поток шифртекста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 320 управляющих параметров и формирует совокупность блоков избыточного шифртекста (избыточных элементов) 1-го уровня контроля, а так же совокупность контрольных блоков данных, соответствующих избыточным блокам данных 2-го уровня контроля. Сформированные блоки избыточного шифртекста (избыточные элементы) 1-го уровня контроля поступают в блок 355.1 расшифрования избыточного шифртекста 1-го уровня контроля, в котором осуществляется преобразование избыточных блоков шифртекста 1-го уровня контроля в избыточные блоки данных 1-го уровня контроля в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования (κ(z)накопителя 320 управляющих параметров. Итерационные ключи расшифрования  вырабатываются процессором 354 формирования ключей на основании введенного секретного ключа (℘). Далее полученные избыточные блоки данных 1-го уровня контроля поступают в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля, в который также поступают неприводимые полиномы, выработанные генератором 352 в соответствии с параметром (N) накопителя 320 управляющих параметров (количество и значения выработанных полиномов соответствуют параметрам передающей стороны).
Так же с выхода коммутатора 300 разделения последовательность избыточного шифртекста 2-го уровня контроля буферизируется буфером 330 ввода избыточного шифртекста 2-го уровня контроля перед его предварительной обработкой препроцессором 351.2 избыточного шифртекста 2-го уровня контроля. При этом препроцессор 351.2 избыточного шифртекста 2-го уровня контроля анализирует входной поток шифртекста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 320 управляющих параметров. Сформированные блоки избыточного шифртекста (избыточные элементы) 2-го уровня контроля поступают также в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля, а так же в блок 355.2 расшифрования избыточного шифртекста 2-го уровня контроля, в котором осуществляется преобразование избыточных блоков шифртекста 2-го уровня контроля в избыточные блоки данных 2-го уровня контроля в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования  накопителя 320 управляющих параметров. Сформированные избыточные блоки данных 2-го уровня контроля поступают в блок 356.2 обнаружения и коррекции искажений 2-го уровня контроля, в который также поступает примитивный неприводимый полином, определяющий характеристику поля GF(q), выработанный генератором 352 в соответствии с параметром (N) накопителя 320 управляющих параметров (значение выработанного полинома соответствует параметрам передающей стороны).
2
1
1
2
1
1
2
Параллельно с выхода коммутатора 300 разделения последовательность шифртекста буферизируется буфером 340 ввода шифртекста перед его предварительной обработкой препроцессором 354 шифртекста. Препроцессор 354 шифртекста анализирует входной поток шифртекста, разбивает его на блоки фиксированной длины в соответствии с параметром (N) накопителя 320 управляющих параметров. Далее препроцессор 354 шифртекста сформированную последовательность блоков шифртекста разбивает на (k) подблоков, содержащих по (k) блоку шифртекста и представляется в матричном виде размером (k×k), где столбцы - подблоки из (k) блоков шифртекста, а параметры (k, k) поступают из накопителя 320 управляющих параметров. При этом каждые столбец и строка сформированной препроцессором 354 шифртекста матрицы поступают соответственно в блоки 356.1 и 356.2 обнаружения и коррекции искажений 1-го и 2-го уровней контроля.
1
В блоке 356.1 обнаружения и коррекции искажений 1-го уровня контроля каждому поступившему столбцу ставится в соответствие избыточных данных 1-го уровня контроля. Также столбцам избыточных блоков данных 2-го уровня контроля ставится в соответствие (r) контрольных блоков данных. В общем виде совокупность блоков шифртекста и избыточных блоков данных образуют криптокодовые конструкции 1-го уровня контроля, обработка которых позволяет обнаружить и исправить искажения, обусловленные имитирующими воздействиями злоумышленника.
2
В блоке 356.2 обнаружения и коррекции искажений 2-го уровня контроля каждой поступившей строке блоков шифртекста ставится в соответствие (r) избыточных данных 2-го уровня контроля. Осуществляется формирование криптокодовых конструкций 2-го уровня контроля, процесс обработки которых осуществляет обнаружение и исправление искажений, вызванных имитирующими воздействиями злоумышленника. При этом между блоками 356.1 и 356.2 обнаружения и коррекции искажений 1-го и 2-го уровней контроля осуществляется взаимосвязь позволяющая при обнаружении ошибочного блока шифртекста и невозможности его исправления криптокодовыми конструкциями 1-го уровня контроля выдать соответствующий сигнал блоку 356.2 обнаружения и коррекции искажений 2-го уровня контроля для криптокодовых конструкций 2-го уровней контроля и наоборот. Исправленные избыточные блоки шифртекста 2-го уровня контроля из блока 356.1 обнаружения и коррекции искажений 1-го уровня поступают в блок 355.2 расшифрования избыточного шифртекста 2-го уровня контроля, в котором осуществляется повторное преобразование исправленных избыточных блоков шифртекста 2-го уровня контроля в избыточные блоки данных 2-го уровня контроля в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования  накопителя 320 управляющих параметров. После чего избыточные блоки данных 2-го уровня контроля поступают в блок 356.2 обнаружения и коррекции искажений 2-го уровня контроля, в котором осуществляется формирование криптокодовых конструкций 2-го уровня контроля, процесс обработки которых осуществляет обнаружение и исправление искажений, вызванных имитирующими воздействиями злоумышленника.
Исправленная последовательность блоков шифртекста с выходов блоков 356.1 и 356.2 обнаружения и коррекции искажений 1-го и 2-го уровней контроля поступают на вход блока 357 формирования обобщенного шифртекста, в котором окончательно формируется упорядоченная последовательность блоков шифртекста. Далее блоки шифртекста поступают в блок 359 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста в соответствии с заданным алгоритмом шифрования и с помощью итерационных ключей расшифрования  накопителя 320 управляющих параметров. Расшифрованная последовательность блоков открытого текста поступает в буфер 360 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 370 кодовых символов. При этом счетчик блоков 358 текста отслеживает обрабатываемый блок текста для согласования с управляющими параметрами процедур расшифрования. В одном варианте реализации итеративного криптокодового преобразователя информации неприводимые полиномы и другие параметры блоков 356.1 и 356.2 обнаружения и коррекции искажений 1-го и 2-го уровней контроля могут быть вычислены заранее и сохранены в накопителе 320 управляющих параметров.
Кроме того, настоящее изобретение предлагает способ многомерной имитоустойчивой передачи информации по каналам связи.
В одном варианте исполнения способ (устройство) многомерной имитоустойчивой передачи информации по каналам связи может быть реализован(о) в соответствии с положениями модулярных полиномиальных кодов (МПК), осуществляющих формирование избыточных блоков данных 1-го уровня контроля и положениями кодов Рида-Соломона (PC), осуществляющих формирование избыточных блоков данных 2-го уровня контроля.
Математический аппарат МПК основывается на фундаментальных положениях Китайской теоремы об остатках для многочленов [Mandelbaum D.M. On Efficient Burst Correcting Residue Polynomial Codes. Information and control. 1970. - pp. 319-330].
1
2
k
1
2
k
i
i
j
a
Пусть m(z), m(z), …, m(z)∈F[z] неприводимые полиномы, упорядоченные по возрастанию степеней, т.е. degm(z)≤degm(z)≤ … ≤degm(,z), где degm(z) - степень полинома. Причем gcd(m(z),m(z))=1, i≠j; i,j=1, 2, …, k. Положим  Тогда отображение ϕ устанавливает взаимно-однозначное соответствие между полиномами a(z), не превосходящими по степени P(z) (deg(z)<degP(z)), и наборами остатков по приведенной выше системе оснований полиномов (модулей):
i
i
a
a
где ϕ((z)):=(z) mod m(z) (i=1, 2, …, k).
-l
В соответствии с Китайской теоремой об остатках для многочленов существует обратное преобразование ϕ, позволяющее переводить набор остатков по системе оснований полиномов к позиционному представлению [Mandelbaum D.M. On Efficient Burst Correcting Residue Polynomial Codes // Information and control. 1970. 16. p. 319-330]:
i
i
i
i
i
-l
a
где B(z)=k(z)P(z) - полиномиальные ортогональные базисы, k(z)=P{z) mod m(z),  r(z) - ранг (z) (i=1, 2, …, k).
Введем вдобавок к имеющимся k еще r избыточных оснований полиномов с соблюдением условия упорядоченности:
тогда получим расширенный МПК - множество вида:
i
i
i
1
k
k+1
n
где n=k+r, c(z)≡a(z) mod m(z) (i=1, 2, …, k),  Элементы кода c(z) назовем символами, каждый из которых - суть полиномов из фактор-кольца многочленов по модулю  Назовем  рабочим диапазоном системы,  - полным диапазоном системы. При этом если , то считается, что данная комбинация содержит ошибку. Следовательно, местоположение полинома a(z) позволяет определить, является ли кодовая комбинация a(z)=(c(z), …, c(z), c(z), …, c(z)) разрешенной, или она содержит ошибочные символы.
i
(i)
i
Математический аппарат кодов PC над GF(q) основывается на положениях изложенных в [Мак-Вильямс Ф.Дж., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки. - М.: Связь, 1979. - 744 с]. Один из способов формирования кодов PC основывается на их порождающем полиноме. В GF(q) минимальный полином для любого элемента α просто равен M(z)=z-α. Следовательно, порождающий полином кода PC равен:
где 2b=n-k; обычно t=0 или t=1. При этом код PC является циклическим, а процедуре формирования систематического кода PC соответствует выражение:
k-1
k-2
0
k
k-2
0
r-1
r-2
0
r-1
r-2
0
n-1
n-2
0
n-1
1
0
k
1
0
r-1
1
0
k-1
k-2
r-1
r-2
n-k
n-1
n-2
где U(z)=uz+ uz+ … +u информационный полином, a {u-1, u, …, u} информационные кодовые блоки; R(z)=hz+hz+ … +h остаток от деления полинома U(z)z на g(z), a {h, h, …, h} коэффициенты остатка. Тогда полином C(z)=cz+cz+ … +С и, следовательно {c, …, с, c{u-1, …, u, u, h, …, h, h} кодовое слово.
min
min
Минимальное кодовое расстояние d МПК и кода PC определяется точным равенством d=n-k+1, относящим эти коды к максимально разделимым кодам. Таким образом, расширенный МПК и код PC могут гарантированно обнаружить любые
ошибочных символов. Если b - наибольшее целое число, меньшее или равное
то для b или меньшего числа ошибочных символов результирующее кодовое слово остается ближе к исходному, что позволяет расширенному МПК и коду PC гарантированно исправлять b ошибочных вычетов.
Многомерным криптокодовым конструкциям, формирование которых осуществляется в соответствии с описанной выше схемой, по аналогии с [Блох Э.Л., Зяблов В.В. Обобщенные каскадные коды (Алгебраическая теория и сложность реализации). - М.: Связь, 1976. - 240 с.] соответствуют следующие параметры (частный случай для 2-х уровней контроля):
min
где n, k, r, d - параметры многомерных криптокодовых конструкций;  - параметры криптокодовых конструкций i-го уровня контроля (i=1, 2).
1
2
k
Сгенерированное отправителем сообщение М подлежит зашифрованию, поступает на вход криптокодового преобразователя информации 30, буферизируется в виде символов в буфере 220 ввода открытого текста перед его предварительной обработкой препроцессором 221 открытого текста. Препроцессор 221 открытого текста анализирует входной поток символов открытого текста, осуществляет преобразование символов открытого текста в числовые значения, поступающие с блока (таблицы) 230 кодовых символов и в соответствии с параметром (N) накопителя 210 управляющих параметров разбивает его на блоки фиксированной длины М={M||M|| … ||M} в зависимости от алгоритма шифрования (ГОСТ 34.12-2015 с блоками 64, 128 бит соответственно). Введя формальную переменную z i-й блок открытого текста Mi, представим в полиномиальной форме:
где  (i=1, 2, …, k; j=s-1, s-2, …, 0).
1
2
k
1
2
k
С целью обеспечения необходимого уровня конфиденциальности информации сформированная последовательность блоков открытого текста M(z), M(z), …, M(z) поступает в блок 222 шифрования для получения последовательности блоков шифртекста Ω(z), Ω{z), …, Ω(z). Тогда отображение (1) может быть представлено в виде:
где  (i=1, 2, …, k, j=0, 1, …, g-1) - итерационные ключи зашифрования, выработанные процессором 226 формирования ключей на передающей стороне на основании введенного секретного ключа (℘).
i
i
2
1
i
1
2
Сформированная последовательность блоков шифртекста Ω(z) (i=1, 2, …, k) буферизируется в буфере 240 вывода шифртекста и параллельно поступает в препроцессор 223 шифртекста. В препроцессоре 223 шифртекста последовательность блоков шифртекста Ω(z) (i=1, 2, …, k) разбивается на k подблоков, содержащих по k блоку шифртекста Ω(z) в каждом и представляются в виде матрицы W размером k×k, параметры которой поступают из накопителя 210 управляющих параметров:
1
i
где столбцами матрицы W являются подблоки из k блоков шифртекста Ω(z).
Далее каждая строка матрицы W поступает в формирователь 225.1 избыточных блоков данных 2-го уровня контроля. В формирователе 225.1 избыточных блоков данных 2-го уровня контроля на основании примитивного неприводимого полинома, задающего характеристику поля GF(q), выработанного генератором 224 по параметру (N) накопителя 210 управляющих параметров, в соответствии с выражением (5) формируется порождающий полином g(z) кода PC. Блоки шифртекста  - элементы строк матрицы W представляются как элементы упорядоченного набора, при этом вводится формальная переменная х и формируется совокупность «информационных» полиномов:
1
где i=1, 2, …, k.
1
Для  (i=1, 2, …, k) в формирователе 225.1 избыточных блоков данных 2-го уровня контроля в соответствии с выражением (6) формируется последовательность остатков
i,j
i
1
2
2
2
2
2
2
где ω(z) - коэффициенты полинома R(х) (i=1, 2, …, k) отождествляемые как избыточные блоки данных 2-го уровня контроля, а r=n-k, n - длина «конструкций» 2-го уровня контроля, k - число «информационных» символов (блоков) 2-го уровня контроля, r - число избыточных символов (блоков) 2-го уровня контроля.
Матрица W с выработанными избыточными блоками данных 2-го уровня контроля примет вид:
Далее, строки матрицы  поступают в блок 227.1 шифрования избыточных данных 2-го уровня контроля, в котором осуществляется биективное нелинейное преобразование избыточных блоков данных 2-го уровня контроля в блоки избыточного шифртекста 2-го уровня контроля:
2
2
2
1
где (j=k+1, k+2, …, n);  (i=1, 2, …, k, s=0, 1, …, g-1) - итерационные ключи зашифрования, выработанные процессором 226 формирования ключей на передающей стороне на основании введенного секретного ключа (℘).
1
1
2
Выработанные последовательности блоков избыточного шифртекста 2-го уровня контроля  (i=1, 2, …, k) поступают в буфер 250.1 вывода избыточных блоков шифртекста 2-го уровня контроля и препроцессор 228 избыточного шифртекста. В препроцессоре 228 избыточного шифртекста формируется матрица V размером (k×r) избыточных блоков шифртекста 2-го уровня контроля:
2
2
2
i
i
j
1
i,j
i
i,γ
i
2
2
2
2
i
j
2
2
2
i,j
i
i,γ
i
Каждый столбец матрицы W поступает в формирователь 225.2 избыточных блоков данных 1-го уровня контроля. Также в формирователь 225.2 избыточных блоков данных 1-го уровня контроля из препроцессора 228 избыточного шифртекста поступают столбцы сформированной матрицы V избыточного шифртекста 2-го уровня контроля. Принятые формирователем 225.2 избыточных блоков данных 1-го уровня контроля последовательности блоков шифртекста  (γ=k+1, k+2, …, n) представляется в виде наименьших неотрицательных вычетов по основаниям-полиномам m(z), сформированным генератором 224, таким, что gcd(m(z),m(z))=1 (i≠j, i,j=l, 2, …, k). Причем degΩ(z)<degm(z), и degϑ(z)<degm(z), где deg(•) - степень полинома. Совокупности блоков шифртекста  (j=1, 2, …, k) и  (γ=k+1, k+2, …, n) представляется как единые информационные суперблоки МПК по системе оснований  В соответствии с Китайской теоремой об остатках для заданного множества многочленов  удовлетворяющих условию gcd(m(z),m(z))=1, многочленов  (γ=k+1, k+2, …, n) таких, что degΩ(z)<degm(z), degtϑ(z)<degm(z), системы сравнений
i
γ
2
2
2
2
имеют единственные решения Ω(z), ϑ(z) (i=1, 2, …, k; γ=k+1, k+2, …, n).
1
1
1
i
j
1
2
2
2
2
Далее в формирователе 225.2 избыточных блоков данных 1-го уровня контроля по дополнительно сформированным генератором 224 r=n-k избыточным основаниям полиномам  удовлетворяющим условию (3), таким, что gcd(m(z),m(z))=1 для i≠j; i,j=l, 2, …, n, и в соответствии с выражением (4) вырабатываются избыточные блоки данных 1-го уровня контроля, обозначенные как  (i=1, 2, …, k) и контрольные блоки данных  (γ=k+1, k+2, …, n).
2
Выработанное формирователем 225.2 избыточных блоков данных 1-го уровня контроля множество избыточных блоков данных 1-го уровня  (i=1, 2, …, k) поступает в блок 227.2 шифрования избыточных данных 1-го уровня контроля, в котором осуществляется биектиное нелинейное преобразование избыточных блоков данных 1-го уровня контроля в блоки избыточного шифртекста 1-го уровня контроля:
2
1
1
1
где i=1, 2, …, k;  (i=k+1, k+2, …, n; s=0, 1, …, g-1) - итерационные ключи зашифрования, выработанные процессором 226 формирования ключей на передающей стороне на основании введенного секретного ключа (℘).
2
2
2
2
Сформированная совокупность избыточного шифртекста 1-го уровня контроля  (i=1, 2, …, k) поступает в буфер 250.2 вывода избыточного шифртекста, в который также минуя блок шифрования избыточных данных 1-го уровня контроля поступают контрольные блоки данных  (γ=k+1, k+2, …, n). Коммутатор 260 объединения на основании принятых из буфера 240 блоков шифртекста, принятых из буфера 250.1 избыточных блоков шифртекста 2-го уровня контроля, принятых из буфера 250.2 избыточных блоков шифртекста 1-го уровня контроля и контрольных блоков данных для дальнейшей передачи по каналу связи формирует многомерные криптокодовые конструкции - имитоустойчивую последовательность шифрованного текста, матричное представление которых имеет вид:
2
2
2
2
2
На приемной стороне принимаемые криптокодовым преобразователем информации многомерные криптокодовые конструкции - имитоустойчивая последовательность шифрованного текста поступают на вход коммутатора 300 разделения, с первого выхода которого последовательность избыточного шифртекста 1-го уровня контроля поступает в буфер 310 ввода избыточного шифртекста, затем осуществляется его предварительная обработка препроцессором 351.1 избыточного шифртекста 1-го уровня контроля в котором входной поток шифртекста разбивается на блоки фиксированной длины и формируется совокупность блоков избыточного шифртекста 1-го уровня контроля, обозначенная ввиду возможного их искажения как  (j=1, 2, …, k), а также совокупность контрольных блоков данных (возможно содержащих искажения)  (γ=k+1, k+2, …, n) соответствующих избыточным блокам данных 2-го уровня контроля, в соответствии с параметром (N) накопителя 320 управляющих параметров. Сформированные блоки избыточного шифртекста 1-го уровня контроля  (j=1, 2, …, k) поступают в блок 355.1 расшифрования избыточного шифртекста 1-го уровня контроля, в котором осуществляется преобразование избыточных блоков шифртекста 1-го уровня контроля в избыточные блоки данных 1-го уровня контроля:
2
1
1
1
где j=1, 2, …, k,  (i=k+1, k+2, …, n; s=0, 1, …, g-1) - итерационные ключи зашифрования, выработанные процессором 226 формирования ключей на передающей стороне на основании введенного секретного ключа (℘).
2
Последовательности избыточных блоков данных 1-го уровня контроля  (j=1, 2, …, k) поступают в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля.
2
2
2
2
2
2
С выхода коммутатора 300 разделения последовательность избыточного шифртекста 2-го уровня контроля поступает в буфер 330 ввода избыточного шифртекста, затем осуществляется его предварительная обработка препроцессором 351.2 избыточного шифртекста 2-го уровня контроля в котором входной поток шифртекста разбивается на блоки фиксированной длины и формируется совокупность блоков избыточного шифртекста 2-го уровня контроля  ((γ=k+1, k+2, …, n), в соответствии с параметром (N) накопителя 320 управляющих параметров. Сформированные блоки избыточного шифртекста 2-го уровня контроля  ((γ=k+1, k+2, …, n) поступают в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля и в блок 355.2 расшифрования избыточного шифртекста 2-го уровня контроля, в котором осуществляется преобразование избыточных блоков шифртекста 2-го уровня контроля в избыточные блоки данных 2-го уровня контроля:
2
2
2
1
1
1
где γ=k+1, k+2, …, n;  (i=k+1, k+2, …, n; s=0, 1, …, g-1) - итерационные ключи расшифрования, выработанные процессором 353 формирования ключей на принимающей стороне на основании введенного секретного ключа (℘).
2
2
2
Последовательности избыточных блоков данных 2-го уровня контроля  (γ=k+1, k+2, …, n) поступают в блок 356.2 обнаружения и коррекции искажений 2-го уровня контроля.
2
1
1
2
С выхода коммутатора 300 разделения последовательность шифртекста через буфер 340 ввода шифртекста поступает в препроцессор 354 шифртекста, в котором шифртекст разбивается на блоки фиксированной длины  (j=1, 2, …, k), в соответствии с параметром (N) накопителя 320 управляющих параметров. Далее в препроцессоре 354 шифртекста, последовательность блоков шифртекста  (j=1, 2, …, k) разбивается на k подблоков, содержащих по k блоку шифртекста и представляются в виде матрицы W* размером k×k, параметры которой поступают из накопителя 320 управляющих параметров:
1
i
где столбцами матрицы W* являются подблоки из k блоков шифртекста Ω(z)*, а символ «*» указывает на наличие возможных искажений в блоках шифртекста.
Каждый столбец и строка сформированной матрицы W* поступают в соответствующие блоки 356.1 и 356.2 обнаружения и коррекции искажений 1-го и 2-го уровней контроля.
2
2
i
1
В блоке 356.1 обнаружения и коррекции искажений 1-го уровня контроля каждому поступившему из препроцессора 354 шифртекста столбцу  (j=1, 2, …, k) матрицы W*, и интерпретируемому как информационный суперблок МПК ставится в соответствие последовательность избыточных блоков данных 1-го уровня контроля  (j=1, 2, …, n) по основаниям полиномов m(z) (i=1, 2, …, n), выработанным генератором 352 неприводимых полиномов. Далее формируется кодовый вектор расширенного МПК
2
2
2
2
2
2
i
1
2
2
2
2
2
2
2
2
Так же столбцам избыточных блоков данных 2-го уровня контроля  (γ=k+1, k+2, …, n) ставятся в соответствие контрольные блоки данных  (γ=k+1, k+2, …, n) по основаниям полиномов m(z) (i=1, 2, …, n) и формируется кодовый вектор расширенного МПК  Далее осуществляется процедура обнаружения искаженных (имитируемых) злоумышленником элементов МПК, где их количество обусловлено выражением (??), при этом критерием отсутствия обнаруживаемых ошибок является выполнение условий:  (j=1, 2, …, k);  (γ=k+1, k+2, …, n). Критерием существования обнаруживаемой ошибки - выполнение условий:  (j=1, 2, …, k);  (γ=k+1, k+2, …, n), где- решение соответственно систем сравнений (??), (??) в соответствии с выражением (??); символ «*» указывает на наличие возможных искажений в кодовом векторе. Восстановление искаженных элементов МПК осуществляется с учетом (??) путем вычисления наименьших вычетов:
2
2
1
или любым другим известным методом декодирования избыточных МПК, где символы «**» указывают на вероятностный характер восстановления. Исправленная (восстановленная) последовательность блоков шифртекста  (j=1, 2, …, k) поступает на вход блока 357 формирования обобщенного шифртекста. Также исправленные j-ые элементы последовательности блоков шифртекста  (j=1, 2, …, k) поступают в блок 356.2 обнаружения коррекции искажений 2-го уровня контроля для «замены» искаженных i-ых элементов (блоков шифртекста) строк  (i=1, 2, …, k) матрицы W*, поступающих из препроцессора 354 шифртекста.
1
В блоке 356.2 обнаружения коррекции искажений 2-го уровня контроля каждой поступившей строке  ставятся в соответствие блоки избыточного шифртекста 2-го уровня контроля (i=1, 2, …, k) и формируется кодовый вектор кода PC
По кодовым векторам составляются полиномы
после чего, вычисляются их значения на степенях примитивного элемента поля
1
где i=1, 2, …, k;
1
1
При этом, если значение контрольных сумм  для каждой вектор строки равны нулю, тогда последовательности блоков шифртекста  (i=1, 2, …, k) поступают на вход блока 357 формирования обобщенного шифртекста. В противном случае сигнал о вектор строке ошибочного шифртекста поступает в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля для возможного их восстановления. Значения  для i=1, 2, …, k используются для восстановления блоков шифртекста с помощью известных алгоритмов декодирования кодов PC (Берлекэмпа-Мэсси, Евклида, Форни, процедуры Ченя).
Исправленные (восстановленные) в блоке 356.1 обнаружения и коррекции искажений 1-го уровня контроля последовательности избыточных блоков шифртекста 2-го уровня контроля  из блока 356.1 обнаружения и коррекции искажений 1-го уровня контроля поступают в блок 355.2 расшифрования блоков шифртекста 2-го уровня контроля, в котором осуществляется повторное преобразование избыточных блоков шифртекста 2-го уровня контроля  в избыточные блоки данных 2-го уровня контроля  в соответствии с выражением (??) с помощью итерационных ключей расшифрования, выработанных процессором 353 формирования ключей. Повторно сформированные избыточные блоки данных 2-го уровня контроля  поступают в блок обнаружения и коррекции искажений 2-го уровня контроля вместо выявленных искаженных избыточных блоков данных. В блоке обнаружения и коррекции искажений 2-го уровня контроля повторно формируются кодовые комбинации кода PC и осуществляется их декодирование. После чего восстановленные блоки шифртекста  поступают в блок 357 формирования обобщенного шифртекста, в котором формируется исправленная последовательность блоков шифртекста
Исправленная (восстановленная) последовательность блоков шифртекста  поступает на вход блока 359 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста:
d,i
с помощью итерационных ключей расшифрования (κ(z)), выработанных процессором 353 формирования ключей на основании введенного секретного ключа (℘). Расшифрованная последовательность блоков открытого текста  поступает в буфер 360 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 370 кодовых символов.
Заявленное изобретение может быть осуществлено с помощью средств и методов, описанных в доступных источниках информации. Это позволяет сделать вывод о соответствии заявленного изобретения признакам «промышленной применимости».
1
2
Пример. Для простоты понимания сущности предлагаемого решения управляющие параметры способа (устройства) будут отличаться от исходных. Будем полагать, что информация, подлежащая передаче, поступает в итерированный криптокодовый преобразователь информации 30, в котором осуществляется предварительная ее обработка и реализуется процедура блочного шифрования блоком 222. Полученные блоки шифртекста поступили в буфер 240 вывода шифртекста и препроцессор 223 шифртекста, который формирует матрицу W, соответствующую параметрам k=k=4 накопителя 210 управляющих параметров:
7
При этом генератором 223 для формирования избыточных блоков данных 2-го уровня контроля выработан примитивный неприводимый полином m(z)=z+z+l, задающий поле CF(128), параметры которого представлены в таблице 1.
Строки матрицы W поступают в формирователь 225.1 избыточных блоков данных 2-го уровня контроля, в котором в соответствии с выражением (5), а также с учетом условий (7) и (8) формируется порождающий полином кода PC:
4
3
2
g(z)=z+15z+54z+120z+65.
Блоки шифртекста Ωi,j(z) (i,j=1, 2, …, 4) - элементы строк матрицы W представим в виде упорядоченного набора, а для простоты понимания сущности изобретения, от их полиномиального представления в соответствии с таблицей 1 перейдем к представлению в системе исчисления заданного поля GF(128). При этом введя формальную переменную х сформируем совокупность «информационных» полиномов, для которых в соответствии с выражением (6) вычисляется последовательность остатков (избыточных элементов). Тогда матрица W с выработанными избыточными блоками данных 2-го уровня контроля примет вид:
Сформированные избыточные блоки данных 2-го уровня контроля поступают в блок 227.1 шифрования, в котором формируются избыточные блоки шифртекста 2-го уровня контроля.
В формирователе 225.2 избыточных блоков данных 1-го уровня контроля для каждого столбца матрицы W и последовательности избыточные блоки шифртекста 2-го уровня контроля по основаниям-полиномам (информационным и избыточным) (табл. 2) формируются избыточные блоки данных 1-го уровня контроля и контрольные блоки данных. При этом избыточные блоки данных 1-го уровня контроля поступают в блок 227.2 шифрования, в котором формируются избыточные блоки шифртекста 1-го уровня контроля.
Коммутатор 260 объединения на основании принятых блоков шифртекста 1-го, 2-го уровней контроля и контрольных блоков данных формирует многомерные криптокодовые
здесь 1 - мультипликативное представление элементов; 2 - представление элементов в системе счисления GF(128); 3 - полиномиальное представление (вычеты).
конструкции - имитоустойчивую последовательность шифрованного текста:
1
min
где (•) - значение избыточных блоков данных 1-го, 2-го уровней контроля до применения процедуры шифрования. При этом в соответствии с (9) параметры криптокодовых конструкций принимают следующие значения: n=48, k=16, r=24, d=7.
i
γ
Пусть в принятой имитоустойчивой последовательности шифрованного текста ошибочными являются элементы  На приемной стороне принимаемая итерированным криптокодовым преобразователем информации 50 имитоустойчивая последовательность шифрованного текста подлежит преобразованиям, в соответствии с которыми формируются исходные данные для блоков 356.1 и 356.2 обнаружения и коррекции искажений 1-го, 2-го уровней контроля. Блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля выполняет процедуру проверки МПК, например базирующуюся на вычислении проекций и поиска синдромов ошибок [Калмыков И.А. Математические модели нейросетевых отказоустойчивых вычислительных средств в полиномиальной системе классов вычетов. М.: ФИ3-МАТЛИТ, 2005. - 276 с.], для этого вычислим Ω(z) и ϑ(z) в соответствии с выражением (2) для каждого поступившего столбца матрицы
где  - ошибочный блок шифртекста. Тогда
5
27
25
23
22
21
17
14
12
11
7
6
2
ϑ(z)=z+*+z+*+*+z+*+z+z+z+z+z;
6
27
26
22
21
19
16
15
13
9
7
5
4
2
ϑ(z)=z+z+z+z+z+z+z+z+z+z+z+z+z+1;
7
27
24
23
19
18
15
u
13
8
6
3
2
ϑ(z)=z+z+z+z+z+z+z+z+z+z+z+z+z;
8
27
26
25
24
23
21
19
18
12
11
9
6
3
ϑ(z)=z+z+z+z+z+z+z+z+z+z+z+z'+z.
При этом
28
26
23
21
20
19
18
16
15
u
11
w
9
8
7
4
P(z)=z+z+z+z+z+z+z+z+z+z+z+z+z+z++z+z+1.
Поскольку  являются неправильными и содержат искажения.
Блок 356.2 обнаружения и коррекции искажений 2-го уровня контроля выполняет процедуру проверки сформированных кодовых векторов кода PC (с учетом предварительно выполненной процедуры расшифрования избыточных блоков шифртекста 2-го уровня контроля), например базирующуюся на получении их значений на степенях примитивного элемента поля  Тогда совокупность векторов кода PC примет вид:
Тогда значения контрольных сумм  примут вид:
1,0
0
7
0
6
0
5
0
4
0
3
0
2
0
1
S=127(2)+80(2)+67(2)+96(2)+84(2)+116(2)+88(2)+52=64,
или с использованием схемы Горнера:
1,1
1
1
1
1
1
1
1
S=52+2(88+2(116+2(84+2(96+2(67+2(80+127(2)))))))=67;
1,2
2
2
2
2
2
2
2
S=52+2(88+2(116+2(84+2(96+2(67+2(80+127(2)))))))=70;
1,3
1
3
3
3
3
3
3
S=52+2(88+2(116+2(84+2(96+2(67+2(80+127(2)))))))=87.
2,0
0
7
0
6
0
5
0
4
0
3
0
2
0
1
S=64(2)+70(2)+125(2)+115(2)+86(2)+19(2)+11(2)+67=5,
или с использованием схемы Горнера:
2,1
1
1
1
1
1
1
1
S=67+2(11+2(19+2(86+2(115+2(125+2(70+64(2)))))))=35;
2,2
2
2
2
2
2
2
2
S=67+2(11+2(19+2(86+2(115+2(125+2(70+64(2)))))))=120;
2,3
3
3
3
3
3
3
3
S=67+2(11+2(19+2(86+2(115+2(125+2(70+64(2)))))))=34.
3,0
0
7
0
6
0
5
0
4
0
3
0
2
0
1
S=85(2)+107(2)+83(2)+79(2)+23(2)+10(2)+28(2)+4=39,
или с использованием схемы Горнера:
3,1
1
1
1
1
1
1
1
S=4+2(28+2(10+2(23+2(79+2(83+2(107+85(2)))))))=123;
3,2
2
2
2
2
2
2
2
S=4+2(28+2(10+2(23+2(79+2(83+2(107+85(2)))))))=66;
3,3
3
3
3
3
3
3
3
S=4+2(28+2(10+2(23+2(79+2(83+2(107+85(2)))))))=112.
4,0
0
7
0
6
0
5
0
4
0
3
0
2
0
1
S=101(2)+102(2)+88(2)+68(2)+5(2)+3(2)+99(2)+122=0,
или с использованием схемы Горнера:
4,1
1
1
1
1
1
1
1
S=122+2(99+2(3+2(5+2(68+2(88+2(102+101(2)))))))=0;
4,2
2
2
2
2
2
2
2
S=122+2(99+2(3+2(5+2(68+2(88+2(102+101(2)))))))=0;
4,3
3
3
3
3
3
3
3
S=122+2(99+2(3+2(5+2(68+2(88+2(102+101(2)))))))=0.
i
Таким образом, значения контрольных сумм  позволяют сделать вывод о наличии искаженных блоков шифртекста в строках матрицы Ф*. При этом информация об искаженных блоках шифртекста поступает в блок 356.1 обнаружения и коррекции искажений 1-го уровня контроля с целью локализации искаженных вычетов МПК. Например,  локализует ошибочный вычет  и в блоке 356.1 обнаружения и коррекции искажений 1-го уровня контроля выполняется восстановление ошибочного вычета, путем вычисления проекций и поиска синдромов ошибок. Процедура локализации ошибочного вычетапозволяет непосредственно перейти к вычислению проекции  по основанию-полиному m(z).
1
Поскольку полином  является неправильным и содержит искажения, тогда вычислим проекцию полиномаи синдром ошибок по основанию-полиному m(z), для которого проекция  может быть выражена, как
В результате получим
значение которой отвечает критерию
Вычислим синдром ошибок
1
i
l,1
5
4
3
2
В результате получено r синдромов, один из которых равен 0, что позволяет сделать вывод о наличии ошибки в вычетеи исправить ошибку. Для этого воспользуемся проекцией  по основанию-полиному m(z) и вычислим значение Ω(z). Получим (z)=z+z+z+z+z+1. При этом восстановление искаженных блоков шифртекста, так же осуществляется кодами PC в блоке 356.2 обнаружения и коррекции искажений 2-го уровня контроля, а процесс поиска и коррекции ошибок более высокой кратности происходит пока обнаруживающая способность многомерных криптокодовых конструкций, определенных выражением (9) не будет превышена.
Восстановленные последовательности блоков шифртекста поступают в блок 357 формирования обобщенного шифртекста, в котором формируется исправленная последовательность блоков шифртекста  поступает на вход блока 359 расшифрования шифртекста, в котором выполняется процедура обратного преобразования последовательности блоков шифртекста в последовательность блоков открытого текста. Расшифрованная последовательность блоков открытого текста  поступает в буфер 360 вывода открытого текста, в котором осуществляется преобразование числовых значений в символы открытого текста, поступающие с блока (таблицы) 370 кодовых символов. Приведенный пример показал, что способ и устройство имитоустойчивой передачи информации по каналам связи функционирует корректно, технически реализуем(о) и позволяет решить поставленную задачу.