СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ Российский патент 1999 года по МПК H04L9/00 

Описание патента на изобретение RU2141169C1

Изобретение относится к области связи и может быть использовано при передаче телекодовой информации в сетях связи, использующих систему шифрования RSA с ключом общего пользования [1].

Известен способ защиты сообщения при его передаче между пользователями сети связи [2, 3], обеспечивающий гарантированное значение вероятности появления необнаруженной ошибки в сообщении P < 1/2m, где m - число проверочных двоичных символов, добавляемых к сообщению, заключающийся в том, что сообщение длины K двоичных символов, подлежащее передаче от пользователя i к пользователю j, кодируют линейным (n, K)-кодом, обнаруживающим ошибки, n-K= m, с формированием m проверочных символов, которые добавляют к элементам сообщения, сообщение с добавленными проверочными символами разделяют на отрезки по m двоичных символов в каждом отрезке, последний отрезок с номером N дополняют до длины, равной m двоичных символов, ε нулевыми символами, над каждым из N отрезков производят операцию псевдостохастического преобразования, заключающуюся в следующем: формируют две псевдослучайные последовательности (ПСП) по N блоков длины m двоичных символов в каждом из N блоков с использованием в качестве их начальных значений согласованных на приеме и передаче двоичных m-разрядных чисел, первый отрезок сообщения, рассматриваемый как элемент поля Галуа GF(2m), умножают по модулю неприводимого над GF(2) полинома степени m на значение элементов первого блока первой ПСП, рассматриваемое как элемент поля Галуа GF(2m), и складывают поразрядно по модулю два с элементами первого блока второй ПСП, аналогичные операции совершают соответственно со всеми N отрезками сообщения, преобразованные отрезки передают по каналу связи абоненту j, на приеме над каждым принимаемым преобразованным отрезком совершают обратную операцию псевдостохастического преобразования, после приема и обратного псевдостохастического преобразования всех N отрезков производят декодирование сообщения в соответствии с используемым (n, K)-кодом с проверкой на наличие ошибок в принятом сообщении и при их необнаружении сообщение выдают получателю, при обнаружении ошибок сообщение стирают.

Однако известный способ не обеспечивает защиту от преднамеренных воздействий злоумышленника, ибо линейные операции преобразования и кодирования позволяют злоумышленнику при априорном знании им передаваемого сообщения по передаваемому преобразованному сообщению (нескольким преобразованным сообщениям) однозначно вскрывать значение блоков ПСП и, как следствие, вносить любые необнаруживаемые на приеме ошибки в передаваемое сообщение.

Для пользователей сети связи, использующих одноключевую систему шифрования, известен способ передачи и приема с обеспечением подлинности передаваемого сообщения [4] в условиях преднамеренных воздействий нарушителя, заключающийся в следующем.

У каждого из двух взаимодействующих в рассматриваемой паре пользователей сети связи заносят на хранение в память секретный ключ Кл, известный только данной паре пользователей сети связи и состоящий из Z двоичных символов. На передаче сообщение длины K двоичных символов, состоящее из заголовка, содержащего информацию об адресах передающего и принимающего пользователей и о длине сообщения, и информационной части сообщения, дополняют ε нулевыми символами до длины, равной K+ε = Nm двоичных символов, и делят полученную последовательность элементов длины K+ε двоичных символов на N отрезков по m двоичных символов в каждом. Формируют две псевдостохастические последовательности (ПСП) (по N блоков в каждой и с длиной блока, равной m двоичных символов) с начальными значениями, сформированными в соответствии с выбранным из памяти для данной пары взаимодействующих пользователей сети связи секретным ключом. Каждый из N отрезков сообщения подвергают операции псевдостохастического преобразования, заключающейся в том, что значение элементов отрезка сообщения с номером γ, рассматриваемое как элемент поля Галуа GF(2m), умножают по модулю неприводимого над GF(2) полинома степени m на значение элементов блока с номером γ первой ПСП блоков (ПСП-1), рассматриваемого так же, как элемент поля Галуа GF(2m), и произведение суммируют посимвольно по модулю два с элементами блока с номером γ второй ПСП блоков (ПСП-2). Преобразованные таким образом элементы сообщения кодируют линейным (Γ,K+ε)-кодом, обнаруживающим ошибки, Г= Nm+m, K+ε = Nm, например, путем поразрядного сложения по модулю два одноименных элементов всех преобразованных отрезков с получением элементов проверочной последовательности П длины m двоичных символов.

Элементы проверочной последовательности П подвергают операции нелинейного преобразования с использованием, например, либо необратимой функции, либо функции f (П, Кл), выбираемой из семейства используемых функций F в соответствии со значением секретного ключа Кл, в которой, например, операции перестановки, табличной замены и сдвига элементов проверочной последовательности П производят в порядке и по правилам, которые определяются значениями элементов секретного ключа Кл. В итоге получают элементы преобразованной проверочной последовательности - аутентификатора А. Элементы аутентификатора А добавляют к элементам сообщения (не преобразованным) и полученную кодограмму длины K двоичных символов отправляют по каналу связи принимающему пользователю.

На приеме в принятой кодограмме выделяют элементы сообщения и элементы аутентификатора A, а из памяти выбирают соответствующий передающему пользователю секретный ключ. Над элементами сообщения выполняют все операции по формированию аутентификатора A, аналогичные тем, которые выполняют на передаче. Вычисленные элементы аутентификатора A сравнивают на идентичность с принятыми элементами аутентификатора A и при полном совпадении элементы сообщения выдают принимающему пользователю.

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

В сетях связи, использующих двухключевую систему шифрования RSA с ключом общего пользования [1], известен способ передачи и приема с обеспечением подлинности и конфиденциальности сообщения [5], заключающийся в следующем.

У каждого i-го пользователя сети связи, i=1,2,3..., как пользователя системы шифрования RSA с ключом длины n двоичных символов периодически формируют два ключа: секретный (ei, ni), который помещают на хранение в защищенную от несанкционированного доступа память, и открытый (di, ni), который делают общеизвестным для всех пользователей сети, например помещают его в периодически (с одинаковым периодом формирования ключей) издаваемый для всех пользователей сети открытый справочник, ni - абсолютное значение ключа. На передаче от i-го пользователя к j-му пользователю элементы сообщения и элементы информационной части сообщения преобразуют в элементы аутентификатора длины Z двоичных символов (Z>1).

Элементы аутентификатора формируют следующим образом. Для каждого передаваемого сообщения формируют случайное число Cч длины Г двоичных элементов, которое используют в качестве ключа преобразования сообщения в соответствии с заданной функцией F для поочередного формирования двух проверочных последовательностей длины, например m двоичных символов каждая. Причем первую проверочную последовательность R(1) формируют в соответствии со случайным числом Cч1 и используемой функцией преобразования F с помощью операции, заключающейся, например, в том, что элементы сообщения разделяют на D отрезков длины m двоичных символов каждый, последний неполный отрезок сообщения дополняют до целого отрезка нулевыми символами, первый отрезок преобразуют с использованием, например, в качестве операции преобразования операцию шифрования по алгоритму, соответствующему алгоритму по ГОСТ 28147-89, и случайно числа Cч1 как ключа шифрования. Полученные в результате преобразования элементы шифра длины m двоичных символов суммируют посимвольно по модулю два с элементами второго отрезка сообщения и результат суммирования вновь преобразуют с использованием того же алгоритма шифрования и того же (или преобразованного по определенному правилу) случайного числа Cч1 как ключа шифрования и так продолжают вплоть до элементов последнего отрезка, в результате преобразования получают первую проверочную последовательность R(1) длины m двоичных символов, m младших символов случайного числа Cч1 суммируют посимвольно по модулю два с элементами первой проверочной последовательности R(1) с получением элементов последовательности длины Г двоичных символов, которую используют в качестве ключа шифрования при формировании второй проверочной последовательности R(2) по алгоритму, аналогичному тому, который использован при формировании элементов первой проверочной последовательности R(1).

Соединяют элементы первой проверочной последовательности R(1), элементы второй проверочной последовательности R(2) и элементы случайного числа Cч1 в одну последовательность, дополняют ее элементами сообщения, находящимися на согласованных с принимающим пользователем позициях до получения последовательности длины Z, Z<ni, двоичных символов, которая и является контрольной последовательностью - аутентификатором, выбирают из открытой памяти по заголовку сообщения открытый ключ принимающего пользователя (dj, nj), из секретного ключа передающего и открытого ключа принимающего пользователей выбирают ключ, имеющий меньшее значение модуля шифрования, и, если ni < nj, то двоичное число, соответствующее элементам аутентификатора, в соотвествии с алгоритмом шифрования RSA сначала возводят в степень ei по модулю ni, а затем в степень dj по модулю nj, а если ni > nj, то двоичное число, соответствующее элементам аутентификатора, сначала возводят в степень dj по модулю nj, а затем в степень ei по модулю ni с получением элементов зашифрованного аутентификатора. Элементы информационной части сообщения шифруют с использованием случайного числа Cч1 как ключа шифрования и алгоритма шифрования, соответствующего, например, ГОСТ 28147-89. Полученную кодограмму, состоящую из элементов заголовка сообщения, элементов зашифрованной части сообщения и элементов зашифрованного аутентификатора передают через канал связи принимающему пользователю.

На приеме из полученной кодограммы по заголовку сообщения выделяют элементы зашифрованного аутентификатора, выбирают из открытой и закрытой памяти открытый ключ передающего пользователя (di, ni) и секретный ключ принимающего пользователя (ej, nj), выбирают ключ, у которого больше абсолютное значение модуля шифрования, и, если nj > ni, то двоичное число, соответствующее элементам зашифрованного аутентификатора, сначала возводят в степень ej по модулю nj, а затем в степень di по модулю ni с получением элементов аутентификатора А, а если nj < ni, то двоичное число, соответствующее элементам зашифрованного аутентификатора, сначала возводят в степень di по модулю ni, а затем в степень ej по модулю nj с получением элементов аутентификатора А. Выделяют из элементов аутентификатора А элементы случайного числа Cч1, расшифровывают зашифрованные на передаче элементы сообщения в соответствии с принятым случайным числом Cч1 как ключом расшифрования и алгоритмом расшифрования в соответствии с используемым на передаче алгоритмом шифрования, например по ГОСТ 28147-89, по элементам сообщения, аналогично, как на передаче, формируют первую R(1) и вторую R(2) проверочные последовательности в соответствии с принятым случайным числом Cч1 как ключом шифрования, формируют аналогично, как на передаче, элементы аутентификатора А, которые сравнивают на идентичность с элементами принятого аутентификатора А. При их совпадении элементы сообщения выдают получателю как правильные. В случае, если произойдет несовпадение элементов сравниваемых аутентификаторов, принятое сообщение стирается.

Рассмотренный способ передачи и приема с обеспечением подлинности и конфиденциальности сообщения обладает следующими недостатками: сложность реализации из-за необходимости многочисленного использования операции шифрования по алгоритму, соответствующему ГОСТ 28147-89, уменьшение скорости передачи вследствие введения дополнительного большого числа избыточных символов в передаваемое сообщение в виде зашифрованного аутентификатора длиной n двоичных символов [для требуемой в используемых двухключевых системах шифрования (системах шифрования с ключом общего пользования - RSA) длины ключа n ≥ 512 двоичных символов и для небольшой длины сообщения (≈ 1024 двоичных символов) процент избыточных символов получается существенным]; отсутствует возможность варьирования числом избыточных символов (и как следствие изменения скорости передачи сообщения) при изменении требований к значению вероятности внесения необнаруживаемой ошибки вследствие преднамеренных действий нарушителя.

Технический результат, который может быть получен от осуществления предлагаемого изобретения, выражается в расширении возможностей способа по защите передаваемых сообщений в сетях связи, использующих систему шифрования RSA с ключом общего пользования; уменьшении числа избыточных элементов в сообщении, необходимых для организации передачи сообщений по каналу связи, а следовательно, повышении скорости передачи сообщений; уменьшении сложности реализации и обеспечения гарантируемого максимального значения вероятности защиты от внесения необнаруживаемой ошибки в сообщение в результате преднамеренных воздействий нарушителя на передаваемую кодограмму при заданном числе избыточных символов в кодограмме.

Для обеспечения этого технического результата в способе передачи и приема с обеспечением подлинности сообщения, заключающимся в том, что у каждого i-го пользователя сети связи в соответствии с используемой в ней системой шифрования RSA с ключом общего пользования формируют два ключа длиной n двоичных символов каждый: секретный - (ei, ni), который помещают на хранение в защищенную от несанкционированного доступа память i-го пользователя, и открытый - (di, ni), который делают общеизвестным для всех пользователей данной сети связи (ni - двоичное число, соответствующее абсолютному значению ключа шифрования i-го пользователя) и помещают на хранение в открытую память всех пользователей данной сети связи, при передаче последовательности сообщения S длины K двоичных символов, состоящего из последовательности не изменяемого в процессе передачи заголовка сообщения, содержащего информацию об адресах передающего и принимающего пользователей, длины двоичных символов, и последовательности информационной части сообщения, длины β двоичных символов, от i-го пользователя к j-му пользователю из закрытой памяти передающего пользователя выбирают его секретный ключ (ei, ni), а из открытой памяти - открытый ключ (dj, nj) принимающего пользователя j, формируют последовательность случайного числа С длины m двоичных символов, в соответствии с элементами последовательности сообщения и последовательности случайного числа С формируют проверочную последовательность П длиной m двоичных символов, из двух ключей передающего (ei, ni) и принимающего (dj, nj) пользователей определяют ключ с меньшим абсолютным значением, и если ni < nj, то сначала двоичное число, соответствующее последовательности аутентификатора А, в соответствии с алгоритмом шифрования RSA возводят в степень ei по модулю ni, а затем полученный результат возводят в степень dj по модулю nj с получением последовательности зашифрованного аутентификатора а если nj < ni, то сначала двоичное число, соответствующее последовательности аутентификатора А, возводят в степень dj по модулю nj, а затем полученный результат возводят в степень ei по модулю ni с получением последовательности зашифрованного аутентификатора формируют последовательность кодограммы T и передают ее по каналу связи принимающему пользователю j, а на приеме после приема последовательности кодограммы T выделяют из нее элементы последовательностей заголовка сообщения и зашифрованного аутентификатора по последовательности заголовка сообщения, содержащего адреса передающего и принимающего пользователей, из открытой и закрытой памяти принимающего пользователя выбирают открытый ключ передающего пользователя (di, ni) и секретный ключ принимающего пользователя (ej, nj), из двух модулей шифрования ni и nj выбранных ключей определяют модуль с большим абсолютным значением, и если ni < nj, то число, соответствующее принятым элементам зашифрованного аутентификатора возводят в степень ej по модулю nj, а затем полученный результат возводят в степень di, по модулю ni с получением последовательности аутентификатора а если ni > nj, то сначала двоичное число, соответствующее последовательности зашифрованного аутентификатора возводят в степень di по модулю ni, а затем полученный результат возводят в степень ej по модулю nj с получением последовательности аутентификатора из последовательности полученного аутентификатора выделяют проверочную последовательность и последовательность случайного числа аналогично как на передаче по принятой последовательности сообщения и принятой последовательности случайного числа C формируют проверочную последовательность П, которую сравнивают на идентичность с принятой проверочной последовательностью и при их полном совпадении элементы принятой последовательности сообщения выдают получателю как истинные, при несовпадении принятую последовательность сообщения стирают, введены новые операции, заключающиеся в том, что на передаче и приеме элементы проверочной последовательности П, последовательности аутентификатора А и последовательности кодограммы T формируют следующим образом: на передаче в соответствии с последовательностью сформированного случайного числа С длины m двоичных символов формируют псевдослучайную последовательность из N блоков Гi, i = 1,2,3,...,N, длины m двоичных символов каждый, где значения первого блока Г1 определяется значением последовательности случайного числа С, передаваемую последовательность сообщения длины K двоичных символов разбивают на N отрезков Di, i=1,2,3...,N, по m двоичных символов в каждом, последний не полный отрезок дополняют ε нулевыми символами, каждый из N отрезков последовательности сообщения подвергают операции псевдостохастического преобразования, заключающейся в том, что каждый отрезок сообщения Di с номером i, где i=1,2,3,...,N, рассматриваемый как элемент поля Галуа GF(2m), умножают по модулю неприводимого над полем GF(2) полинома степени m на значение элементов блока Гi псевдослучайной последовательности, рассматриваемое как элемент того же поля GF(2m), элементы последовательности преобразованных отрезков сообщения длины K+ε двоичных символов кодируют линейным блоковым (l,K+ε) кодом, обнаруживающим ошибки, где 1=Nm+m, K+ε = Nm, с получением элементов проверочной последовательности П длины m двоичных символов, соединяют элементы проверочной последовательности и элементы последовательности случайного числа С в одну контрольную последовательность В длины 2m двоичных символов, которую в случае, если n < β-2m, дополняют последовательностью из q стоящих справа элементов информационной части сообщения S, где q = β+2m-n, а в случае, если n > β-2m, то всей последовательностью информационной части сообщения S длины β двоичных символов и последовательностью нулевых символов длины (n-β-2m) двоичных символов до получения последовательности аутентификатора длины n двоичных символов, а последовательность кодограммы T формируют следующим образом: к полученной последовательности зашифрованного аутентификатора добавляют последовательность заголовка сообщения, и в случае, если число двоичных символов n меньше суммы двоичных символов последовательности информационной части сообщения и контрольной последовательности B, т.е. n < β+2m, то к последовательности заголовка добавляют еще не вошедшие в последовательность аутентификатора (β-q = β+2m-n) элементов последовательности информационной части сообщения S с образованием последовательности кодограммы T, длины двоичных символов (для случая, если n-2m > β), или двоичных символов (для случая, если n-2m < β), которую и передают по каналу связи принимающему пользователю, а на приеме из полученной последовательности кодограммы T выделяют заголовок сообщения, зашифрованный аутентификатор и в случае, если n < β+2m, элементы последовательности γ информационной части сообщения S длины (β+2m-n) двоичных символов, не вошедшие на передаче в аутентификатор А, а после получения последовательности аутентификатора и выделения из нее проверочной последовательности и последовательности случайного числа из последовательности аутентификатора выделяют вошедшие в него на передаче q элементов последовательности информационной части сообщения S, при этом q = β, если n > β+2m, или q= n-2m, если n < β+2m, объединяют принятые в последовательности кодограммы T элементы последовательности заголовка сообщения длины двоичных символов и элементы последовательности γ информационной части сообщения S, не вошедшие в последовательность аутентификатора на передаче (в случае, если n-2m > β), длиной β-q двоичных символов, с q элементами последовательности информационной части сообщения S, выделенными из полученного аутентификатора, в одну последовательность сообщения
На фиг. 1-5 изображены диаграммы, поясняющие способ передачи и приема с обеспечением подлинности сообщения.

Способ передачи и приема с обеспечением подлинности сообщения заключается в следующем.

У каждого i-го пользователя сети связи, i=1,2,3..., как пользователя системы шифрования RSA с ключом общего пользования периодически формируют два ключа, секретный (ei, ni), который помещают на хранение в защищенную от несанкционированного доступа память, и открытый (di, ni), который делают общеизвестным для всех пользователей сети связи, например помещают его в периодически издаваемый для всех пользователей сети связи справочник.

На передаче сообщения длины K двоичных символов (фиг. 1) от i-го пользователя к j-му пользователю в соответствии с элементами не изменяемого в процессе передачи заголовка сообщения, содержащего информацию об адресах передающего и принимающего пользователей, длины двоичных символов и элементами информационной части сообщения длины β двоичных символов формируют аутентификатор следующим образом.

В соответствии с заголовком сообщения, содержащего адреса передающего и принимающего пользователей, из закрытой памяти передающего пользователя выбирают секретный ключ (ei, ni) передающего пользователя, а из открытой памяти - открытый ключ (dj, nj) принимающего пользователя. Для каждого передаваемого сообщения формируют случайное число C длины m двоичных символов, которое используют в качестве начального значения формируемой (по одинаковому на передаче и приеме алгортму) последовательности псевдослучайных блоков Гi, i = 1,2,3,...,N, длины m двоичных символов каждый, которую в свою очередь используют для псевдостохастического преобразования передаваемого сообщения длины mN двоичных символов.

При этом последовательность преобразованного сообщения формируют следующим образом. Сообщение S длины K двоичных символов разделяют на N отрезков Di, i=1,2,3,...,N, длины m двоичных символов каждый (см. фиг 1), а последний неполный отрезок сообщения DN дополняют до целого отрезка ε нулевым символами. Каждый из N отрезков сообщения подвергают операции псевдостохастического преобразования, заключающейся в том, что каждый отрезок сообщения с номером Di, где i=1,2,3,...N, рассматриваемый как элемент поля Галуа GF(2m), умножают по модулю неприводимого над полем GF(2) полинома степени m на значение элементов блока Гi сформированной ранее псевдослучайной последовательности блоков, рассматриваемое как элемент того же поля GF(2m). Полученную преобразованную последовательность сообщения кодируют линейным (n,K+ε)-кодом, n=Nm+m, K+ε = Nm, с получением элементов проверочной последовательности П длины m двоичных символов (фиг. 2), соединяют элементы проверочной последовательности П и элементы последовательности случайного числа С в одну контрольную последовательнсоть B длины 2m двоичных символов, дополняют (слева) контрольную последовательность B последовательностью из q стоящих справа элементов информационной части сообщения S, где q = (β+2m)-n, а при числе двоичных символов в последовательности информационной части сообщения меньшем, чем значение (n-2m), т.е. β+2m < n, добавляют нулевые символы до получения последовательности аутентификатора А длины n двоичных символов, из двух абсолютных значений модуля ni и nj ключей передающего (ei, ni) и принимающего (dj, nj) пользователей определяют ключ с наименьшим абсолютным значением модуля, и если ni < nj, то сначала двоичное число, соответствующее последовательности аутентификатора А, возводят в степень ei по модулю ni, а затем полученный результат возводят в степень dj по модулю nj с получением последовательности зашифрованного аутентификатора (фиг. 4a), если nj < ni, то сначала двоичное число, соответствующее последовательности аутентификатора А, возводят в степень dj по модулю nj, а затем полученный результат возводят в степень ei по модулю ni с получением последовательности зашифрованного аутентификатора (фиг. 4б), формируют кодограмму T, состоящую из элементов последовательности заголовка сообщения S, последовательности γ, не вошедших (в случае если n-2m < β) в последовательность аутентификатора A(β-q) элементов информационной части сообщения S и элементов зашифрованного аутентификатора длины n двоичных символов (фиг. 5 а,б). Кодограмму T передают через канал связи принимающему пользователю.

На приеме из полученной кодограммы выделяют элементы последовательности заголовка сообщения длины двоичных символов, зашифрованный аутентификатор длины n двоичных символов и последовательность γ элементов сообщения S длины (β-q) двоичных символов, не вошедших в последовательность зашифрованного аутентификатора (в случае, если n-2m < β), по заголовку сообщения выбирают из открытой и закрытой памяти принимающего пользователя открытый ключ передающего пользователя (di, ni) и секретный ключ принимающего пользователя (ej, nj), выбирают ключ, у которого больше абсолютное значение модуля, и если nj > ni, то двоичное число, соответствующее элементам принятого зашифрованного аутентификатора длины n двоичных символов сначала возводят в степень ej по модулю nj, а затем полученный результат возводят в степень di по модулю ni с получением последовательности аутентификатора длины n двоичных символов, а если ni > nj, то двоичное число, соответствующее элементам принятого зашифрованного аутентификатора , возводят в степень di по модулю ni, а затем полученный результат возводят в степень ej по модулю nj с получением последовательности
аутентификатора
Выделяют из элементов последовательности аутентфикатора m элементов принятой проверочной последовательности m элементов принятой последовательности случайного числа и q элементов сообщения, вошедшие на передаче в последовательность аутентификатора, при этом, если (n-2m) < β, то q = n-2m, а если (n-2m) > β, то q = β, объединяют принятые в последовательности кодограммы элементы последовательности заголовка сообщения длины двоичных символов и элементы последовательности γ информационной части сообщения S, не вошедшие в последовательность аутентификатора на передаче (в случае, если n-2m > β), длиной β-q двоичных символов, с q элементами последовательности информационной части сообщения S, выделенными из полученной последовательности аутентификатора в одну последовательность сообщения длины K двоичных символов, в соответствии с принятой последовательностью случайного числа и последовательностью сообщения формируют, как на передаче, псевдослучайную последовательность N блоков, длины m двоичных символов в каждом и проверочную последовательность П, которую сравнивают на идентичность с элементами принятой проверочной последовательности и при их полном совпадении принятую последовательность элементов сообщения выдают получателю как правильную. При несовпадении принятую последовательность элементов сообщения стирают.

На фиг. 6 представлен один из возможных вариантов структурной схемы устройства, реализующей представленный способ.

Устройство содержит на передаче блок 1 хранения секретного ключа, блок 2 хранения открытых ключей, блок 3 хранения сообщения, блок 4 формирования случайного числа, блок 5 формирования псевдослучайной последовательности, блок 6 псевдостохастического преобразования сообщения, блок 7 кодирования, блок 8 хранения проверочной последовательности, блок 9 формирования аутентификатора, блок 10 выбора секретного ключа, блок 11 выбора открытого ключа, блок 12 шифрования аутентификатора, блок 13 хранения зашифрованного аутентификатора и блок 14 формирования кодограммы, а на приеме блок 15 приема кодограммы, блок 16 выделения заголовка, зашифрованного аутентификатора и непреобразованной части сообщения, блок 17 хранения секретного ключа, блок 18 хранения открытых ключей, блок 19 выбора открытого ключа, блок 20 выбора секретного ключа, блок 21 хранения зашифрованного аутентификатора, блок 22 расшифрования аутентификатора, блок 23 выделения случайного числа, проверочной последовательности и части сообщения, блок 24 хранения случайного числа, блок 25 хранения заголовка и непреобразованной части сообщения, блок 26 формирования сообщения, блок 27 кодирования, блок 28 хранения вычисленной проверочной последовательности, блок 29 хранения полученной проверочной последовательности, блок 30 генератора псевдослучайной последовательности, блок 31 псевдостохастического преобразования сообщения, блок 32 сравнения, блок 33 выдачи сообщения.

Устройство работает следующим образом.

В условиях использования системы шифрования RSA с ключом общего пользования, периодически, например ежегодно, на передаче (в блок 1) и на приеме (в блок 17) помещают на хранение секретные ключи соответствующих пользователей, а в блоки 2 (на передаче) и в блок 18 (на приме) помещают на хранение открытые ключи всех пользователей сети.

Для передачи сообщения, находящегося в блоке 3 хранения сообщения, в блоке 4 формирования случайного числа формируют случайным образом случайное число С длины m двоичных чисел, которое поступает в блок 5 генератора псевдослучайной последовательности, в котором, используя случайное число С как исходное, формируют N псевдослучайных блоков Гi, i=1,2,3,....N, длины m двоичных символов каждый, в блоке 6 псевдостохастического преобразования сообщения сообщение, хранящееся в блоке 3 хранения сообщения, разделяется на N блоков Di длины m двоичных символов каждый (последний неполный блок дополняется нулевыми символами) и каждый i-й блок Di, i=1,2,3,...N, умножают по модулю неприводимого над полем Галуа GF(2) многочлена степени m на i-й блок Гi псевдослучайной последовательности, сформированной в блоке 5 генератора псевдослучайной последовательности, с образованием преобразованной последовательности сообщения, в блоке 7 кодирования на основе используемого помехозащитного кода для полученной преобразованной последовательности сообщения формируют проверочную последовательность П, которую помещают на хранение в блок 8 хранения проверочной последовательности, в блоке 9 формирования аутентификатора на основе полученных в блоке 4 формирования случайного числа С, в блоке 8 кодирования проверочной последовательности П и части сообщения С, хранящегося в блоке 3 хранения сообщения, формируют аутентификатор, который преобразуют в блоке 12 шифрования аутентификатора с помощью открытого ключа принимающего пользователя и секретного ключа передающего пользователя, которые выбирают по заголовку сообщения через блок 10 выбора секретного ключа и блок 11 выбора открытого ключа из блока 1 хранения секретного ключа и блока 2 хранения открытого ключа, в блоке 14 формирования кодограммы к зашифрованному аутентификатору добавляют заголовок сообщения и не вошедшую в аутентификатор часть сообщения, и полученную кодограмму T передают в канал связи, а на приеме блок 15 осуществляет прием кодограммы, а блок 16 выделения заголовка, зашифрованного аутентификатора и непреобразованной части сообщения осуществляет выделение из принятой кодограммы заголовка сообщения, зашифрованного аутентификатора с помещением его в блок 21 хранения зашифрованного аутентификатора и не вошедшую в аутентификатор часть сообщения с помещением ее в блок 25 хранения заголовка и непреобразованной части сообщения, по заголовку принятого сообщения из блока 17 хранения секретного ключа и блока 18 хранения открытого ключа с помощью блока 19 выбора секретного ключа и блока 20 выбора открытого ключа выбирают секретный ключ принимающего пользователя и открытый ключ передающего пользователя, с помощью которых в блоке 22 расшифрования аутентификатора преобразуют принятый зашифрованный аутентификатор, хранящийся в блоке 21 хранения зашифрованного аутентификатора, в аутентификатор, из которого в блоке 23 выделения случайного числа, проверочной последовательности и части сообщения выделяют случайное число С, которое помещают на хранение в блок 24 хранения случайного числа, проверочную последовательность, которую помещают в блок 29 хранения полученной проверочной последовательности, и часть сообщения, вошедшую в аутентификатор, которая поступает в блок 26 формирования сообщения, в котором производят сборку переданного сообщения из заголовка сообщения и не вошедшей в аутентификатор непреобразованной части сообщения, хранящихся в блоке 25 хранения заголовка и непреобразованной части сообщения, и части сообщения, не вошедшей в аутентификатор, полученной из блока 23 выделения случайного числа, проверочной последовательности и части сообщения, на основе случайного числа, хранящегося в блоке 24 хранения случайного числа, в блоке 30 генератора псевдослучайной последовательности формируют, как на передаче, псевдослучайную последовательность Гi и N блоков, i = 1,2,3,...N, с помощью которых в блоке 31 псевдостохастического преобразования сообщения, как на передаче, производят псевдостохатическое преобразование принятого сообщения хранящегося в блоке 26 формирования сообщения, а в блоке 27 кодируют, как на передаче, преобразованное сообщение с получением проверочной последовательности П, которую помещают на хранение в блок 28 хранения вычисленной проверочной последовательности П, в блоке 32 производят сравнение принятой проверочной последовательности которую хранят в блоке 29 хранения полученной проверочной последовательности, с вычисленной проверочной последовательностью П, которую хранят в блоке 28 хранения вычисленной проверочной последовательности, при идентичности сравниваемых проверочных последовательностей с помощью блока 33 выдачи сообщения сообщение, которое хранят в блоке 26 формирования сообщения, выдают принимающему пользователю.

В настоящее время известны как программная, так и аппаратно-программная реализация прототипа. Реализация вновь вводимых операций может быть выполнена аналогично. Заявленный способ по сравнению с прототипом в условиях использования двухключевой системы шифрования RSA при одном и том же значении n (n - длина ключа шифрования) позволяет:
1. При числе дополнительно внесенных избыточных символов, равном 2m двоичных символов (m проверочных символов и m символов случайного числа), обеспечить (в условиях незнания нарушителем секретных ключей пользователей и значения случайного числа С, используемого для псевдостохастического преобразования сообщения) значение вероятности Pно преднамеренного внесения нарушителем необнаруживаемой ошибки в передаваемое сообщение S, определяемое неравенством Pно ≤ (1/2m). В условиях использования прототипа для обеспечения того же значения Pно число избыточных символов (в прототипе) Z значительно превышает значение 2m, что уменьшает скорость передачи сообщений.

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

Источники информации
1. Rivest R. L. , Shamir A., Adelman L. A method for obtaining digital signatures and public-key cryptosystems // Communication of the ACM. 1978, v. 21, 12, p. 120-126.

2. Устинов Г.Н. Псевдостохастическое кодирование N-разбиением в системах с решающей обратной связью. Проблемы передачи информации. Том XVIII, вып. 1, 1982, с. 43-50.

3. Авторское свидетельство СССР N 1287296, кл. H 03 N 13/02, 1984.

4. Описание изобретения к патенту Российской Федерации RU 2027310, C1, кл. 6 H 04 K 1/00.

5. Описание изобретения к патенту Российской Федерации RU 2040117, C1, кл. 6 H 04 K 1/00.

Похожие патенты RU2141169C1

название год авторы номер документа
СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ И КОНФИДЕНЦИАЛЬНОСТИ СООБЩЕНИЯ 1992
  • Устинов Г.Н.
RU2040117C1
СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ БЕЗ ЕГО ШИФРОВАНИЯ 1992
  • Устинов Г.Н.
  • Беляков А.А.
RU2027310C1
СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ 1992
  • Устинов Г.Н.
RU2027311C1
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2005
  • Бакаев Михаил Васильевич
  • Яковлев Виктор Алексеевич
RU2295199C1
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2018
  • Лебедев Павел Владимирович
  • Ковайкин Юрий Владимирович
  • Яковлев Виктор Алексеевич
  • Бесков Андрей Владимирович
  • Романенко Павел Геннадьевич
  • Вотинов Михаил Леонардович
  • Худайназаров Юрий Кахрамонович
RU2684492C1
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2018
  • Лебедев Павел Владимирович
  • Ковайкин Юрий Владимирович
  • Яковлев Виктор Алексеевич
  • Бесков Андрей Владимирович
  • Романенко Павел Геннадьевич
  • Вотинов Михаил Леонардович
  • Уйманов Андрей Викторович
  • Жук Александр Юрьевич
  • Шатров Антон Владимирович
RU2695050C1
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ-ДЕШИФРОВАНИЯ 2004
  • Тупота Виктор Иванович
  • Мирошников Вячеслав Викторович
  • Трофимов Руф Федорович
RU2277759C2
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2000
  • Молдовян А.А.
  • Коржик В.И.
  • Молдовян Н.А.
  • Синюк А.Д.
  • Яковлев В.А.
RU2180770C2
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2000
  • Коржик В.И.
  • Молдовян А.А.
  • Молдовян Н.А.
  • Синюк А.Д.
  • Яковлев В.А.
RU2183051C2
СПОСОБ ФОРМИРОВАНИЯ КЛЮЧА ШИФРОВАНИЯ/ДЕШИФРОВАНИЯ 2000
  • Комашинский В.В.
  • Коржик В.И.
  • Молдовян А.А.
  • Молдовян Н.А.
  • Синюк А.Д.
  • Яковлев В.А.
RU2171012C1

Иллюстрации к изобретению RU 2 141 169 C1

Реферат патента 1999 года СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ

Изобретение относится к связи и может быть использовано при передаче телекодовой информации в сетях связи, использующих систему шифрования RSA с ключом общего пользования. Технический результат, который может быть получен от осуществления данного изобретения выражается в расширении возможностей способа по защите передаваемых сообщений в сетях связи, использующих систему шифрования RSA с ключом общего пользования, уменьшении числа избыточных элементов в сообщении, необходимых для организации передачи сообщений по каналу связи, а следовательно, повышении скорости передачи сообщений, уменьшении сложности реализации и обеспечения гарантируемого максимального значения вероятности защиты от внесения необнаруживаемой ошибки в сообщение в результате преднамеренных воздействий нарушителя на передаваемую кодограмму при заданном числе избыточных символов в кодограмме. 6 ил.

Формула изобретения RU 2 141 169 C1

Способ передачи и приема с обеспечением подлинности сообщения, заключающийся в том, что у каждого i-го пользователя системы связи в соответствии с используемой в ней системой шифрования RSA с ключом общего пользования формируют два ключа длиной n двоичных символов каждый - закрытый - (еi, ni), который помещают на хранение в защищенную от несанкционированного доступа память i-го пользователя, и открытый - (di, ni), который делают общеизвестным для всех пользователей данной сети связи, где ni - модуль шифрования, соответствующий абсолютному значению ключа i-го пользователя, и помещают на хранение в открытую память всех пользователей данной сети связи, при передаче последовательности сообщения S длины К двоичных символов, состоящего из последовательности неизменяемого в процессе передачи заголовка сообщения, содержащего информацию об адресах передатчика и приемника, длины двоичных символов, и последовательности информационной части сообщения, длины β двоичных символов, от i-го пользователя к j-му пользователю из закрытой памяти передающего пользователя выбирают его закрытый ключ (еi, ni), а из открытой памяти - открытый ключ (dj, nj) принимающего пользователя j, формируют последовательность случайного числа С длины m двоичных символов, в соответствии с элементами последовательности сообщения и последовательности случайного числа С формируют проверочную последовательность П длиной m двоичных символов, из двух ключей, а именно, закрытого ключа (еi, ni) передающего и открытого ключа (dj, nj) принимающего пользователя определяют ключ с меньшим абсолютным значением модуля, а если ni < nj, то двоичное число Z < ni, соответствующее последовательности аутентификатора А, возводят в степень еi по модулю ni и полученный результат возводят в степень dj по модулю nj с получением последовательности преобразованного аутентификатора а если nj < ni, то двоичное число Z < nj, соответствующее последовательности аутентификатора А, возводят в степень dj по модулю nj и полученный результат возводят в степень еi по модулю ni с получением последовательности преобразованного аутентификатора формируют последовательность кодограммы Т и передают ее по каналу связи принимающему пользователю j, а на приеме после приема последовательности кодограммы Т выделяют из нее элементы последовательностей заголовка сообщения и преобразованного аутентификатора по последовательности заголовка сообщения, содержащего адреса передатчика и приемника, из открытой и закрытой памяти приемника выбирают открытый ключ передающего (di, ni) и закрытый ключ принимающего (еi, ni) пользователей, из двух модулей шифрования ni и nj определяют модуль с большим абсолютным значением, и если ni < nj, то число, соответствующее принятым элементам преобразованного аутентификатора возводят в степень еi по модулю nj с получением последовательности аутентификатора а если ni > nj, то двоичное число, соответствующее последовательности преобразованного аутентификатора возводят в степень di по модулю ni и полученный результат возводят в степень ej по модулю nj с получением последовательности аутентификатора из последовательности полученного аутентификатора выделяют проверочную последовательность и последовательность случайного числа аналогично как на передаче по принятой последовательности сообщения и принятой последовательности случайного числа С формируют проверочную последовательность П, которую сравнивают на идентичность с принятой проверочной последовательностью , и при их полном совпадении элементы принятой последовательности сообщения выдают получателю как истинные, при несовпадении принятую последовательность сообщения стирают, отличающийся тем, что на передаче и приеме элементы проверочной последовательности П, последовательности аутентификатора А и последовательности кодограммы Т формируют следующим образом: на передаче в соответствии с последовательностью сформированного случайного числа С длины m двоичных символов формируют псевдослучайную последовательность из N блоков Гi, i = 1,2,3,...,N, длины m двоичных символов каждый, где значения первого блока Гi определяется значением последовательности случайного числа С, передаваемую последовательность сообщения длины К двоичных символов разбивают на N отрезков Di, i = 1,2,3,....,N, то m двоичных символов в каждом, последний не полный отрезок дополняют ε нулевыми символами, каждый из N отрезков последовательности сообщения подвергают операции псевдостохастического преобразования, заключающийся в том, что каждый отрезок сообщения Di с номером i, где i = 1,2,3,....,N, умножают по модулю неприводимого над полем GF (2) полинома степени m на значение элементов блока Гi всевдослучайной последовательности, рассматриваемое как элемент того же поля GF(2m), что и Di, элементы последовательности преобразованных отрезков сообщения длины K+ε двоичных символов кодируют линейным блоковым (L,K+ε) кодом, обнаруживающим ошибки, где L = Nm + m, K+ε = Nm, с получением элементов проверочной последовательности П длины m двоичных символов, соединяют элементы проверочной последовательности и элементы последовательности случайного числа С в одну контрольную последовательность В длины 2m двоичных символов, которую в случае, если n < β+2m, дополняют последовательностью из q стоящих справа элементов информационной части сообщения S, где q = n - 2m, а в случае, если n > β+2m, то всей последовательностью информационной части сообщения S длины β двоичных символов и последовательностью нулевых символов длины n-β-2m двоичных символов до получения последовательности аутентификатора длины n двоичных символов, а последовательность кодограммы Т формируют следующим образом: к полученной последовательности преобразованного аутентификатора добавляют последовательность заголовка сообщения и, в случае, если число двоичных символов в ключе шифрования n меньше суммы двоичных символов последовательности информационной части сообщения и контрольной последовательности В, т.е. n < β+2m, то к последовательности заголовка добавляют еще не вошедшие в последовательность аутентификатора β-q = β+2m-n элементов последовательности информационной части сообщения S с образованием последовательности кодограммы Т, длины двоичных символов для случая, если n > β+2m, или двоичных символов для случая, если n < β+2m, которую и передают по каналу связи принимающему пользователю, а на приеме из полученной последовательности кодограммы Т выделяют заголовок сообщения, преобразованный аутентификатор и в случае, если n < β+2m элементы последовательности γ информационной части сообщения S длины β+2m-n двоичных символов, не вошедшие на передаче в аутентификатор А, а после получения последовательности аутентификатора и выделения из нее проверочной последовательности и последовательности случайного числа из последовательности аутентификатора выделяют вошедшие в него на передаче q элементов последовательности информационной части сообщения S, при этом q = β, если n < β+2m, или q = n - 2m, если n < β+2m, объединяют принятые в последовательности кодограммы Т элементы последовательности заголовка сообщения длины двоичных символов и элементы последовательности γ информационной части сообщения S, не вошедшие в последовательность аутентификатора на передаче в случае, если n > β+2m, длиной β-q двоичных символов, с q элементами последовательности информационной части сообщения S, выделенными из полученного аутентификатора, в одну последовательность сообщения S.

Документы, цитированные в отчете о поиске Патент 1999 года RU2141169C1

СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ 1992
  • Устинов Г.Н.
RU2027311C1
СПОСОБ ПЕРЕДАЧИ И ПРИЕМА С ОБЕСПЕЧЕНИЕМ ПОДЛИННОСТИ СООБЩЕНИЯ БЕЗ ЕГО ШИФРОВАНИЯ 1992
  • Устинов Г.Н.
  • Беляков А.А.
RU2027310C1
US 4264782 A, 28.04.81
WO 9701231 A1, 09.01.97
US 4908861 A, 13.03.90.

RU 2 141 169 C1

Авторы

Устинов Г.Н.

Першов А.Н.

Думнов А.В.

Бутенко В.В.

Горштейн М.Я.

Даты

1999-11-10Публикация

1997-10-30Подача