Способ формирования ключа шифрования/дешифрования
Иллюстрации
Показать всеИзобретение относится к передаче данных, а именно к формированию ключа шифрования/дешифрования (K) для передачи данных. Техническим результатом является уменьшение времени формирования K для сети связи, включающей трех корреспондентов. Технический результат достигается тем, что способ формирования K предусматривает одновременное формирование исходной последовательности на стороне 1-го корреспондента сети связи и предварительных последовательностей на сторонах 2-го и 3-го корреспондентов, при этом сформированное 1-м корреспондентом сети связи кодовое слово одновременно передают по каналам связи с независимыми ошибками 2-му и 3-му корреспондентам сети связи соответственно, передают сформированный 2-м корреспондентом сети связи двоичный символ подтверждения по каналам связи без ошибок соответственно 1-му и 3-му корреспондентам сети связи, аналогичным образом передают сформированный 3-м корреспондентом сети связи двоичный символ подтверждения. Затем осуществляется кодирование исходной последовательности, выделение из нее блока проверочных символов, одновременная передача его по прямым каналам связи без ошибок 2-му и 3-му корреспондентам, одновременное формирование декодированных последовательностей 2-м и 3-м корреспондентами и одновременное формирование К всеми корреспондентами сети связи. 10 з.п. ф-лы, 43 ил., 4 прилож.
Реферат
Изобретение относится к области криптографии, а именно к формированию ключа шифрования/дешифрования (КлШД), и может быть использовано в качестве отдельного элемента при построении симметричных криптографических систем, предназначенных для передачи шифрованных речевых, звуковых, телевизионных и др. сообщений.
Предлагаемый способ формирования КлШД может использоваться в криптографических системах в случае отсутствия или потери криптосвязности (криптосвязность - наличие у корреспондентов сети связи одинакового КлШД) между корреспондентами сети связи (СС), включающей трех корреспондентов, или установления криптосвязности между новыми корреспондентами СС в условиях ведения нарушителем перехвата информации, передаваемой по открытым каналам связи. Под термином «сеть связи» понимают множество узлов и линий, соединяющих их, причем для любых двух различных узлов существует по крайней мере один соединяющий их путь, как описано, например, в книге Д.Филлипс, А.Гарсиа-Диас, «Методы анализа сетей», М.: Мир, 1984, стр.16.
Известен способ формирования КлШД, описанный в книге У.Диффи «Первые десять лет криптографии с открытым ключом», ТИИЭР, т.76, №5, с.57-58. Известный способ заключается в предварительном распределении между сторонами направления связи (СНС) чисел α и β, где α - простое число и 1≤β≤α-1. Под термином «направление связи» понимают совокупность линий передачи и узлов связи, обеспечивающую связь между двумя пунктами сети, как описано, например, в Национальном стандарте РФ, ГОСТ Р 53111-2008, «Устойчивость функционирования сети связи общего пользования», Москва: Стандартинформ, 2009, стр.7. Передающая сторона направления связи (ПерСНС) и приемная сторона НС (ПрСНС), независимо друг от друга, выбирают случайные соответствующие числа XA и XB, которые хранят в секрете и затем формируют числа на основе XA, α, β на ПерСНС и XB, α, β на ПрСНС. СНС обмениваются полученными цифрами по каналам связи без ошибок. После получения чисел корреспондентов стороны преобразовывают полученные числа с использованием своих секретных чисел в единый КлШД. Способ позволяет шифровать информацию во время каждого сеанса связи на новых КлШД (т.е. исключает хранение ключевой информации на носителях) и сравнительно быстро сформировать КлШД при использовании одного незащищенного канала связи.
Однако известный способ обладает относительно низкой стойкостью КлШД к компрометации (стойкость КлШД к компрометации - способность криптографической системы противостоять попыткам нарушителя получить КлШД, который сформирован и используется законными участниками обмена информацией, при использовании нарушителем информации о КлШД, полученной в результате перехвата, хищения, утраты, разглашения, анализа и т.д.), время действия КлШД ограничено продолжительностью одного сеанса связи или его части, некорректное распределение чисел α и β приводит к невозможности формирования КлШД.
Известен также способ формирования КлШД при использовании квантового канала связи [Патент US №5515438, H04L 9/00 от 07.05.96], который позволяет автоматически сформировать КлШД без дополнительных мер по рассылке (доставке) предварительной последовательности. Известный способ заключается в использовании принципа неопределенности квантовой физики и формирует КлШД посредством передачи фотонов по квантовому каналу. Способ обеспечивает получение КлШД с высокой стойкостью к компрометации, осуществляет гарантированный контроль наличия и степени перехвата КлШД.
Однако реализация известного способа требует высокоточной аппаратуры, что обуславливает высокую стоимость его реализации. Кроме этого, КлШД по данному способу может быть сформирован при использовании волоконно-оптических линий связи ограниченной длины, что существенно ограничивает область применения его на практике.
Наиболее близким по технической сущности к заявляемому способу формирования КлШД является способ формирования КлШД [Патент РФ №2170112 от 20.07.2001].
Способ-прототип включает формирование исходной последовательности (ИП) первым корреспондентом направления связи (НС), кодирование ИП, выделение из кодированной ИП блока проверочных символов, передачу его по прямому каналу связи без ошибок второму корреспонденту НС, формирование декодированной последовательности (ДП) вторым корреспондентом НС, формирование функции хеширования последовательностей первым корреспондентом НС, передачу ее по прямому каналу связи без ошибок второму корреспонденту НС и формирование ключей шифрования/дешифрования первым и вторым корреспондентами НС путем хеширования ИП и ДП по сформированной первым корреспондентом НС функции хеширования последовательностей.
Формирование ИП первым корреспондентом НС заключается в генерировании L раз, где L>104 - выбранная первичная длина ИП, случайного двоичного символа, формировании из него кодового слова путем повторения сгенерированного случайного двоичного символа М раз, где М≥1, и передачи кодового слова по каналу связи с ошибками второму корреспонденту НС, формировании из принятого кодового слова принятого двоичного символа и двоичного символа подтверждения F, передаче двоичного символа подтверждения по обратному каналу без ошибок первому корреспонденту НС, причем при двоичном символе подтверждения F, равном нулю, корреспондентами НС осуществляется стирание сгенерированного случайного двоичного символа и принятого двоичного символа, а при двоичном символе подтверждения F, равном единице, осуществляется запоминание сгенерированного случайного двоичного символа и принятого двоичного символа соответственно первым и вторым корреспондентами НС в качестве i-x элементов, где i=1, 2, 3, …, L-U, исходной и предварительной последовательностей соответственно первого и второго корреспондентов НС, где U - количество стертых символов при формировании исходной и предварительной последовательностей.
Кодирование ИП осуществляется линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, порождающая матрица которого имеет размерность K×N, причем N>K. Размеры K и N порождающей матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода выбирают K=2m-1-m и N=2m-1, где m≥3. Для кодирования ИП предварительно разделяют на Y подблоков длиной K двоичных символов, где Y=(L-U)/K, затем последовательно начиная с j-го до Y-го из каждого j-го подблока, где j=1, 2, 3, …, Y, формируют j-й кодовый блок длиной N двоичных символов перемножением j-го подблока на порождающую матрицу, затем из j-го кодового блока выделяют j-й подблок проверочных символов длиной N-K двоичных символов, который запоминают в качестве j-го подблока блока проверочных символов кодированной ИП.
Выделение блока проверочных символов ИП заключается в разбиении кодированной ИП на ИП и блок проверочных символов кодированной ИП и выделении последнего.
Передача блока проверочных символов кодированной ИП заключается в передаче его от первого корреспондента НС по прямому каналу связи без ошибок второму корреспонденту НС.
Формирование ДП вторым корреспондентом НС осуществляется следующим образом, предварительную последовательность декодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, транспонированная проверочная матрица которого имеет размерность N×(N-K), причем N>K. Размеры K и N проверочной матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода выбирают K=2m-1-m и N=2m-1, где m≥3. Для декодирования предварительную последовательность и блок проверочных символов кодированной исходной кодированной последовательности разделяют на Y соответствующих пар декодируемых подблоков и подблоков проверочных символов, где Y=(L-U)/K, причем длины декодируемых подблоков и подблоков проверочных символов выбирают равными соответственно K и N-K двоичных символов, затем формируют Y принятых кодовых блоков длиной N двоичных символов путем конкатенации справа к j-му декодируемому подблоку j-го подблока проверочных символов, где j=1, 2, 3, …, Y, после чего последовательно, начиная с 1-го до Y-го, вычисляют j-й синдром S длиной N-K двоичных символов перемножением j-го принятого кодового блока на транспонированную проверочную матрицу, а по полученному j-му синдрому S исправляют ошибки в j-м декодируемом подблоке, который затем запоминают в качестве j-го подблока декодированной последовательности.
Формирование функции хеширования последовательностей первым корреспондентом НС заключается в формировании двоичной матрицы G размерности (L-U)×T, где Т≥64 - длина формируемого ключа шифрования/дешифрования, причем каждый из элементов двоичной матрицы G генерируют случайным образом.
Передача функции хеширования последовательностей заключается в последовательной передаче, начиная с 1-й по (L-U)-ю строки двоичной матрицы G, от первого корреспондента НС по прямому каналу связи без ошибок второму корреспонденту НС.
Формирование КлШД первым и вторым корреспондентами направления связи заключается в хешировании исходной и декодированной последовательностей по сформированной первым корреспондентом НС функции хеширования последовательностей. Для хеширования последовательностей предварительно на стороне первого корреспондента двоичную матрицу G и ИП, а на стороне второго корреспондента двоичную матрицу G и ДП разделяют на W соответствующих пар подматриц размерности Р×Т, где P=(L-U)/W, и подблоков исходной и декодированной последовательностей длиной Р двоичных символов, затем начиная с 1-го до W-й, вычисляют z-й первичный ключ длины Т двоичных символов, где z=1, 2, 3, …, W, перемножением z-го подблока ИП на z-ю подматрицу Gz на стороне первого корреспондента и z-го подблока ДП на z-ю подматрицу Gz на стороне второго корреспондента, после чего формируют КлШД путем поразрядного суммирования по модулю 2 всех W первичных ключей на сторонах первого и второго корреспондентов направления связи.
Способ-прототип позволяет сформировать КлШД между корреспондентами НС со сравнительно небольшими материальными затратами при большом пространственном разнесении корреспондентов НС.
Недостатком прототипа являются относительно большие временные затраты на формирование КлШД для СС из трех корреспондентов, так как необходимо последовательно формировать КлШД посредством способа-прототипа для каждой пары корреспондентов СС, включающей первого корреспондента, затем выбирать один из сформированных КлШД в качестве КлШД для СС и обеспечивать его получение всеми корреспондентами СС.
Целью заявленного технического решения является разработка способа формирования КлШД, обеспечивающего уменьшение времени формирования КлШД для сети связи, включающей трех корреспондентов.
Поставленная цель достигается тем, что в известном способе формирования ключа шифрования/дешифрования, заключающемся в том, что генерируют случайный двоичный символ на стороне первого корреспондента, формируют из случайного двоичного символа кодовое слово, передают кодовое слово от первого корреспондента второму корреспонденту, формируют принятый двоичный символ, формируют двоичный символ подтверждения, передают двоичный символ подтверждения от второго корреспондента первому, формируют исходную и предварительную последовательности на сторонах первого и второго корреспондентов соответственно, кодируют исходную последовательность, выделяют из кодированной исходной последовательности блок проверочных символов, передают его от первого корреспондента второму, формируют и запоминают декодированную последовательность на стороне второго корреспондента, формируют функцию хеширования на стороне первого корреспондента, передают функцию хеширования от первого корреспондента второму, после чего формируют ключ шифрования/дешифрования из исходной и декодированной последовательностей на сторонах первого и второго корреспондентов соответственно, ключ шифрования/дешифрования формируют одновременно для сети связи, включающей трех корреспондентов. Сформированное первым корреспондентом сети связи кодовое слово одновременно передают по первому и второму каналам связи с независимыми ошибками второму и третьему корреспондентам сети связи соответственно. Передают сформированный вторым корреспондентом сети связи двоичный символ подтверждения F1 по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам сети связи. Передают сформированный третьим корреспондентом сети связи двоичный символ подтверждения F2 по второму обратному и третьему обратному каналам связи без ошибок соответственно первому и второму корреспондентам сети связи. Стирают сгенерированный случайный двоичный символ первого корреспондента сети связи и принятые двоичные символы второго и третьего корреспондентов сети связи при равенстве нулю по крайней мере одного из полученных двоичных символов подтверждения, в противном случае запоминают сгенерированный случайный двоичный символ первого корреспондента сети связи, принятый двоичный символ второго корреспондента сети связи, принятый двоичный символ третьего корреспондента сети связи соответственно в качестве i-x элементов, где i=1, 2, 3, …, L-U, исходной последовательности, первой предварительной последовательности и второй предварительной последовательности, где L>103 - число генераций случайного двоичного символа, U - количество стертых символов при формировании исходной последовательности и предварительных последовательностей. После чего одновременно передают блок проверочных символов кодированной исходной последовательности по первому прямому и второму прямому каналам связи без ошибок соответственно второму и третьему корреспондентам сети связи. После формирования исходной и декодированных последовательностей одновременно передают сформированную первым корреспондентом сети связи функцию хеширования последовательностей по первому прямому и второму прямому каналам связи без ошибок соответственно второму и третьему корреспондентам сети связи. Для формирования кодового слова сгенерированный случайный двоичный символ повторяют М раз, где М≥1. Принятому двоичному символу любого корреспондента сети связи присваивают значение первого двоичного символа принятого кодового слова. Для независимого друг от друга и одновременного формирования двоичного символа подтверждения F1 второго корреспондента или двоичного символа подтверждения F2 третьего корреспондента сети связи первый двоичный символ принятого кодового слова сравнивают с последующими М двоичными символами принятого кодового слова, где M≥1 - число повторений сгенерированного случайного двоичного символа при формировании кодового слова, после чего при наличии М совпадений первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение единица, а при наличии хотя бы одного несовпадения первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение ноль. Исходную последовательность кодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, где K - длина блока информационных символов и N - длина кодового блока, порождающая матрица которого имеет размерность K×N, причем N>K. При кодировании исходную последовательность предварительно разделяют на Y подблоков длиной К двоичных символов, где Y=(L-U)/K. Затем последовательно начиная с первого до Y-го из каждого j-го подблока, где j=1, 2, 3, …, Y, формируют j-й кодовый блок длиной N двоичных символов перемножением j-го подблока на порождающую матрицу. Из j-го кодового блока выделяют j-й подблок проверочных символов длиной N-K двоичных символов. Запоминают в качестве j-го подблока блока проверочных символов кодированной исходной последовательности. Размеры K и N порождающей матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода выбирают K=2m-1-m и N=2m-1, где m≥3. Для формирования первой и второй декодированных последовательностей первую и вторую предварительные последовательности второго и третьего корреспондентов сети связи соответственно независимо и одновременно декодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, где K - длина блока информационных символов и N - длина кодового блока, транспонированная проверочная матрица которого имеет размерность N×(N-K), причем N>K. Для одновременного и независимого формирования декодированных последовательностей второго и третьего корреспондентов сети связи предварительные последовательности второго и третьего корреспондентов сети связи и блоки проверочных символов кодированной исходной последовательности разделяют на Y соответствующих пар декодируемых подблоков и подблоков проверочных символов, где Y=(L-U)/K. Длины декодируемых подблоков и подблоков проверочных символов выбирают равными соответственно K и N-K двоичных символов. Затем формируют Y принятых кодовых блоков длиной N двоичных символов путем конкатенации справа к j-му декодируемому подблоку j-го подблока проверочных символов, где j=1, 2, 3, …, Y. Последовательно, начиная с 1-го до Y-го, вычисляют j-й синдром S длиной N-K двоичных символов перемножением j-го принятого кодового блока на транспонированную проверочную матрицу. По полученному j-му синдрому S исправляют ошибки в j-м декодируемом подблоке. Затем запоминают в качестве j-го подблока декодированных последовательностей. Выбирают размеры K и N проверочной матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода K=2m-1-m и N=2m-1, где m≥3. Функцию хеширования последовательностей на стороне первого корреспондента сети связи формируют в виде двоичной матрицы G размерности (L-U)×T, где Т≥64 - длина формируемого ключа шифрования/дешифрования, причем каждый из элементов двоичной матрицы G генерируют случайным образом. Функцию хеширования последовательностей, сформированную первым корреспондентом сети связи, одновременно передают последовательно, начиная с первой по (L-U)-ю строки двоичной матрицы G второму и третьему корреспондентам сети связи по первому прямому и второму прямому каналам связи без ошибок соответственно. При одновременном формировании ключа шифрования/дешифрования предварительно двоичную матрицу G и исходную последовательность первого корреспондента сети связи, двоичную матрицу G и первую декодированную последовательность второго корреспондента сети связи, двоичную матрицу G и вторую декодированную последовательность третьего корреспондента сети связи разделяют на W соответствующих пар подматриц размерности Р×Т, где P=(L-U)/W, Т≥64 - длина формируемого ключа шифрования/дешифрования, и соответственно подблоков исходной последовательности, первой декодированной последовательности и второй декодированной последовательности длиной Р двоичных символов соответственно. Затем одновременно начиная с первого до W-й, корреспонденты сети связи вычисляют z-й первичный ключ длины Т двоичных символов, где z=1, 2, 3, …, W, перемножением z-го подблока исходной последовательности первого корреспондента сети связи на z-ю подматрицу Gz, z-го подблока первой декодированной последовательности второго корреспондента сети связи на z-ю подматрицу Gz, z-го подблока второй декодированной последовательности третьего корреспондента сети связи на z-ю подматрицу Gz. После чего одновременно формируют ключ шифрования/дешифрования путем поразрядного суммирования по модулю 2 всех W первичных ключей на сторонах всех корреспондентов сети связи.
Благодаря новой совокупности существенных признаков за счет одновременного формирования КлШД корреспондентами сети связи обеспечивается возможность формирования ключа шифрования/дешифрования для сети связи, включающей трех корреспондентов, и уменьшение временных затрат на формирование КлШД для трех корреспондентов сети связи.
Заявленный способ поясняется фигурами, на которых показаны:
- на фигуре 1 - обобщенная структурная схема сети связи, применяемой в заявленном способе;
- на фигуре 2 - временная диаграмма генерирования случайного двоичного символа на стороне первого корреспондента сети связи;
- на фигуре 3 - временная диаграмма формирования кодового слова на стороне первого корреспондента сети связи;
- на фигуре 4 - временная диаграмма вектора ошибок в первом канале связи с ошибками между первым и вторым корреспондентами сети связи;
- на фигуре 5 - временная диаграмма принятого вторым корреспондентом сети связи кодового слова;
- на фигуре 6 - временная диаграмма формирования вторым корреспондентом сети связи двоичного символа подтверждения F1;
- на фигуре 7 - временная диаграмма формирования вторым корреспондентом сети связи принятого двоичного символа;
- на фигуре 8 - временная диаграмма принятого первым корреспондентом сети связи от второго двоичного символа подтверждения F1;
- на фигуре 9 - временная диаграмма принятого третьим корреспондентом сети связи от второго двоичного символа подтверждения F1;
- на фигуре 10 - временная диаграмма формирования кодового слова на стороне первого корреспондента сети связи (повтор фигуры 3 для показа влияния независимых ошибок во втором канале связи с ошибками между первым и третьим корреспондентами сети связи);
- на фигуре 11 - временная диаграмма вектора ошибок во втором канале связи с ошибками между первым и третьим корреспондентами сети связи;
- на фигуре 12 - временная диаграмма принятого третьим корреспондентом сети связи кодового слова;
- на фигуре 13 - временная диаграмма формирования третьим корреспондентом сети связи двоичного символа подтверждения F2;
- на фигуре 14 - временная диаграмма формирования третьим корреспондентом сети связи принятого двоичного символа;
- на фигуре 15 - временная диаграмма принятого первым корреспондентом сети связи от третьего двоичного символа подтверждения F2;
- на фигуре 16 - временная диаграмма принятого вторым корреспондентом сети связи от третьего двоичного символа подтверждения F2;
- на фигуре 17 - временная диаграмма хранящегося i-го элемента исходной последовательности первого корреспондента сети связи;
- на фигуре 18 - временная диаграмма хранящегося i-го элемента первой предварительной последовательности второго корреспондента сети связи;
- на фигуре 19 - временная диаграмма хранящегося i-го элемента второй предварительной последовательности третьего корреспондента сети связи;
- на фигуре 20 - временная диаграмма сформированной первой предварительной последовательности второго корреспондента сети связи;
- на фигуре 21 - временная диаграмма сформированной второй предварительной последовательности третьего корреспондента сети связи;
- на фигуре 22 - временная диаграмма сформированной исходной последовательности первого корреспондента СС, разделенной на Y подблоков по K символов;
- на фигуре 23 - временная диаграмма выделенного j-го подблока исходной последовательности длиной K двоичных символов;
- на фигуре 24 - временная диаграмма формирования j-го кодового блока длиной N двоичных символов;
- на фигуре 25 - временная диаграмма выделения j-го подблока проверочных символов длиной N-K двоичных символов;
- на фигуре 26 - временная диаграмма формирования блока проверочных символов кодированной ИП из Y подблоков проверочных символов;
- на фигуре 27 - временная диаграмма блока проверочных символов кодированной исходной последовательности, переданного второму и третьему корреспондентам сети связи и разделенного на Y подблоков проверочных символов длиной N-K двоичных символов, и выделение из нее j-го подблока проверочных символов;
- на фигуре 28 - временная диаграмма второй предварительной последовательности третьего корреспондента сети связи, разделенной на Y декодируемых подблоков по K символов, и выделение из нее j-го декодируемого подблока;
- на фигуре 29 - временная диаграмма формирования j-го кодового блока путем конкатенации справа j-го подблока проверочных символов к j-му декодируемому подблоку;
- на фигуре 30 - временная диаграмма вычисления j-го синдрома S длиной N-K двоичных символов и определение местоположения ошибки;
- на фигуре 31 - временная диаграмма исправления ошибки в j-м декодируемом подблоке по полученному j-му синдрому S;
- на фигуре 32 - временная диаграмма формирования второй декодированной последовательности третьего корреспондента СС из Y декодируемых подблоков;
- на фигуре 33 - временная диаграмма блока проверочных символов кодированной исходной последовательности, переданного второму и третьему корреспондентам сети связи и разделенного на Y подблоков проверочных символов длиной N-K двоичных символов, и выделение из нее j-го подблока проверочных символов;
- на фигуре 34 - временная диаграмма первой предварительной последовательности второго корреспондента сети связи, разделенной на Y декодируемых подблоков по K символов, и выделение из нее j-го декодируемого подблока;
- на фигуре 35 - временная диаграмма формирования j-го кодового блока путем конкатенации справа j-го подблока проверочных символов к j-му декодируемому подблоку;
- на фигуре 36 - временная диаграмма вычисления j-го синдрома S длиной N-K двоичных символов;
- на фигуре 37 - временная диаграмма проверки на отсутствие ошибок в j-м декодируемом подблоке по полученному j-му синдрому S;
- на фигуре 38 - временная диаграмма формирования первой декодированной последовательности второго корреспондента сети связи из Y декодируемых подблоков;
- на фигуре 39 - вид сформированной функции хеширования последовательностей;
- на фигуре 40 - временная диаграмма представления функции хеширования в виде последовательности двоичных символов, включающей с первой по (L-U)-ю строки длиной по Т двоичных символов;
- на фигуре 41 - временная диаграмма сформированных исходной последовательности первого корреспондента, первой декодированной последовательности второго корреспондента, второй декодированной последовательности третьего корреспондента сети связи;
- на фигуре 42 - временная диаграмма сформированного ключа шифрования/дешифрования первого, второго и третьего корреспондентов сети связи;
- на фигуре 43 - временная диаграмма формирования КлШД.
На представленных фигурах символом «А» обозначены действия, происходящие на стороне первого корреспондента сети связи, символами «B1» - на стороне второго корреспондента сети связи, символами «В2» - на стороне третьего корреспондента сети связи. Символ «→» обозначает процесс передачи последовательностей двоичных символов по каналам связи между корреспондентами сети связи. На фигурах заштрихованный импульс представляет собой символ «1», а не заштрихованный - символ «0». Знаки «+» и «×» обозначают соответственно сложение и умножение в поле Галуа GF(2). Верхние буквенные индексы обозначают длину последовательности (блока), нижние буквенные индексы обозначают номер элемента в последовательности (блоке).
Реализация заявленного способа заключается в следующем. Современные криптосистемы построены по принципу Керкхоффа, описанного, например, в книге Д.Месси, «Введение в современную криптологию», ТИИЭР т.76, №5, май 1988, с.24, согласно которому полное знание нарушителя включает, кроме информации, полученной с помощью перехвата, полную информацию о порядке взаимодействия корреспондентов СС и процессе формирования КлШД. Формирование общего КлШД можно разделить на три основных этапа.
Первый этап - одновременное формирование исходной (ИП) и предварительных (ПРП) последовательностей. Обеспечение формирования ИП и ПРП производится путем одновременной передачи информации об ИП по первому и второму каналам связи с независимыми ошибками соответственно второму и третьему корреспондентам СС и ее одновременной обработкой всеми корреспондентами СС. Предполагается, что нарушитель знает порядок обработки информации об ИП и перехватывает свою версию информации об ИП, передаваемой первым корреспондентом СС, на выходе независимого канала перехвата и использует ее для формирования своей версии ПРП. Возможность одновременного формирования ключа шифрования/дешифрования для СС, включающей трех корреспондентов, определена построением модели канальной связности корреспондентов, представленной на фиг.1. Уменьшение временных затрат на формирование ключа шифрования/дешифрования достигается одновременным формированием исходной и предварительных последовательностей всех корреспондентов СС.
Второй этап предназначен для обеспечения формирования КлШД с высокой надежностью. Формирование КлШД с высокой надежностью достигается устранением (исправлением) несовпадающих символов (ошибок) в предварительных последовательностях второго и третьего корреспондентов относительно исходной последовательности первого корреспондента СС при использовании корреспондентами дополнительной информации об ИП, переданной по первому и второму прямым каналам связи без ошибок от первого корреспондента второму и третьему корреспондентам СС соответственно. Предполагается, что нарушитель перехватывает дополнительную информацию по каналам перехвата без ошибок и использует ее для устранения несовпадений в своей версии ПРП относительно ИП первого корреспондента. Возможность формирования КлШД для СС из трех корреспондентов и уменьшение времени формирования КлШД в СС достигается одновременной передачей и обработкой дополнительной информации об ИП тремя корреспондентами СС.
Третий этап предназначен для формирования ключа заданной длины с малым количеством информации о ключе, получаемой нарушителем. Обеспечение формирования ключа корреспондентов СС с малым количеством информации о нем у нарушителя обеспечивается путем сжатия последовательностей корреспондентов сети связи, которые получены ими после второго этапа. Предполагается, что нарушителю известен алгоритм сжатия последовательностей. Возможность формирования КлШД для СС из трех корреспондентов и уменьшение временных затрат на формирование КлШД в СС достигается одновременной передачей функции хеширования от первого корреспондента СС по первому прямому и второму прямому каналам связи без ошибок соответственно второму и третьему корреспондентам СС и одновременной обработкой информации в целях формирования КлШД всех корреспондентов СС.
В заявленном способе формирования ключа шифрования/дешифрования для обеспечения возможности формирования КлШД для СС из трех корреспондентов и уменьшения временных затрат на формирование КлШД реализуется следующая последовательность действий.
Предполагается, что нарушитель имеет канал перехвата, с помощью которого он получает информацию о переданных кодовых словах по каналам связи с ошибками для формирования ИП и ПРП корреспондентов СС. Нарушитель может только получать информацию и не может участвовать в информационном обмене. Для обеспечения возможности формирования КлШД для СС из трех корреспондентов и уменьшения временных затрат на формирование КлШД для СС из трех корреспондентов необходимо создание условий, при которых производится одновременное формирование КлШД для СС из трех корреспондентов.
Для создания вышесказанных условий каждый из символов исходной двоичной последовательности, случайно вырабатываемых на стороне первого корреспондента СС (каждый двоичный символ ИП генерируют случайным образом, чтобы обеспечить возможность формирования КлШД для трех корреспондентов СС и уменьшение временных затрат на его формирование), повторяют М раз и одновременно передают второму и третьему корреспондентам сети связи по первому и второму каналам связи с независимыми ошибками соответственно. Второй и третий корреспонденты одновременно принимают каждое из слов кода повторения, если все его элементы или «1» или «0» и выносят решение об информационном символе, соответствующем принятому кодовому слову. В противном случае стирают это кодовое слово. Решение о принятых (стертых) кодовых словах одновременно передают по каналам связи без ошибок всем другим корреспондентам сети. Корреспонденты СС одновременно сохраняют в исходной и предварительных последовательностях символы, которые не были стерты. Нарушитель, также, может удалять символы, которые были стерты корреспондентами СС. Однако символы, сохраняемые нарушителем (т.е. которые соответствуют одновременно сохраненным символам корреспондентов СС), не достаточно надежны, потому что ошибки, возникающие в независимых каналах с ошибками корреспондентов СС, и ошибки, возникающие в канале перехвата, являются независимыми ошибками. Вместо представленного декодирования кодовых слов корреспонденты СС могут одновременно использовать пороговое декодирование. Основное различие при использовании порогового декодирования заключается в том, что корреспонденты СС одновременно принимают каждое из слов кода повторения, не только когда все его элементы или «1» или «0», но и когда число одинаковых двоичных символов в кодовом слове не менее определенного числа (порога). Это приведет, с одной стороны, к уменьшению надежности каждого из одновременно сохраненных символов в предварительных последовательностях (ПРП) на сторонах второго и третьего корреспондентов, с другой стороны корреспонденты СС будут меньше стирать символов ИП (ПРП).
Создание условий, при которых обеспечивается одновременное формирование КлШД для трех корреспондентов СС и уменьшение времени, затрачиваемого на его формирование, реализуется в заявленном способе следующей последовательностью действий по одновременному формированию ИП первого корреспондента СС и предварительных последовательностей второго и третьего корреспондентов СС. Формирование исходной последовательности первого корреспондента СС заключается в следующем. L раз, где L>103, генерируют случайный двоичный символ (см. фиг.2). Известные способы генерирования случайных чисел описаны, например, в книге Д. Кнут «Искусство программирования для ЭВМ», М.: Мир, 1977, т.2, стр.22. Формируют из случайного двоичного символа кодовое слово. Для формирования кодового слова сгенерированный случайный двоичный символ кодируют кодом с М-повторениями (см. фиг.3 и 10), где М≥1. М определяется качеством каналов связи с ошибками. Известные способы кодирования кодом с повторениями описаны, например, в книге Э. Берлекэмп, «Алгебраическая теория кодирования», М.: Мир, 1971, стр.11, однако при одновременном декодировании кодового слова корреспондентами СС используются каналы связи без ошибок, что существенно влияет на увеличение надежности принятых символов. Одновременно передают кодовое слово по первому и второму каналам связи с независимыми ошибками второму и третьему корреспондентам СС соответственно. Временные диаграммы векторов ошибок в каналах связи с независимыми ошибками показаны на фигурах 4 и 11. Под термином «вектор ошибок» понимают поразрядную разность между переданным и принятым кодовыми словами, как описано, например, в книге А. Зюко, Д. Кловский, М. Назаров, Л. Финк «Теория передачи сигналов», М.: Радио и связь, 1986, стр.93. Принятые кодовые слова показаны на фигурах 5 и 12. Известные способы передачи последовательностей по каналам связи с ошибками описаны, например, в книге А. Зюко, Д. Кловский, М. Назаров, Л. Финк, «Теория передачи сигналов», М.: Радио и связь, 1986, стр.11. Второй и третий корреспонденты СС из принятого кодового слова одновременно формируют принятые двоичные символы и двоичные символы подтверждения F1, F2. Принятому двоичному символу на стороне первого и второго корреспондентов СС одновременно присваивают значение первого двоичного символа принятых кодовых слов (см. фиг.7 и 14). Для формирования двоичного символа подтверждения первый двоичный символ принятого кодового слова одновременно сравнивают с последующими М двоичными сим