Изобретение относится к области криптографии, а именно к формированию ключа шифрования/дешифрования (КлШД) и может быть использовано в качестве отдельного элемента при построении симметричных криптографических систем, предназначенных для передачи шифрованных речевых, звуковых, телевизионных и др. сообщений.
Предлагаемый способ формирования КлШД может использоваться в криптографических системах в случае отсутствия или потери криптосвязности1 (1Криптосвязность - наличие у корреспондентов сети связи одинакового КлШД.) между корреспондентами сети связи (СС), включающей трех корреспондентов, или установления криптосвязности между новыми корреспондентами СС в условиях ведения нарушителем перехвата информации, передаваемой по открытым каналам связи. Под термином «сеть связи» понимают множество узлов и линий, соединяющих их, причем для любых двух различных узлов существует по крайней мере один соединяющий их путь, как описано, например, в книге Д. Филлипс, А. Гарсиа-Диас, «Методы анализа сетей», М.: Мир, 1984, стр. 16.
Известен способ формирования КлШД, описанный в книге У. Диффи «Первые десять лет криптографии с открытым ключом», ТИИЭР, т. 76, №5, с. 57-58. Известный способ заключается в предварительном распределении между сторонами направления связи (СНС) чисел α и β, где α - простое число и 1≤β≤α-1. Под термином «направление связи» понимают совокупность линий передачи и узлов связи, обеспечивающая связь между двумя пунктами сети, как описано, например, в Национальном стандарте РФ, ГОСТР 53111-2008, «Устойчивость функционирования сети связи общего пользования», Москва: Стандартинформ, 2009, стр. 7. Передающая сторона направления связи (ПерСНС) и приемная сторона НС (ПрСНС), независимо друг от друга, выбирают случайные соответствующие числа XA и XB, которые хранят в секрете и затем формируют числа на основе XA, α, β на ПерСНС и XB, α, β на ПрСНС. СНС обмениваются полученными цифрами по каналам связи без ошибок. После получения чисел корреспондентов стороны преобразовывают полученные числа с использованием своих секретных чисел в единый КлШД. Способ позволяет шифровать информацию во время каждого сеанса связи на новых КлШД (т.е. исключает хранение ключевой информации на носителях) и сравнительно быстро сформировать КлШД при использовании одного незащищенного канала связи.
Однако известный способ обладает относительно низкой стойкостью КлШД к компрометации2 (2Стойкость КлШД к компрометации - способность криптографической системы противостоять попыткам нарушителя получить КлШД, который сформирован и используется законными участниками обмена информацией, при использовании нарушителем информации о КлШД, полученной в результате перехвата, хищения, утраты, разглашения, анализа и т.д.), время действия КлШД ограничено продолжительностью одного сеанса связи или его части, некорректное распределение чисел α и β приводит к невозможности формирования КлШД.
Известен также способ формирования КлШД при использовании квантового канала связи [Патент US №5515438 H04L 9/00 от 07.05.96], который позволяет автоматически сформировать КлШД без дополнительных мер по рассылке (доставке) предварительной последовательности. Известный способ заключается в использовании принципа неопределенности квантовой физики и формирует КлШД, посредством передачи фотонов по квантовому каналу. Способ обеспечивает получение КлШД с высокой стойкостью к компрометации, осуществляет гарантированный контроль наличия и степени перехвата КлШД.
Однако реализация известного способа требует высокоточной аппаратуры, что обуславливает высокую стоимость его реализации. Кроме этого, КлШД по данному способу может быть сформирован при использовании волоконно-оптических линий связи ограниченной длины, что существенно ограничивает область применения его на практике.
Наиболее близким по технической сущности к заявляемому способу формирования КлШД является способ формирования КлШД [Патент РФ №2480923 от 27.04.2013].
Способ-прототип заключается в одновременном формировании исходной последовательности (ИП) первого корреспондента сети связи (СС), первой и второй предварительных последовательностей (ПРП1 и ПРП2) второго и третьего корреспондентов СС, соответственно, кодировании ИП, выделении из кодированной ИП блока проверочных символов, передаче его по первому и второму прямым каналам связи без ошибок соответственно второму и третьему корреспондентам СС, формировании декодированных последовательностей (ДП1 и ДП2) вторым и третьим корреспондентами СС, соответственно, формировании функции хеширования последовательностей первым корреспондентом СС, передаче ее по первому и второму прямом каналам связи без ошибок соответственно второму и третьему корреспондентам СС и формировании ключей шифрования / дешифрования первым, вторым и третьим корреспондентами СС путем хеширования ИП, ДП1 и ДП2 по сформированной первым корреспондентом СС функции хеширования последовательностей.
Формирование ИП первого корреспондента СС, ПРП1 второго корреспондента СС и ПРП2 третьего корреспондента СС заключается в генерировании L раз первым корреспондентом СС, где L>103 - выбранная первичная длина ИП, случайного двоичного символа, формировании из него кодового слова путем повторения сгенерированного случайного двоичного символа М раз, где М≥1 - число повторений сгенерированного случайного двоичного символа при формирования кодового слова, и передачи кодового слова по первому и второму каналам связи с независимыми ошибками второму и третьему корреспондентам СС, соответственно, формировании из принятого кодового слова принятого двоичного символа и двоичного символа подтверждения F, передаче сформированного вторым корреспондентом СС двоичного символа подтверждения F1 по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам СС, соответственно, передаче сформированного третьим корреспондентом СС двоичного символа подтверждения F2 по второму обратному и третьему обратному каналам связи без ошибок первому и второму корреспондентам СС, соответственно. Для независимого друг от друга и одновременного формирования двоичного символа подтверждения F1 второго корреспондента СС или двоичного символа подтверждения F2 третьего корреспондента СС, соответственно, первый двоичный символ принятого кодового слова сравнивают с последующими М двоичными символами принятого кодового слова, после чего при наличии М совпадений первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение единица, а при наличии хотя бы одного несовпадения первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение ноль. При равенстве нулю, по крайней мере, одного из полученных двоичных символов подтверждения F1 второго корреспондента СС или F2 третьего корреспондента СС осуществляется стирание сгенерированного случайного двоичного символа первого корреспондента СС и принятых двоичных символов второго и третьего корреспондентов СС, в противном случае осуществляется запоминание сгенерированного случайного двоичного символа первого корреспондента СС, принятых двоичных символов второго и третьего корреспондентов СС соответственно в качестве i-x элементов, где i=1,2,3,…,L-U, исходной последовательности, первой ПРП и второй ПРП соответственно первого корреспондента СС, второго корреспондента СС и третьего корреспондента СС, где U - количество стертых символов при формировании исходной и предварительных последовательностей.
Кодирование ИП первым корреспондентом СС осуществляется линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, где K - длина блока информационных символов и N - длина кодового блока, порождающая матрица которого имеет размерность K×N, причем N>K. Размеры K и N порождающей матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода выбирают K=2m-1-m и N=2m-1, где m≥3. Для кодирования ИП предварительно разделяют на Y подблоков длиной К двоичных символов, где Y=(L-U)/K, затем последовательно, начиная с 1-го до Y-го из каждого j-го подблока, где j=1,2,3,…,Y, формируют j-й кодовый блок длиной N двоичных символов перемножением j-го подблока на порождающую матрицу, затем из j-го кодового блока выделяют j-й подблок проверочных символов длиной N-K двоичных символов, который запоминают в качестве j-го подблока блока проверочных символов кодированной ИП.
Выделение блока проверочных символов ИП первого корреспондента СС заключается в разбиении кодированной ИП на ИП и блок проверочных символов кодированной ИП и выделении последнего.
Передача блока проверочных символов кодированной ИП заключается в его одновременной передаче от первого корреспондента СС по первому прямому каналу связи без ошибок и второму прямому каналу связи без ошибок соответственно второму и третьему корреспондентам.
Формирование первой декодированной последовательности второго корреспондента СС и второй декодированной последовательности третьего корреспондента СС осуществляется следующим образом. Первую и вторую предварительные последовательности второго и третьего корреспондентов СС, соответственно, независимо и одновременно декодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, где K - длина блока информационных символов и N - длина кодового блока, транспонированная проверочная матрица которого имеет размерность 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-го подблока первой декодированной последовательности (1ДП) на стороне второго корреспондента СС и второй декодированной последовательности (2ДП) на стороне третьего корреспондента СС.
Формирование функции хеширования последовательностей на стороне первого корреспондента СС заключается в формировании двоичной матрицы G размерности (L-U)×T, где Т≥64 - длина формируемого ключа шифрования/дешифрования, причем каждый из элементов двоичной матрицы G генерируют случайным образом.
Передача функции хеширования последовательностей заключается в последовательной передаче, начиная с 1-й по (L-U)-ю строки двоичной матрицы G, от первого корреспондента СС по первому прямому каналу связи без ошибок и второму прямому каналу связи без ошибок второму и третьему корреспондентам СС, соответственно.
Одновременное формирование ключа шифрования/дешифрования первым корреспондентом СС, вторым корреспондентом СС и третьим корреспондентом СС осуществляется путем хеширования ИП, 1ДП и 2ДП, по сформированной первым корреспондентом СС функции хеширования последовательностей. Для хеширования последовательностей предварительно двоичную матрицу G и ИП первого корреспондента СС, двоичную матрицу G и 1ДП второго корреспондента СС, двоичную матрицу G и 2ДП третьего корреспондента СС разделяют на W соответствующих пар подматриц размерности Р×Т, где P=(L-U)/W, где Т≥64 - длина формируемого ключа шифрования/дешифрования, и, соответственно, подблоков ИП, 1ДП и 2ДП длиной Р двоичных символов соответственно, затем одновременно, начиная с первого до W-й, вычисляют z-й первичный ключ длины Т двоичных символов, где z=1, 2, 3, …, W, перемножением z-го подблока ИП первого корреспондента СС на z-ю подматрицу Gz, z-го подблока 1ДП второго корреспондента СС на z-ю подматрицу Gz, z-го подблока 2ДП третьего корреспондента СС на z-ю подматрицу Gz, после чего одновременно формируют КлШД путем поразрядного суммирования по модулю 2 всех W первичных ключей на сторонах всех корреспондентов СС.
Способ-прототип позволяет сформировать КлШД между корреспондентами СС, включающей трех корреспондентов, со сравнительно небольшими материальными затратами при большом пространственном разнесении корреспондентов СС.
Недостатком прототипа является относительно низкая стойкость сформированного ключа шифрования/дешифрования к компрометации относительно нарушителя, обусловленная сравнительно большим количеством информации, получаемой нарушителем о сформированном ключе шифрования/дешифрования на выходе канала перехвата.
Целью заявленного технического решения является разработка способа формирования КлШД, обеспечивающего повышение стойкости сформированного КлШД для сети связи, включающей трех корреспондентов к компрометации со стороны нарушителя за счет уменьшения информации нарушителя о формируемом КлШД на выходе составного канала связи, включающего последовательное соединение канала перехвата нарушителя и первого канала связи с ошибками от первого корреспондента СС ко второму корреспонденту СС, формируемого в предлагаемом способе.
Поставленная цель достигается тем, что в известном способе формирования ключа шифрования/дешифрования для сети связи, включающей трех корреспондентов, заключающемся в том, что генерируют случайный двоичный символ на стороне первого корреспондента, формируют из случайного двоичного символа кодовое слово, одновременно передают кодовое слово от первого корреспондента второму и третьему корреспондентам СС по первому и второму каналам связи с независимыми ошибками, соответственно, второй и третий корреспонденты одновременно формируют принятые двоичные символы, одновременно формируют двоичные символы подтверждения, передают сформированный вторым корреспондентом сети связи двоичный символ подтверждения F1 по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам СС, передают сформированный третьим корреспондентом двоичный символ подтверждения F2 по второму обратному и третьему обратному каналам связи без ошибок соответственно первому и второму корреспондентам СС, стирают сгенерированный случайный двоичный символ первого корреспондента сети связи и принятые двоичные символы второго и третьего корреспондентов сети связи при равенстве нулю по крайней мере одного из полученных двоичных символов подтверждения, в противном случае запоминают сгенерированный случайный двоичный символ первого корреспондента сети связи, принятый двоичный символ второго корреспондента сети связи, принятый двоичный символ третьего корреспондента сети связи, соответственно, в качестве i-x элементов, где i=1,2,3,…,L-U, исходной последовательности, первой предварительной последовательности и второй предварительной последовательности, где L>103 - число генераций случайного двоичного символа, U - количество стертых символов при формировании исходной последовательности первого корреспондента сети связи, первой предварительной последовательности второго корреспондента сети связи и второй предварительной последовательности третьего корреспондента сети связи, формируют и запоминают вторую ДП на стороне третьего корреспондента, формируют функцию хеширования на стороне первого корреспондента, одновременно передают функцию хеширования от первого корреспондента по первому прямому и второму прямому каналам связи без ошибок второму и третьему корреспондентам СС, соответственно, формируют КлШД из второй ДП на стороне третьего корреспондента СС. Кодируют первую предварительную последовательность на стороне второго корреспондента, выделяют из кодированной первой предварительной последовательности блок проверочных символов, одновременно передают его от второго корреспондента по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам сети связи, формируют и запоминают первую декодированную последовательность на стороне первого корреспондента, формируют ключ шифрования/дешифрования из первой декодированной последовательности и первой предварительной последовательности на стороне первого и второго корреспондентов, соответственно.
Для формирования кодового слова сгенерированный случайный двоичный символ повторяют М раз, где М≥1. Принятому двоичному символу любого корреспондента сети связи присваивают значение первого двоичного символа принятого кодового слова. Для независимого друг от друга и одновременного формирования двоичного символа подтверждения F1 второго корреспондента или двоичного символа подтверждения F2 третьего корреспондента сети связи первый двоичный символ принятого кодового слова сравнивают с последующими М двоичными символами принятого кодового слова, где М>1 -число повторений сгенерированного случайного двоичного символа при формирования кодового слова, после чего при наличии М совпадений первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение единица, а при наличии хотя бы одного несовпадения первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение ноль. Первую предварительную последовательность кодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом, где K - длина блока информационных символов и N - длина кодового блока, порождающая матрица которого имеет размерность K×N, причем N>K. При кодировании первую предварительную последовательность второго корреспондента СС предварительно разделяют на Y подблоков длиной K двоичных символов, где Y=(L-U)/K. Затем последовательно, начиная с первого до Y-гo из каждого j-гo подблока, где j=1,2,3,…,Y, формируют j-й кодовый блок длиной N двоичных символов перемножением j-ro подблока на порождающую матрицу. Из 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-гo подблока второй декодированной последовательности третьего корреспондента сети связи на z-ю подматрицу Gz. После чего одновременно формируют ключ шифрования/дешифрования путем поразрядного суммирования по модулю 2 всех W первичных ключей на сторонах всех корреспондентов сети связи.
Благодаря новой совокупности существенных признаков за счет выбора первой предварительной последовательности второго корреспондента сети связи в качестве основы для формирования ключа шифрования/дешифрования корреспондентов сети связи вместо исходной последовательности первого корреспондента сети связи обеспечивается повышение стойкости к компрометации по отношению к нарушителю сформированного КлШД для сети связи, включающей трех корреспондентов.
Заявленный способ поясняется фигурами, на которых показаны:
- на фигуре 1 - обобщенная структурная схема сети связи, применяемой в заявленном способе;
- на фигуре 2 - временная диаграмма генерирования случайного двоичного символа на стороне первого корреспондента сети связи;
- на фигуре 3 - временная диаграмма формирования кодового слова на стороне первого корреспондента сети связи;
- на фигуре 4 - временная диаграмма вектора ошибок в первом канале связи с ошибками между первым и вторым корреспондентами сети связи;
- на фигуре 5 - временная диаграмма принятого вторым корреспондентом сети связи кодового слова;
- на фигуре 6 - временная диаграмма формирования вторым корреспондентом сети связи двоичного символа подтверждения F1;
- на фигуре 7 - временная диаграмма формирования вторым корреспондентом сети связи принятого двоичного символа;
- на фигуре 8 - временная диаграмма принятого первым корреспондентом сети связи от второго двоичного символа подтверждения F1;
- на фигуре 9 - временная диаграмма принятого третьим корреспондентом сети связи от второго двоичного символа подтверждения F1;
- на фигуре 10 - временная диаграмма передаваемого кодового слова на стороне первого корреспондента сети связи;
- на фигуре 11 - временная диаграмма вектора ошибок во втором канале связи с ошибками между первым и третьим корреспондентами сети связи;
- на фигуре 12 - временная диаграмма принятого третьим корреспондентом сети связи кодового слова;
- на фигуре 13 - временная диаграмма формирования третьим корреспондентом сети связи двоичного символа подтверждения F2;
- на фигуре 14 - временная диаграмма формирования третьим корреспондентом сети связи принятого двоичного символа;
- на фигуре 15 - временная диаграмма принятого первым корреспондентом сети связи от третьего двоичного символа подтверждения F2;
- на фигуре 16 - временная диаграмма принятого вторым корреспондентом сети связи от третьего двоичного символа подтверждения F2;
- на фигуре 17 - временная диаграмма хранящегося i-го элемента исходной последовательности первого корреспондента сети связи;
- на фигуре 18 - временная диаграмма хранящегося i-го элемента первой предварительной второго корреспондента сети связи;
- на фигуре 19 - временная диаграмма хранящегося i-го элемента второй предварительной последовательности третьего корреспондента сети связи;
- на фигуре 20 - временная диаграмма исходной последовательности первого корреспондента сети связи;
- на фигуре 21 - временная диаграмма сформированной первой предварительной последовательности второго корреспондента сети связи;
- на фигуре 22 - временная диаграмма сформированной второй предварительной последовательности третьего корреспондента сети связи;
- на фигуре 23 - временная диаграмма сформированной первой предварительной последовательности второго корреспондента СС, разделенной на Y подблоков по K символов;
- на фигуре 24 - временная диаграмма формирования кодового блока на стороне второго корреспондента сети связи;
- на фигуре 25 - временная диаграмма формирования j-го кодового блока длиной N двоичных символов;
- на фигуре 26 - временная диаграмма выделения j-го подблока проверочных символов длиной N-K двоичных символов;
- на фигуре 27 - временная диаграмма формирования блока проверочных символов кодированной 1ПРП из Y подблоков проверочных символов;
- на фигуре 28 - временная диаграмма блока проверочных символов кодированной 1ПРП переданного первому и третьему корреспондентам сети связи и разделенного на Y подблоков проверочных символов длиной N-K двоичных символов, и выделение из нее j-го подблока проверочных символов;
- на фигуре 29 - временная диаграмма второй предварительной последовательности третьего корреспондента сети связи, разделенной на Y декодируемых подблоков по К символов и выделение из нее j-го декодируемого подблока;
- на фигуре 30 - временная диаграмма формирования j-го кодового блока путем конкатенации справа j-го подблока проверочных символов к j-му декодируемому подблоку;
- на фигуре 31 - временная диаграмма вычисления j-го синдрома S длиной N-K. двоичных символов и определение местоположения ошибки;
- на фигуре 32 - временная диаграмма проверки на отсутствие ошибок в j-м декодируемом подблоке по полученному j-му синдрому S;
- на фигуре 33 - временная диаграмма формирования второй декодированной последовательности третьего корреспондента сети связи из Y декодируемых подблоков;
- на фигуре 34 - временная диаграмма блока проверочных символов кодированной 1ПРП переданного первому и третьему корреспондентам сети связи и разделенного на Y подблоков проверочных символов длиной N-K двоичных символов, и выделение из нее j-го подблока проверочных символов;
- на фигуре 35 - временная диаграмма исходной последовательности первого корреспондента сети связи, разделенной на Y декодируемых подблоков по К символов и выделение из нее j-го декодируемого подблока;
- на фигуре 36 - временная диаграмма формирования j-го кодового блока путем конкатенации справа j-го подблока проверочных символов к j-ому декодируемому подблоку;
- на фигуре 37 - временная диаграмма вычисления j-го синдрома S длиной N-K двоичных символов;
- на фигуре 38 - временная диаграмма проверки на отсутствие ошибок в j-м декодируемом подблоке по полученному j-му синдрому S;
- на фигуре 39 - временная диаграмма формирования первой декодированной последовательности второго корреспондента сети связи из Y декодируемых подблоков;
- на фигуре 40 - вид сформированной функции хеширования последовательностей;
- на фигуре 41 - временная диаграмма представления функции хеширования в виде последовательности двоичных символов, включающей с первой по (L-U)-ю строки длиной по Т двоичных символов;
- на фигуре 42 - временная диаграмма сформированных первой декодированной последовательности первого корреспондента, первой предварительной последовательности второго корреспондента, второй декодированной последовательности третьего корреспондента сети связи;
- на фигуре 43 - временная диаграмма сформированного ключа шифрования/дешифрования первого, второго и третьего корреспондентов сети связи;
- на фигуре 44 - временная диаграмма формирования КлШД.
На представленных фигурах символом «А» обозначены действия, происходящие на стороне первого корреспондента сети связи, символом «В1» - на стороне второго корреспондента сети связи, символом «В2» - на стороне третьего корреспондента сети связи. Sa - сгенерированный случайный двоичный символ на стороне первого КСС, SaM+1 - кодовое слово, формируемое на стороне первого КСС, S1bM+1 - принятое кодовое слово на стороне второго КСС, S2bM+1 - принятое кодовое слово принятое на стороне третьего КСС, М - число повторений сгенерированного случайного двоичного символа при формировании кодового слова, eM+1 - вектор ошибок в канале связи, F1 - двоичный символ подтверждения, формируемый на стороне второго КСС, F2 - двоичный символ подтверждения, формируемый на стороне третьего КСС, - сохраненный i-й элемент ИП на стороне первого КСС, - сохраненный i-й элемент ПРП1 на стороне второго КСС, - сохраненный i-й элемент 2ПРП на стороне третьего КСС, SaL-U - исходная последовательность, S1bL-U - первая предварительная последовательность, S2bL-U - вторая предварительная последовательность, L>103 - число генераций случайного двоичного символа, U - количество стертых символов при формировании исходной и предварительных последовательностей, - j-й кодовый блок, формируемый на стороне первого КСС, - j-й кодовый блок, формируемый на стороне второго КСС, - j-й кодовый блок, формируемый на стороне третьего КСС, - j-й синдром S длиной N-K двоичных символов на стороне первого КСС, - j-й синдром S длиной N-K двоичных символов на стороне третьего КСС, cY(N"K) - блок проверочных символов кодированной последовательности, CY(N-K) - j-й подблок проверочных символов кодированной последовательности, Y - количество подблоков длиной К двоичных символов, N - длина кодового блока, K - длина блока информационных символов, D1L-U - первая декодированная последовательность длиной N-K двоичных символов на стороне первого КСС, D2L-U - вторая декодированная последовательность длиной N-K двоичных символов на стороне третьего КСС, Т - длина формируемого ключа шифрования/дешифрования, G - функция хеширования последовательностей (двоичная матрица), KaT - формируемый КлШД длиной Т символов на стороне первого КСС, K1bT - формируемый КлШД длиной Т символов на стороне второго КСС, K2bT - формируемый КлШД длиной Т символов на стороне третьего КСС. Символ «→» обозначает процесс передачи последовательностей двоичных символов по каналам связи между корреспондентами сети связи. На фигурах заштрихованный импульс представляет собой символ «1», а не заштрихованный - символ «0». Знаки «+» и «×» обозначают соответственно сложение и умножение в поле Галуа GF(2). Верхние буквенные индексы обозначают длину последовательности (блока), нижние буквенные индексы обозначают номер элемента в последовательности (блоке). Символом Um обозначены амплитуды напряжения, символом t - время.
Реализация заявленного способа заключается в следующем. Современные криптосистемы построены по принципу Керкхоффа, описанного, например, в книге Д. Месси, «Введение в современную криптологию», ТИИЭР т. 76, №5, май 1988, с. 24, согласно которому полное знание нарушителя включает, кроме информации полученной с помощью перехвата, полную информацию о порядке взаимодействия корреспондентов СС и процессе формирования КлШД. Формирование общего КлШД можно разделить на три основных этапа.
Первый этап - одновременное формирование исходной (ИП) и предварительных (ПРП) последовательностей. Обеспечение формирования ИП и ПРП производится путем одновременной передачи информации об ИП по первому и второму каналам связи с независимыми ошибками соответственно второму и третьему корреспондентам СС и ее одновременной обработкой всеми корреспондентами СС. Предполагается, что нарушитель знает порядок обработки информации об ИП и перехватывает свою версию информации об ИП, передаваемой первым корреспондентом СС, на выходе независимого канала перехвата и использует ее для формирования своей версии ПРП. Возможность одновременного формирования ключа шифрования/дешифрования для СС, включающей трех корреспондентов, определена построением модели канальной связности корреспондентов, представленной на фиг. 1.
Второй этап предназначен для обеспечения формирования КлШД с высокой надежностью. Формирование КлШД с высокой надежностью достигается устранением (исправлением) несовпадающих символов (ошибок) в исходной и второй предварительной последовательностях первого и третьего корреспондентов относительно первой предварительной последовательности второго корреспондента СС, при использовании корреспондентами дополнительной информации о 1ПРП, переданной по первому обратному и третьему прямому каналам связи без ошибок от второго корреспондента первому и третьему корреспондентам СС, соответственно. Предполагается, что нарушитель перехватывает дополнительную информацию по каналам перехвата без ошибок и использует ее для устранения несовпадений в своей версии последовательности относительно 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). Для формирования двоичного символа подтверждения первый двоичный символ принятого кодового слова одновременно сравнивают с последующими М двоичными символами принятого кодового слова. При наличии хотя бы одного несовпадения первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения присваивают значение «0». При наличии М совпадений первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения присваивают значение «1», как показано на фигурах 6 и 13. Известные способы сравнения двоичных символов описаны, например, в книге П. Хоровец, У. Хил, «Искусство схемотехники», М., Мир, т. 1, 1983, стр. 212. Передают сформированный вторым корреспондентом сети связи двоичный символ подтверждения F1 по первому обратному и третьему прямому каналам связи без ошибок, соответственно, первому и третьему корреспондентам сети связи (см. фиг. 8 и 9), передают сформированный третьим корреспондентом сети связи двоичный символ подтверждения F2 по второму обратному и третьему обратному каналам связи без ошибок соответственно первому и второму корреспондентам сети связи (см. фиг. 15 и 16). Известные способы передачи двоичного символа по обратному каналу описаны, например, в книге А. Зюко, Д. Кловский, М. Назаров, Л. Финк, «Теория передачи сигналов», М., Радио и связь, 1986, стр. 156. При равенстве нулю по крайней мере одного из полученных двоичных символов подтверждения (F1, F2) сгенерированный случайный двоичный символ первого корреспондента сети связи и принятые двоичные символы второго и третьего корреспондентов сети связи одновременно стирают, в противном случае одновременно запоминают сгенерированный случайный двоичный символ первого корреспондента сети связи, принятый двоичный символ второго корреспондента сети связи, принятый двоичный символ третьего корреспондента сети связи соответственно в качестве i-x элементов, где i=1,2,3,…,L-U, исходной последовательности, первой предварительной последовательности и второй предварительной последовательности, где L>103 -число генераций случайного двоичного символа, U - количество одновременно стертых символов при одновременном формировании исходной последовательности первого корреспондента сети связи, первой предварительной последовательности второго корреспондента сети связи и второй предварительной последовательности третьего корреспондента сети связи. На фигуре 17 показан i-й элемент исходной последовательности первого корреспондента СС, на фигуре 18 - i-й элемент первой предварительной последовательности второго корреспондента СС, а i-й элемент второй предварительной последовательности третьего корреспондента СС показан на фигуре 19. Известные способы стирания двоичных символов описаны, например, в книге У. Питерсон, Э. Уэлдон, «Коды исправляющие ошибки», М., Мир, 1976, стр. 17. Известные способы хранения двоичных символов описаны, например, в книге Л. Мальцев, Э. Фломберг, В. Ямпольский, «Основы цифровой техники», М., Радио и связь, 1986, стр. 79. Вид сформированной исходной последовательности показан на фигуре 20, вид сформированной первой предварительной последовательности показан на фигуре 21, а вид сформированной второй предварительной последовательности показан на фигуре 22.
После применения корреспондентами СС кода с повторениями в ИП первого корреспондента СС и предварительных последовательностях второго и третьего корреспондентов СС остаются несовпадающие символы (ошибки), что не позволяет корреспондентам СС приступить к непосредственному формированию КлШД. Устранение этих несовпадений может быть реализовано на основе использования помехоустойчивого кодирования. Однако известные помехоустойчивые коды позволяют кодировать последовательности значительно меньшей длины, чем полученная длина ИП (ПРП) равная L-U двоичных символов. Для этого применяют последовательное кодирование, т.е. если длина ИП (ПРП) велика, например, 103÷105 двоичных символов, ее разделяют на Y подблоков длиной по К символов, где Y=(L-U)/K.
Каждый выделенный подблок первой ПРП длиной по К символов кодируется на стороне первого корреспондента СС линейным систематическим блоковым помехоустойчивым (N,K) двоичным кодом, где К - длина блока информационных символов и N -длина кодового блока. Линейным двоичным кодом называется код, который построен на основе использования линейных операций в поле GF(2), как описано, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М, Мир, 1986, стр. 61. Под термином «блоковый код» понимают код, в котором действия производятся над блоками символов, как описано, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 13. Систематическим называется код, в котором кодовое слово начинается с информационных символов, оставшиеся символы кодового слова являются проверочными символами к информационным символам, как описано, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 66. Затем формируемые блоки проверочных символов длиной N-K двоичных символов объединяют в единый блок проверочных символов кодированной 1ПРП длиной Y (N-K) двоичных символов и одновременно передают его по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам СС. Первый и третий корреспонденты СС используют блок проверочных символов кодированной 1ПРП для устранения несовпадений в своих исходной и второй предварительной последовательностях по отношению к 1ПРП и в результате чего получают декодированные последовательности.
В качестве помехоустойчивых кодов могут использоваться широкий класс кодов Боуза-Чоудхури-Хоквингема, коды Хемминга, Рида-Малера, Рида-Соломона и другие линейные блоковые коды, характеризующиеся своими параметрами N,K,d. В ходе применения корреспондентами СС помехоустойчивого кодирования, нарушитель получает дополнительную информацию о КлШД путем перехвата блока проверочных символов кодированной 1ПРП второго корреспондента СС, переданного по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам СС. Используя его нарушитель, также, исправляет часть несовпадений в своей версии перехваченной последовательности относительно 1ПРП второго корреспондента СС. Это обстоятельство корреспонденты учитывают при формировании из 1ПРП и декодированных последовательностей КлШД для сети связи. Устранение несовпадений (ошибок) в ИП первого корреспондента СС и 2ПРП третьего корреспондентов СС реализуется в заявленном способе следующей последовательностью действий. Кодирование первой предварительной последовательности заключается в следующем. Предварительно 1ПРП разделяют на Y подблоков длиной К двоичных символов, где Y=(L-U)/K, как показано на фиг. 23. Известные способы разбиения последовательности на блоки фиксированной длины описаны, например, в книге В. Васильев, В. Свириденко, «Системы связи», М., Высшая школа, 1987, стр. 208. Последовательно, начиная с 1-го до Y-го каждый j-й подблок, где j=1,2,3,…,Y, кодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом (см. фиг. 24). Порождающая матрица кода имеет размерность K×N, причем N>K. Размеры K и N порождающей матрицы линейного блочного систематического двоичного помехоустойчивого (N, K) кода выбирают K=2m-1-m и N=2m-1, где m≥3, как описано, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 71. Для кодирования 1ПРП каждый j-й подблок длиной K двоичных символов перемножают на порождающую матрицу кода и получают j-й кодовый блок длиной N двоичных символов, как показано на фиг. 25. Известные способы помехоустойчивого кодирования блоков символов описаны, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 63. Из j-го кодового блока выделяют j-й подблок проверочных символов длиной N-K двоичных символов (см. фиг. 26). Известные способы выделения блоков фиксированной длины описаны, например, в книге В. Васильев, В. Свириденко, «Системы связи», М., Высшая школа, 1987, стр. 208. Запоминают j-й подблок проверочных символов в качестве j-го подблока блока проверочных символов кодированной первой предварительной последовательности. Временная диаграмма формирования блока проверочных символов кодированной 1ПРП показана на фигуре 27. Известные способы хранения последовательности двоичных символов описаны, например, в книге Л. Мальцев, Э. Фломберг, В. Ямпольский, «Основы цифровой техники», М., Радио и связь, 1986, стр. 38. Одновременно передают блок проверочных символов кодированной 1ПРП по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам СС (см. фиг. 28 и 34). Известные способы передачи последовательностей по каналам связи описаны, например, в книге А. Зюко, Д. Кловский, М. Назаров, Л. Финк, «Теория передачи сигналов», М., Радио и связь, 1986, стр. 11. Одновременное формирование декодированных последовательностей первым и третьим корреспондентами СС заключается в следующем. Первую ДП первого корреспондента СС и вторую ДП третьего корреспондента СС одновременно формируют из ИП и второй ПРП соответственно. Действия первого и третьего корреспондентов СС по формированию первой и второй ДП соответственно аналогичны и выполняются параллельно, поэтому далее будут показаны действия и их порядок для одного корреспондента СС (для третьего корреспондента СС). 2ПРП и блок проверочных символов кодированной первой предварительной последовательности одновременно разделяют на Y соответствующих пар декодируемых подблоков (см. фиг. 29 и 35) и подблоков проверочных символов (см. фиг. 28 и 34), где Y=(L-U)/K. Длины декодируемых подблоков и подблоков проверочных символов выбирают равными соответственно K и N-K двоичных символов. Известные способы разбиения последовательности на блоки фиксированной длины описаны, например, в книге В. Васильев, В. Свириденко, «Системы связи», М., Высшая школа, 1987, стр. 208. Одновременно формируют Y принятых кодовых блоков длиной N двоичных символов путем конкатенации справа к j-му декодируемому подблоку j-го подблока проверочных символов, где j=1,2,3,…,Y, как показано на фиг. 30 и 36. Y принятых кодовых блоков одновременно декодируют линейным блоковым систематическим двоичным помехоустойчивым (N, K) кодом. Проверочная матрица кода имеет размерность (N-K)×N, причем N>K. Выбирают размеры K и N проверочной матрицы линейного блокового систематического двоичного помехоустойчивого (N, K) кода K=2m-1-m и N=2m-1, где m≥3, как описано, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 71. Последовательно, начиная с 1-го до Y-го, вычисляют j-й синдром S длины N-K двоичных символов перемножением j-гo принятого кодового блока на транспонированную проверочную матрицу. Временная диаграмма вычисления j-го синдрома S длиной N-K двоичных символов показана на фигурах 31 и 37. По полученному j-му синдрому S исправляют ошибки в j-м декодируемом подблоке (см. фиг. 32 и 38). Известные способы синдромного декодирования блоков символов описаны, например, в книге Р. Блейхут, «Теория и практика кодов контролирующих ошибки», М., Мир, 1986, стр. 70. Затем j-й декодируемый подблок запоминают в качестве j-го подблока декодированной последовательности, как показано на фиг. 33 и 39. Известные способы хранения последовательности двоичных символов описаны, например, в книге Л. Мальцев, Э. Фломберг, В. Ямпольский, «Основы цифровой техники», М., Радио и связь, 1986, стр. 38. И получают, таким образом, декодированную последовательность.
После формирования корреспондентами СС тождественных 1ПРП на стороне второго корреспондента СС и ДП на сторонах первого и третьего корреспондентов СС, корреспонденты СС формируют КлШД с малым количеством информации нарушителя о КлШД. Для обеспечения малого количества информации нарушителя о КлШД корреспонденты СС используют метод "усиления секретности" последовательностей.
Для обеспечения малой величины информации нарушителя о КлШД в предлагаемом способе формирования КлШД реализуется следующая последовательность действий. Одновременное формирование из 1ПРП и ДП-ей КлШД заключается в следующем. Формируют на стороне первого корреспондента СС функцию хеширования последовательностей в виде двоичной матрицы G размерности (L-U)×T, где Т≥64 - требуемая длина формируемого КлШД. Каждый из элементов двоичной матрицы G генерируют случайным образом (см. фиг. 40). Известные способы генерирования случайных чисел описаны, например, в книге Д. Кнут, «Искусство программирования для ЭВМ», М., Мир, 1977, т. 2, стр. 22. Функцию хеширования последовательностей одновременно передают по первому прямому и второму прямому каналам связи без ошибок соответственно второму и третьему корреспондентам СС, последовательно, начиная с 1-й по (L-U)-ю строки двоичной матрицы G, как показано на фиг.41. Известные способы передачи последовательностей по каналам связи описаны, например, в книге А. Зюко, Д. Кловский, М. Назаров, Л. Финк, «Теория передачи сигналов», М., Радио и связь, 1986, стр. 11. КлШД на сторонах первого, второго и третьего корреспондентов СС, одновременно формируют путем хеширования первой ДП, 1ПРП и второй ДП соответственно (см. фиг. 42) по сформированной на стороне первого корреспондента сети связи функции хеширования последовательностей, как показано на фиг. 43. При формировании КлШД предварительно двоичную матрицу G и 1ДП первого корреспондента СС, двоичную матрицу G и 1ПРП второго корреспондента СС, двоичную матрицу G и вторую ДП третьего корреспондента СС разделяют на W соответствующих пар подматриц размерности Р×Т, где Р=(L-U)/W, и подблоков 1ДП, 1ПРП и 2ДП длиной Р двоичных символов соответственно. Известные способы разбиения последовательности на блоки фиксированной длины описаны, например, в книге В. Васильев, В. Свириденко, «Системы связи», М., Высшая школа, 1987, стр. 208. Затем, начиная с первого до W-й, вычисляют z-й первичный ключ длиной Т двоичных символов, где z=1, 2, 3, …,W, перемножением z-го подблока 1ДП первого корреспондента СС на z-ю подматрицу Gz, z-го подблока 1ПРП второго корреспондента СС на z-ю подматрицу Gz, z-го подблока второй ДП третьего корреспондента СС на z-ю подматрицу Gz. После чего формируют КлШД путем поразрядного суммирования по модулю 2 всех W первичных ключей на сторонах всех корреспондентов СС, как показано на фиг. 44. Действия по передаче и приему последовательностей по каналам связи с ошибками, прямым и обратным каналам связи без ошибок синхронизированы. Известные способы синхронизации описаны, например, в книге Е. Мартынов, «Синхронизация в системах передачи дискретных сообщений», М., Связь, 1972, стр. 186.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ / ДЕШИФРОВАНИЯ | 2021 |
|
RU2774103C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ / ДЕШИФРОВАНИЯ | 2021 |
|
RU2766319C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2012 |
|
RU2480923C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧЕЙ ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2023 |
|
RU2796051C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2005 |
|
RU2295199C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2000 |
|
RU2183051C2 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2000 |
|
RU2180770C2 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2000 |
|
RU2171012C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2018 |
|
RU2684492C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ / ДЕШИФРОВАНИЯ | 2020 |
|
RU2749016C1 |
Изобретение относится к области криптографии. Технический результат - повышение стойкости сформированного ключа шифрования/дешифрования для сети связи, включающей трех корреспондентов, к компрометации со стороны нарушителя. Способ формирования ключа шифрования/дешифрования предусматривает одновременное формирование исходной последовательности на стороне первого корреспондента сети связи и предварительных последовательностей на сторонах второго и третьего корреспондентов, кодирование первой предварительной последовательности, выделение из нее блока проверочных символов, одновременную передачу его по каналам связи без ошибок первому и третьему корреспондентам, одновременное формирование декодированных последовательностей первым и третьим корреспондентами, формирование функции хеширования последовательностей первым корреспондентом, одновременную передачу ее по прямым каналам связи без ошибок второму и третьему корреспондентам и одновременное формирование ключей шифрования/дешифрования всеми корреспондентами сети связи путем хеширования первой предварительной и декодированных последовательностей по сформированной на стороне первого корреспондента функции хеширования последовательностей. 10 з.п. ф-лы, 44 ил.
1. Способ формирования ключа шифрования/дешифрования для сети связи, включающей трех корреспондентов, заключающийся в том, что генерируют случайный двоичный символ на стороне первого корреспондента, формируют из случайного двоичного символа кодовое слово, одновременно передают кодовое слово от первого корреспондента по первому и второму каналам связи с независимыми ошибками второму и третьему корреспондентам сети связи соответственно, второй и третий корреспонденты одновременно формируют принятые двоичные символы, одновременно формируют двоичные символы подтверждения, передают сформированный вторым корреспондентом сети связи двоичный символ подтверждения F1 по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам сети связи, передают сформированный третьим корреспондентом сети связи двоичный символ подтверждения F2 по второму обратному и третьему обратному каналам без ошибок соответственно первому и второму корреспондентам сети связи, при равенстве нулю по крайней мере одного из полученных двоичных символов подтверждения сгенерированный случайный двоичный символ первого корреспондента сети связи и принятые двоичные символы второго и третьего корреспондентов сети связи стирают, в противном случае запоминают сгенерированный случайный двоичный символ первого корреспондента сети связи, принятый двоичный символ второго корреспондента сети связи, принятый двоичный символ третьего корреспондента сети связи соответственно в качестве i-x элементов, где i=1, 2, 3, …, L-U, причем L>U, исходной последовательности, первой предварительной последовательности и второй предварительной последовательности, где L>103 - число генераций случайного двоичного символа, U - количество стертых символов при формировании исходной последовательности и предварительных последовательностей, формируют и запоминают вторую декодированную последовательность на стороне третьего корреспондента, формируют функцию хеширования на стороне первого корреспондента, одновременно передают функцию хеширования от первого корреспондента по первому прямому и второму прямому каналам связи без ошибок соответственно второму и третьему корреспондентам, после чего формируют ключ шифрования/дешифрования из второй декодированной последовательности на стороне третьего корреспондента, отличающийся тем, что кодируют первую предварительную последовательность на стороне второго корреспондента, выделяют из кодированной первой предварительной последовательности блок проверочных символов, одновременно передают его от второго корреспондента по первому обратному и третьему прямому каналам связи без ошибок соответственно первому и третьему корреспондентам сети связи, формируют и запоминают первую декодированную последовательность на стороне первого корреспондента, формируют ключ шифрования/дешифрования из первой декодированной последовательности и первой предварительной последовательности на стороне первого и второго корреспондентов соответственно.
2. Способ по п. 1, отличающийся тем, что для формирования кодового слова сгенерированный случайный двоичный символ повторяют М раз, где М≥1.
3. Способ по п. 1, отличающийся тем, что принятому двоичному символу второго корреспондента сети связи или принятому двоичному символу третьего корреспондента сети связи, соответственно, присваивают значение первого двоичного символа принятого кодового слова.
4. Способ по п. 1, отличающийся тем, что для независимого друг от друга и одновременного формирования двоичного символа подтверждения F1 второго корреспондента сети связи или двоичного символа подтверждения F2 третьего корреспондента сети связи соответственно первый двоичный символ принятого кодового слова сравнивают с последующими М двоичными символами принятого кодового слова, где М≥1 - число повторений сгенерированного случайного двоичного символа при формировании кодового слова, после чего при наличии М совпадений первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение единица, а при наличии хотя бы одного несовпадения первого двоичного символа принятого кодового слова с М двоичными символами принятого кодового слова двоичному символу подтверждения F1 второго корреспондента или двоичному символу подтверждения F2 третьего корреспондента присваивают значение ноль.
5. Способ по п. 1, отличающийся тем, что первую предварительную последовательность кодируют линейным блоковым систематическим двоичным помехоустойчивым (N, К) кодом, где К - длина блока информационных символов и 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-го подблока блока проверочных символов кодированной первой предварительной последовательности.
6. Способ по п. 5, отличающийся тем, что размеры К и N порождающей матрицы линейного блокового систематического двоичного помехоустойчивого (N, К) кода выбирают K=2m-1-m и N=2m-1, где m≥3.
7. Способ по п. 1, отличающийся тем, что для формирования первой и второй декодированных последовательностей исходную и вторую предварительные последовательности первого и третьего корреспондентов сети связи соответственно независимо и одновременно декодируют линейным блоковым систематическим двоичным помехоустойчивым (N, К) кодом, где К - длина блока информационных символов и N - длина кодового блока, транспонированная проверочная матрица которого имеет размерность N×(N-K), причем N>K, для чего исходную и вторую предварительную последовательности и блоки проверочных символов кодированной первой предварительной последовательности разделяют на Y соответствующих пар декодируемых подблоков и подблоков проверочных символов, где Y=(L-U)/K, причем длины декодируемых подблоков и подблоков проверочных символов выбирают равными соответственно К и N-K двоичных символов, затем формируют Y принятых кодовых блоков длиной N двоичных символов путем конкатенации справа к j-му декодируемому подблоку j-го подблока проверочных символов, где j=1, 2, 3, …, Y, затем последовательно, начиная с 1-го до Y-го, вычисляют j-й синдром S длиной N-K двоичных символов перемножением j-го принятого кодового блока на транспонированную проверочную матрицу, а по полученному j-му синдрому S исправляют ошибки в j-м декодируемом подблоке, который затем запоминают в качестве j-го подблока декодированных последовательностей.
8. Способ по п. 7, отличающийся тем, что выбирают размеры К и N проверочной матрицы линейного блокового систематического двоичного помехоустойчивого (N, К) кода K=2m-1-m и N=2m-1, где m≥3.
9. Способ по п. 1, отличающийся тем, что функцию хеширования последовательностей на стороне первого корреспондента сети связи формируют в виде двоичной матрицы G размерности (L-U)×T, где Т≥64 - длина формируемого ключа шифрования/дешифрования, причем каждый из элементов двоичной матрицы G генерируют случайным образом.
10. Способ по п. 1, отличающийся тем, что функцию хеширования последовательностей передают последовательно, начиная с первой по (L-U)-ю строки двоичной матрицы G.
11. Способ по п. 1, отличающийся тем, что при одновременном и независимом формировании ключа шифрования/дешифрования предварительно двоичную матрицу 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 первичных ключей на сторонах всех корреспондентов сети связи.
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2007 |
|
RU2356168C2 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2012 |
|
RU2480923C1 |
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ | 2005 |
|
RU2295199C1 |
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ КОДА ПОРОЖДАЮЩЕЙ МАТРИЦЫ С НИЗКОЙ ПЛОТНОСТЬЮ | 2008 |
|
RU2461962C2 |
Окуляр микроскопа | 1991 |
|
SU1800432A1 |
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
US 5515438 A, 07.05.1996. |
Авторы
Даты
2017-03-21—Публикация
2016-04-01—Подача