RU2277759C2 - Method for generation of encoding-decoding key - Google Patents

Method for generation of encoding-decoding key Download PDF

Info

Publication number
RU2277759C2
RU2277759C2 RU2004110662/09A RU2004110662A RU2277759C2 RU 2277759 C2 RU2277759 C2 RU 2277759C2 RU 2004110662/09 A RU2004110662/09 A RU 2004110662/09A RU 2004110662 A RU2004110662 A RU 2004110662A RU 2277759 C2 RU2277759 C2 RU 2277759C2
Authority
RU
Russia
Prior art keywords
binary vector
secret
binary
users
network
Prior art date
Application number
RU2004110662/09A
Other languages
Russian (ru)
Other versions
RU2004110662A (en
Inventor
Виктор Иванович Тупота (RU)
Виктор Иванович Тупота
В чеслав Викторович Мирошников (RU)
Вячеслав Викторович Мирошников
Руф Федорович Трофимов (RU)
Руф Федорович Трофимов
Original Assignee
Государственный научно-исследовательский испытательный институт проблем технической защиты информации Государственной технической комиссии при Президенте Российской Федерации
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Государственный научно-исследовательский испытательный институт проблем технической защиты информации Государственной технической комиссии при Президенте Российской Федерации filed Critical Государственный научно-исследовательский испытательный институт проблем технической защиты информации Государственной технической комиссии при Президенте Российской Федерации
Priority to RU2004110662/09A priority Critical patent/RU2277759C2/en
Publication of RU2004110662A publication Critical patent/RU2004110662A/en
Application granted granted Critical
Publication of RU2277759C2 publication Critical patent/RU2277759C2/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

FIELD: computer science and communications engineering, in particular, methods and devices for cryptographic transformation of data.
SUBSTANCE: method includes generating two binary vectors of numbers a and p, having certain parameters, transferred by means of unprotected communication channel to each user of network, and generation by network users independently from each other of secret keys and generation of open keys by network users by means of transformation of binary vectors of secret key and numbers a and p, to obstruct possible determining of secret keys, and also common secret sub-keys of network users, while for determining secret sub-keys K it is required to know binary checksum vector of transferred message ξ, which changes for each communication session in random fashion. Utilization of checksum for source message during generation of protection key allows to prevent imposing of false information and to determine errors in transferred message, while possibility of determining of secret keys and common secret sub-keys of network users is excluded even when using cryptanalysis method with known open text. Instead of generation of binary checksum vector for transferred message binary hash function vector may be generated for transferred message or a random binary vector, for example, by using random numbers generator in conjunction with timer indications.
EFFECT: increased speed of operation of encoding-decoding key generation process and increased message encoding speed.
1 dwg

Description

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области способов и устройств криптографического преобразования данных.The invention relates to the field of telecommunications and computing, and more particularly to the field of methods and devices for cryptographic data conversion.

В совокупности признаков заявляемого способа используются следующие термины:In the aggregate of the features of the proposed method, the following terms are used:

секретный ключ (или пароль) представляет собой комбинацию битов, известную только законному пользователю;a secret key (or password) is a combination of bits known only to a legitimate user;

ключ шифрования-дешифрования (шифрключ) представляет собой комбинацию битов, используемую при шифровании информационных сигналов данных; шифрключ является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; шифрключ является известным только законному пользователю или может быть выработан по детерминированным процедурам по паролю;the encryption-decryption key (cipher key) is a combination of bits used in encrypting information data signals; the cipher key is a removable cipher element and is used to convert a given message or a given set of messages; the cipher key is known only to the legitimate user or can be generated by deterministic password procedures;

шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного устройства;a cipher is a set of elementary steps for converting input data using a cipher key; the cipher can be implemented as a computer program or as a separate device;

шифрование есть процесс криптографического преобразования блоков данных с использованием шифрключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без знания ключа практически невыполнимо;encryption is the process of cryptographic transformation of data blocks using a cryptographic key, converting data into a cryptogram, which is a pseudo-random sequence of characters from which obtaining information without knowing the key is practically impossible;

дешифрование есть процесс, обратный процедуре шифрования; дешифрование обеспечивает восстановление информации по криптограмме при знании шифрключа;decryption is the opposite of encryption; decryption provides recovery of information from the cryptogram with knowledge of the cipher key;

двоичный вектор числа - это сигнал в виде последовательности нулевых и единичных битов, соответствующей представлению числа в двоичной системе исчисления.a binary vector of a number is a signal in the form of a sequence of zero and unit bits corresponding to the representation of a number in the binary system.

Известны способы формирования ключа шифрования-дешифрования (см., например, Российский стандарт шифрования стандарт СССР ГОСТ 28147-89 [1], Британский алгоритм В-Grypt, Стандарт США DES, Японский алгоритм шифрования данных FEAL [2], стр. 48-52, а также патент Российской Федерации на изобретение №2171012, МПК7 Н 04 L 9/08, 9/00, заявка №2000108296/09 от 03.04.2000).Known methods for generating an encryption-decryption key (see, for example, Russian standard encryption standard USSR standard GOST 28147-89 [1], British B-Grypt algorithm, US standard DES, Japanese FEAL data encryption algorithm [2], pp. 48-52 as well as the patent of the Russian Federation for the invention No. 2171012, IPC 7 H 04 L 9/08, 9/00, application No. 2000108296/09 of 04/03/2000).

В известных способах формирование ключа шифрования-дешифрования осуществляют путем использования генератора случайных чисел с каким-либо непредсказуемым фактором, например выбором битов от показаний таймера. Сформированный числовой ключ передается пользователем сети и используется в качестве базы (начального значения) генератора псевдослучайной последовательности чисел. При этом выходной поток битов суммируется по модулю 2 с исходным текстом, чтобы сформировать зашифрованное сообщение и наоборот.In known methods, the encryption-decryption key is generated by using a random number generator with some unpredictable factor, for example, the choice of bits from the timer. The generated numerical key is transmitted by the network user and is used as the base (initial value) of the pseudo-random sequence of numbers generator. The output bit stream is added modulo 2 with the source text to form an encrypted message and vice versa.

Однако известные способы-аналоги формирования ключа шифрования-дешифрования требуют использования защищенных каналов связи для передачи пользователям сети сформированного ключа.However, the known methods analogous to the formation of an encryption-decryption key require the use of secure communication channels to transmit the generated key to network users.

Наиболее близким по своей технической сущности к заявляемому способу формирования ключа шифрования-дешифрования является способ, описанный протоколом в стандарте США DES [2], стр. 71, и [3], стр.61.The closest in technical essence to the claimed method of generating an encryption-decryption key is the method described by the protocol in the US standard DES [2], p. 71, and [3], p. 61.

Способ-прототип включает в себя формирование для всех пользователей сети двух двоичных векторов чисел а и р, при этом простое число р≥2n-1, выбор пользователями сети независимо друг от друга секретных ключей xA, ..., xB, таких, что 1<xА<2n, 1<xB<2n, формирование пользователями сети открытых ключей

Figure 00000002
обмен пользователями открытыми ключами и формирование каждым из них общего секретного подключа
Figure 00000003
Figure 00000004
К=KABВА и использование этого подключа в качестве базы для начального заполнения регистра сдвига, имеющего n разрядов и вырабатывающего псевдослучайную последовательность символов максимальной длины.The prototype method includes the formation for all network users of two binary vectors of numbers a and p, with a prime number p≥2 n -1, users of the network independently choosing secret keys x A , ..., x B , such such that 1 <x A <2 n , 1 <x B <2 n , the formation of network keys by public users
Figure 00000002
exchange of public keys by users and the formation of a common secret subkey by each of them
Figure 00000003
Figure 00000004
K = K AB = K VA and the use of this subkey as the basis for the initial filling of the shift register, which has n digits and generates a pseudorandom sequence of characters of maximum length.

Однако способ-прототип имеет недостаток. Несмотря на то, что шифр, основанный на сложении потока псевдослучайных битов с битами исходного текста по модулю 2, является в общем случае теоретически нераспознаваемым (см. [2], стр.128), сама криптосистема не отличается стойкостью и может быть раскрыта. Если структура регистра сдвига, имеющего n разрядов, известна, то для нахождения начального состояния регистра сдвига надо знать n символов известного открытого текста, которые складываются по модулю 2 с соответствующими n символами шифртекста. Полученные n символов псевдослучайной последовательности определяют состояние регистра сдвига на некоторый момент времени. Моделируя работу регистра сдвига в обратном направлении, можно определить его исходное состояние, а следовательно, и ключи, используемые пользователями сети при шифровании-дешифровании информации.However, the prototype method has a drawback. Despite the fact that a cipher based on the addition of a pseudo-random bit stream with source text bits modulo 2 is generally theoretically unrecognizable (see [2], p. 128), the cryptosystem itself is not durable and can be disclosed. If the structure of the shift register with n bits is known, then to find the initial state of the shift register, you need to know n characters of the known plaintext, which are added modulo 2 with the corresponding n characters of the ciphertext. The obtained n characters of the pseudo-random sequence determine the state of the shift register at some point in time. Modeling the operation of the shift register in the opposite direction, it is possible to determine its initial state, and, consequently, the keys used by network users for encryption-decryption of information.

Если структура регистра сдвига, имеющего n разрядов, является неизвестной, то достаточно 2 n символов известного открытого текста и им соответствующих 2 n символов шифрованного текста, чтобы сравнительно быстро (в течение нескольких секунд работы ЭВМ) определить состояние регистра сдвига и вычислить используемые ключи (см., например, [4] стр. 93).If the structure of the shift register with n bits is unknown, then 2 n characters of known plaintext and 2 n characters of ciphertext corresponding to it are sufficient to quickly (within a few seconds of the operation of a computer) determine the state of the shift register and calculate the keys used (see ., for example, [4] p. 93).

Поэтому ключи, сформированные для шифрования-дешифрования информации, могут использоваться только один раз и при очередном сеансе связи должны определяться по новому. А это приводит к значительному усложнению процедуры распределения ключей в вычислительной сети, т.к. всякий раз требуется подтверждение подлинности сеанса связи и подлинности пользователя сети путем использования электронных подписей или цифровых сигнатур. При этом снижается быстродействие процесса формирования ключа шифрования-дешифрования и скорость шифрования информации.Therefore, the keys generated for encryption-decryption of information can be used only once and during the next communication session should be determined in a new way. And this leads to a significant complication of the procedure for distributing keys in a computer network, because each time confirmation of the authenticity of the communication session and the authenticity of the network user is required by using electronic signatures or digital signatures. This reduces the speed of the process of generating the encryption-decryption key and the speed of information encryption.

Изобретение направлено на повышение быстродействия процесса формирования ключа шифрования-дешифрования и увеличение скорости шифрования сообщений.The invention is aimed at increasing the speed of the process of generating the encryption-decryption key and increasing the speed of message encryption.

Это достигается тем, что в известном способе формирования ключа шифрования-дешифрования, заключающемся в генерировании для всех пользователей сети двоичных векторов двух чисел а и р, при этом простое число р≥2n-1, в генерировании пользователями сети независимо друг от друга секретных ключей xА, ..., xB, таких, что 1<xА<2n, 1<хB<2n, формировании пользователями сети открытых ключей

Figure 00000005
обмене пользователями сети открытыми ключами и формировании каждым из них для связи с другими пользователями сети общего секретного подключа
Figure 00000003
Figure 00000004
К=КАВВА, дополнительно пользователи сети формируют для связи с другими пользователями сети двоичный вектор обратного элемента общего секретного подключа между пользователями сети К0 путем преобразования двоичного вектора общего секретного подключа между пользователями сети
Figure 00000006
и для передачи сообщения формируют случайный двоичный вектор ξ, формируют шифрключ β путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа К, закладывают его в шифрующее устройство, формирующее псевдослучайную последовательность символов максимальной длины 2n-1 для шифрования сообщения, формируют двоичный вектор α путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0 сети и передают его по каналу связи вместе с зашифрованным сообщением, а при приеме сообщения пользователи сети формируют случайный двоичный вектор ξ путем сложения по модулю два битов принимаемого двоичного вектора α с битами двоичного вектора обратного элемента общего секретного подключа между пользователями сети K0, а затем формируют шифрключ β путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа К и закладывают его в шифрующее устройство для дешифрования сообщения.This is achieved by the fact that in the known method of generating an encryption-decryption key, which consists in generating for all network users binary vectors of two numbers a and p, while a prime number p≥2 n -1, in generating network users independently of each other secret keys x A , ..., x B , such that 1 <x A <2 n , 1 <x B <2 n , when the network users form public keys
Figure 00000005
exchange of network keys by public users and the formation of each of them for communication with other network users with a shared secret subkey
Figure 00000003
Figure 00000004
K = K AB = K VA , additionally, network users form for communication with other network users a binary vector of the inverse element of the shared secret subkey between users of the network K 0 by converting the binary vector of the shared secret subkey between network users
Figure 00000006
and for transmitting the message, a random binary vector ξ is formed, a cipher key β is formed by modulo adding two bits of a random binary vector ξ with the bits of the binary vector of the shared secret subkey K, put it into an encryption device forming a pseudorandom sequence of characters of maximum length 2 n -1 for encryption messages form the binary vector α by modulo adding two bits of the random binary vector ξ with the bits of the binary vector of the inverse element of the common secret subkey between the user s K 0 network and transmitting it over the communication channel together with the encrypted message, and upon receiving the message the network users form a random binary vector ξ by modulo-two bits of the received binary vector α with the bits of the binary vector inverse element shared secret is connected between the network users K 0 and then form the encryption key β by modulo adding two bits of the random binary vector ξ with the bits of the binary vector of the shared secret subkey K and put it into an encryption device for decryption with bscheniya.

Перечисленная совокупность существенных признаков затрудняет возможность определения секретных ключей, а также общих секретных подключей пользователей сети. В этом случае, хотя и будет определено начальное состояние регистра сдвига, но для определения секретных подключей К требуется знание случайного двоичного вектора ξ, который изменяется для каждого сеанса связи случайным образом.The listed set of essential features makes it difficult to determine the secret keys, as well as the general secret subkeys of network users. In this case, although the initial state of the shift register will be determined, knowledge of a random binary vector ξ is required to determine secret subkeys K, which varies randomly for each communication session.

Случайный двоичный вектор может быть сформирован, например, путем использования генератора случайных чисел в комбинации с показаниями таймера. В этом случае исключается возможность определения секретных ключей, а также общих секретных подключей пользователей сети даже при использовании метода криптоанализа с известным открытым текстом. Несмотря на то, что в каком-то сеансе связи будет определено начальное состояние регистра сдвига, но для определения секретных подключей К и требуется знание случайного двоичного вектора ξ, который выбирается для каждого сеанса связи случайным образом. Поскольку статистические методы криптоанализа в этом случае неприменимы, то секретные подключи К1, К2 могут быть вскрыты только путем тотального перебора всего множества ключей. В соответствии с Российским стандартом ГОСТ 28147-89 для регистра сдвига, имеющего 256 ячеек памяти, мощность множества ключей будет составлять 1077. Если вскрытие ключа будет осуществляться с помощью ЭВМ, имеющей тактовую частоту 100 ГГц, то число операций, выполняемое этой ЭВМ в течение года, будет составлять 3·1020, а время вскрытия ключа составит 3·1056 лет.A random binary vector can be generated, for example, by using a random number generator in combination with a timer. In this case, the possibility of determining private keys, as well as shared secret connections of network users, even when using the cryptanalysis method with known plaintext, is excluded. Despite the fact that in some communication session the initial state of the shift register will be determined, but to determine the secret subkeys K, knowledge of a random binary vector ξ is required, which is randomly selected for each communication session. Since the statistical methods of cryptanalysis are not applicable in this case, the secret subkeys K 1 , K 2 can be opened only by total enumeration of the entire set of keys. In accordance with the Russian standard GOST 28147-89 for a shift register with 256 memory cells, the power of the set of keys will be 10 77 . If the key is opened using a computer with a clock frequency of 100 GHz, the number of operations performed by this computer during the year will be 3 · 10 20 , and the key opening time will be 3 · 10 56 years.

Знание криптоаналитиком открытых ключей, а также чисел а и р, передаваемых по незащищенным каналам связи, не позволяет также отыскать значения секретных ключей xA1,xA2, ..., xB1, xB2 и общих секретных подключей пользователей сети К1 и К2, т.к. процедура их нахождения сводится к вычислению дискретного логарифма произвольного элемента конечного поля Fp, имеющего общее число элементов 1077. Поэтому решение этой задачи находится за пределами технологических возможностей современных ЭВМ.The cryptanalyst’s knowledge of the public keys, as well as the numbers a and p transmitted through insecure communication channels, also does not allow one to find the values of secret keys x A1 , x A2 , ..., x B1 , x B2 and common secret connections of network users K 1 and K 2 since the procedure for finding them is reduced to calculating the discrete logarithm of an arbitrary element of a finite field F p having a total number of elements 10 77 . Therefore, the solution to this problem is beyond the technological capabilities of modern computers.

Поскольку при рассмотренном способе секретные ключи и подключи не вскрываются, то отпадает необходимость в назначении ключей для связи новых сеансов, а следовательно, отпадает необходимость подтверждения подлинности абонентов и сеансов связи, что существенным образом упрощает процедуру распределения ключей в вычислительной сети и исключает необходимость использования электронных подписей или цифровых сигнатур для каждого сеанса связи, что приводит к повышению быстродействия формирования ключа шифрования-дешифрования и увеличению скорости шифрования.Since the secret keys and subkeys are not opened in the considered method, there is no need to assign keys for communication of new sessions, and therefore, there is no need to confirm the authenticity of subscribers and communication sessions, which greatly simplifies the procedure for distributing keys in a computer network and eliminates the need for electronic signatures or digital signatures for each communication session, which leads to an increase in the speed of encryption-decryption key generation and increase encryption speed.

Несмотря на то, что в вычислительной сети может быть множество пользователей, для предлагаемого способа формирования ключей шифрования-дешифрования с каждым из них будут использованы разные секретные подключи, недоступные другим пользователям сети.Despite the fact that there can be many users in a computer network, different secret subkeys inaccessible to other network users will be used with each of them for the proposed method of generating encryption-decryption keys.

Возможность технической реализации предлагаемого способа поясняется следующим образом. В центре распределения ключей выбираются два числа а и р, которые доводятся до всех пользователей сети путем генерирования двоичных векторов и передачи их по незащищенным каналам связи. Число а может быть выбрано в пределах 1<а<2n, что не составляет больших проблем, а число р должно быть выбрано простым. Это число может быть выбрано из простых чисел Мерсенна типа 2k-1, где k - простое число. Например, стандарт США DES предусматривает использование регистра сдвига, имеющего 127 ячеек памяти (длина ключа 127 бит). В этом случае в качестве простого числа может использоваться число Мерсенна р=2127-1. Для Российского стандарта ГОСТ 28147-89 можно использовать число р=2257-1.The possibility of technical implementation of the proposed method is illustrated as follows. In the key distribution center, two numbers a and p are selected, which are communicated to all users of the network by generating binary vectors and transmitting them through insecure communication channels. The number a can be chosen within 1 <a <2 n , which is not a big problem, and the number p must be chosen simple. This number can be selected from Mersenne primes of type 2 k -1, where k is a prime number. For example, the US DES standard provides for the use of a shift register having 127 memory cells (key length 127 bits). In this case, the Mersenne number p = 2 127 -1 can be used as a prime number. For the Russian standard GOST 28147-89, you can use the number p = 2,257 -1.

Для формирования пользователями сети открытых ключей yА, ..., yB, а также общих секретных подключей К и обратных элементов общих секретных подключей К0 может быть использован алгоритм быстрого возведения числа в степень в конечном поле Fp (см. [4] стр.39) и для р=2257-1 на современных ЭВМ ключи могут быть сформированы в несколько минут. Для формирования случайного двоичного вектора могут быть использованы алгоритмы, представленные в [5]. Остальные процедуры формирования ключа шифрования-дешифрования реализуются известными способами и не вызывают сомнения.To generate public keys of the network y А , ..., y B , as well as shared secret subkeys K and reverse elements of shared secret subkeys K 0 , the algorithm for quickly raising a power to a power in a finite field F p can be used (see [4] p. 39) and for p = 2,257 -1, on modern computers, keys can be generated in a few minutes. To generate a random binary vector, the algorithms presented in [5] can be used. The remaining procedures for generating the encryption-decryption key are implemented by known methods and are not in doubt.

Предлагаемый способ может быть реализован с помощью ЭВМ или вычислительного устройства, представленного блок-схемой на чертеже, гдеThe proposed method can be implemented using a computer or a computing device, represented by a block diagram in the drawing, where

блок 1 - устройство ввода- вывода;block 1 - input-output device;

блок 2 - устройство для формирования открытых ключей;block 2 - a device for generating public keys;

блок 3 - устройство формирования секретных подключей для связи с выбранным пользователем сети;block 3 - a device for generating secret subkeys for communication with a selected network user;

блок 4 - устройство формирования случайного двоичного вектора;block 4 - device for generating a random binary vector;

блок 5 - устройство формирования сеансового ключа шифрования;block 5 - a device for generating a session encryption key;

блок 6 - устройство формирования сеансового ключа дешифрования.block 6 is a device for generating a session decryption key.

Для простоты описания работы устройства будем пользоваться малыми числами. Будем считать, что пользователи сети используют регистры сдвига, имеющие 5 ячеек памяти (длина ключа 5 бит, n=5). Тогда в центре распределения ключей определяют два числа а=2 и р=25-1= 31 и генерируют двоичные векторы этих чиселFor simplicity, the description of the operation of the device will use small numbers. We assume that network users use shift registers with 5 memory cells (key length 5 bits, n = 5). Then, in the center of the distribution of keys, two numbers a = 2 and p = 2 5 -1 = 31 are determined and binary vectors of these numbers are generated

а=00010=2a = 00010 = 2

р=11111=31p = 11111 = 31

и по незащищенному каналу связи передают их всем пользователям сети.and over an insecure communication channel transmit them to all network users.

Принятые двоичные векторы чисел а и р пользователи сети фиксируют в блоке 1 и подают их в блок 2. В блоке 2 пользователи сети генерируют секретные ключи (например, пользователь А генерирует секретные ключи xА=00011=3, а пользователь В генерирует секретные ключи xB=00010=2), фиксируют их и формируют открытые ключи (например, пользователь А формирует открытый ключ)The network users fix the binary vectors of numbers a and p in block 1 and feed them to block 2. In block 2, network users generate secret keys (for example, user A generates secret keys x A = 00011 = 3, and user B generates secret keys x B = 00010 = 2), fix them and generate public keys (for example, user A generates a public key)

YА≡23(mod 31)=01000=8,Y А ≡2 3 (mod 31) = 01000 = 8,

(а пользователь В формирует открытые ключи)(and user B generates public keys)

yB≡22(mod 31)=00100=4.y B ≡2 2 (mod 31) = 00100 = 4.

Сформированные открытые ключи подают в блок 1, фиксируют их там и передают по незащищенному каналу связи через центр распределения ключей другим пользователям сети. Принятые открытые колючи других пользователей фиксируют в блоке 1.The generated public keys are submitted to block 1, fixed there and transmitted via an unsecured communication channel through the key distribution center to other network users. Accepted open spikes of other users are fixed in block 1.

Если пользователь А хочет послать зашифрованное сообщение пользователю В, он поступает следующим образом.If user A wants to send an encrypted message to user B, he proceeds as follows.

В блоке 3 пользователь формирует секретные подключи между пользователями А и В, используя при этом открытый ключ пользователя В (уB), который поступает из блока 1, и свой секретный ключ (xA), поступающий из блока 2, а также формирует двоичный вектор обратного элемента общего секретного подключа между пользователями сети K0 In block 3, the user forms secret subkeys between users A and B, using the public key of user B (at B ), which comes from block 1, and his private key (x A ), coming from block 2, and also forms a binary vector the inverse of the shared secret subkey between users of the network K 0

KAB

Figure 00000007
(mod р)≡43(mod 31)=00010=2K AB
Figure 00000007
(mod p) ≡4 3 (mod 31) = 00010 = 2

К0

Figure 00000008
(mod р)≡229(mod 31)=10000=16K 0
Figure 00000008
(mod p) ≡2 29 (mod 31) = 10000 = 16

В блоке 4 пользователь А формирует случайный двоичный вектор ξ (например, путем использования генератора случайных чисел в комбинации с показаниями таймера получено число ξ=10101=21).In block 4, user A generates a random binary vector ξ (for example, by using a random number generator in combination with a timer, the number ξ = 10101 = 21 is obtained).

В блоке 5 пользователь А формирует двоичный вектор α путем сложения по модулю 2 битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа KAB, поступающего из блока 3In block 5, user A generates a binary vector α by modulo addition of 2 bits of a random binary vector ξ with bits of a binary vector of a shared secret subkey K AB coming from block 3

Figure 00000009
Figure 00000009

а также формирует двоичный вектор β путем сложения по модулю 2 битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа KAB, поступающего из блока 3and also forms a binary vector β by adding modulo 2 bits of a random binary vector ξ with the bits of the binary vector of the shared secret subkey K AB coming from block 3

Figure 00000010
Figure 00000010

Двоичный вектор β пользователь А закладывает в шифрующее устройство, вырабатывающее с помощью регистра сдвига псевдослучайную последовательность символов, и передает двоичный вектор α и зашифрованный текст пользователю В.User A places the binary vector β into the encryption device, which generates a pseudo-random sequence of characters using the shift register, and transmits the binary vector α and the encrypted text to user B.

Получив двоичный вектор α и зашифрованный текст от пользователя А, пользователь В поступает следующим образом.Having received the binary vector α and the ciphertext from user A, user B proceeds as follows.

В блоке 3 пользователь В формирует общий секретный подключ между пользователями В и А, используя при этом открытый ключ пользователя А (уA), поступающий из блока 1, и свой секретный ключ (xB), поступающий из блока 2, а также формирует двоичный вектор обратного элемента общего секретного подключа между пользователями сети K0.In block 3, user B forms a shared secret subkey between users B and A, using the public key of user A (at A ) coming from block 1 and his private key (x B ) coming from block 2, and also forms a binary vector of the inverse element of the common secret subkey between users of the network K 0 .

В блоке 6 пользователь В формирует случайный двоичный вектор ξ путем сложения по модулю 2 принятых битов двоичного вектора α, поступающего из блока 1, с битами двоичного вектора обратного элемента общего секретного подключа К0, поступающего из блока 3In block 6, user B generates a random binary vector ξ by adding modulo 2 received bits of the binary vector α coming from block 1 with the bits of the binary vector of the inverse element of the common secret subkey K 0 coming from block 3

Figure 00000011
Figure 00000011

а в блоке 5 формируют двоичный вектор β путем сложения по модулю 2 битов случайного двоичного вектора ξ, поступающего из блока 6, с битами двоичного вектора общего секретного подключа КBA, поступающего из блока 3and in block 5, a binary vector β is formed by modulo 2 addition of the 2 bits of the random binary vector ξ coming from block 6 with the bits of the binary vector of the shared secret subkey K BA coming from block 3

Figure 00000012
Figure 00000012

Двоичный вектор β пользователь В закладывает в шифрующее устройство, вырабатывающее с помощью регистра сдвига псевдослучайную последовательность символов, используемую для дешифрования сообщения.The binary vector β, user B, places a pseudorandom sequence of characters used to decrypt the message using the shift register, using the shift register.

Источники информацииInformation sources

1. Российский стандарт шифрования стандарт СССР ГОСТ 28147-89 системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.1. The Russian encryption standard is the USSR standard GOST 28147-89 information processing system. Cryptographic protection. Cryptographic conversion algorithm.

2. С.Мафтик. Механизмы защиты в сетях ЭВМ, М., 1993 г.2. S. Maftik. Protection mechanisms in computer networks, M., 1993

3. В.И.Нечаев. Элементы криптографии. Основы теории защиты информации, М.: Высшая школа, 1999 г.3. V.I. Nechaev. Elements of cryptography. Fundamentals of the theory of information security, M .: Higher school, 1999

4. В.И.Тупота. Адаптивные средства защиты информации в вычислительных сетях. - М.: Радио и связь, 2002, - 176 с.4. V.I. Tupota. Adaptive means of information security in computer networks. - M .: Radio and communications, 2002, - 176 p.

5. ГОСТ Р 34.11-94. "Информационная технология. Криптографическая защита информации. Функция хеширования".5. GOST R 34.11-94. "Information technology. Cryptographic protection of information. Hashing function."

Claims (1)

Способ формирования ключа шифрования-дешифрования, основанный на генерировании двух двоичных векторов чисел а и р, причем 1<а<2n, а р является простым числом и р≥2n-1, где n - длина ключа в битах, передаче по незащищенному каналу связи двоичных векторов чисел а и р каждому пользователю сети, генерировании пользователями сети независимо друг от друга секретных ключей xA, ..., xB, где xА - секретный ключ пользователя А, 1<xА<2n, xB - секретный ключ пользователя В, 1<xB<2n, и формировании пользователями сети открытых ключей путем преобразования двоичных векторов секретного ключа и чисел а и р
Figure 00000013
где уA - открытый ключ пользователя А, уB - открытый ключ пользователя В, передаче по незащищенному каналу связи открытых ключей всем другим пользователям сети и формировании пользователями сети для связи с другим пользователем сети общего секретного подключа К путем преобразования двоичных векторов своего секретного ключа и открытого ключа другого пользователя сети
Figure 00000014
Figure 00000015
К=КABBA, где КAB - общий секретный подключ между пользователями А и В, Ква - общий секретный подключ между пользователями В и А, К - общий секретный подключ, и для передачи сообщения генерируют для каждого сеанса связи случайный двоичный вектор ξ, формируют двоичный вектор β путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа К, используют двоичный вектор β в качестве ключа шифрования для шифрующего устройства, формирующего псевдослучайную последовательность символов максимальной длины 2n-1 для шифрования сообщения, формируют двоичный вектор α, который передают по каналу связи вместе с зашифрованным сообщением, а при приеме сообщения пользователи сети формируют случайный двоичный вектор ξ, а затем формируют двоичный вектор β путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора общего секретного подключа К и двоичный вектор β используют в шифрующем устройстве, формирующем псевдослучайную последовательность символов, используемую для дешифрования сообщения, отличающийся тем, что при передаче пользователи сети независимо друг от друга формируют для связи с другим пользователем сети двоичный вектор обратного элемента общего секретного подключа между пользователями сети К0 путем преобразования двоичного вектора общего секретного подключа между пользователями сети
Figure 00000016
и формируют двоичный вектор α путем сложения по модулю два битов случайного двоичного вектора ξ с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0, а при приеме сообщения случайный двоичный вектор ξ формируют путем сложения по модулю два битов принимаемого двоичного вектора α с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0.
A method of generating an encryption-decryption key based on the generation of two binary vectors of numbers a and p, where 1 <a <2 n , and p is a prime number and p≥2 n -1, where n is the key length in bits, transmitted over unprotected the communication channel of binary vectors of numbers a and p to each network user, network users generating secret keys x A , ..., x B independently from each other, where x A is the secret key of user A, 1 <x A <2 n , x B - the secret key of user B, 1 <x B <2 n , and the formation by users of the network of public keys by binary conversion x vectors of secret key and numbers a and p
Figure 00000013
where A is the public key of user A, B is the public key of user B, transmitting public keys via an insecure communication channel to all other network users and forming network users to communicate with another network user for a shared secret subkey K by converting the binary vectors of their private key and another user's public key
Figure 00000014
Figure 00000015
K = K AB = K BA , where K AB is the common secret subkey between users A and B, K wa is the common secret subkey between users B and A, K is the common secret subkey, and a random binary code is generated for each communication session vector ξ, form the binary vector β by modulo adding two bits of the random binary vector ξ with the bits of the binary vector of the shared secret subkey K, use the binary vector β as an encryption key for an encryption device forming a pseudorandom sequence of characters ma maximum DUTY length 2 n -1 to encrypt a message form binary vector α, which is transmitted through the communication channel together with the encrypted message, and upon receiving the message the network users form a random binary vector ξ, and then form a binary vector β by addition of two random bits modulo binary vector ξ with bits of the binary vector of the shared secret subkey K and the binary vector β are used in an encryption device forming a pseudorandom sequence of characters used to decrypt the message, characterized in that during transmission, network users independently form a binary vector of the inverse element of the common secret subkey between users of the network K 0 for communication with another network user by converting the binary vector of the common secret subkey between network users
Figure 00000016
and form a binary vector α by modulo adding two bits of a random binary vector ξ with bits of a binary vector of the inverse element of the common secret subkey between users K 0 , and when a message is received, a random binary vector ξ is formed by adding modulo two bits of the received binary vector α with bits binary vector of the inverse of the shared secret subkey between users K 0 .
RU2004110662/09A 2004-04-07 2004-04-07 Method for generation of encoding-decoding key RU2277759C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2004110662/09A RU2277759C2 (en) 2004-04-07 2004-04-07 Method for generation of encoding-decoding key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2004110662/09A RU2277759C2 (en) 2004-04-07 2004-04-07 Method for generation of encoding-decoding key

Publications (2)

Publication Number Publication Date
RU2004110662A RU2004110662A (en) 2005-09-27
RU2277759C2 true RU2277759C2 (en) 2006-06-10

Family

ID=35849894

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004110662/09A RU2277759C2 (en) 2004-04-07 2004-04-07 Method for generation of encoding-decoding key

Country Status (1)

Country Link
RU (1) RU2277759C2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2459276C1 (en) * 2011-08-12 2012-08-20 Николай Андреевич Молдовян Method for coding of m message represented as multidigit binary number
RU2481715C1 (en) * 2011-11-30 2013-05-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технологический университет "СТАНКИН" (ФГБОУ ВПО МГТУ "СТАНКИН") Method for block encryption of messages and transmission of encrypted data with closed key
RU2562373C2 (en) * 2013-10-03 2015-09-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Pseudorandom function generator
RU2703972C1 (en) * 2019-03-13 2019-10-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Поволжский государственный университет телекоммуникаций и информатики" (ФГБОУ ВО ПГУТИ) Method of space-time protection of information

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2654122C2 (en) * 2016-06-14 2018-05-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Рязанское высшее воздушно-десантное ордена Суворова дважды Краснознаменное командное училище имени генерала армии В.Ф. Маргелова Министерства обороны Российской Федерации" Method of delivering key with verification of radio network correspondent authenticity

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2459276C1 (en) * 2011-08-12 2012-08-20 Николай Андреевич Молдовян Method for coding of m message represented as multidigit binary number
RU2481715C1 (en) * 2011-11-30 2013-05-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технологический университет "СТАНКИН" (ФГБОУ ВПО МГТУ "СТАНКИН") Method for block encryption of messages and transmission of encrypted data with closed key
RU2562373C2 (en) * 2013-10-03 2015-09-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Северо-Кавказский федеральный университет" Pseudorandom function generator
RU2703972C1 (en) * 2019-03-13 2019-10-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Поволжский государственный университет телекоммуникаций и информатики" (ФГБОУ ВО ПГУТИ) Method of space-time protection of information

Also Published As

Publication number Publication date
RU2004110662A (en) 2005-09-27

Similar Documents

Publication Publication Date Title
US9172529B2 (en) Hybrid encryption schemes
US20090103726A1 (en) Dual-mode variable key length cryptography system
JP7353375B2 (en) End-to-end double ratchet encryption with epoch key exchange
US20020191796A1 (en) Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys
JPH0918469A (en) Equipment and system for cipher communication and ciphering device
Gupta et al. Enhancement of Security of Diffie-Hellman Key Exchange Protocol using RSA Cryptography.
Prajapati et al. KBC: Multiple key generation using key block chaining
Hwang et al. Robust stream‐cipher mode of authenticated encryption for secure communication in wireless sensor network
Huang et al. Constructing a Secure Point-to-Point Wireless Environment by Integrating Diffie-Hellman PKDS RSA and Stream Ciphering for Users Known to Each Other.
US20070183600A1 (en) Secure Cryptographic Communication System Using Kem-Dem
JP3172396B2 (en) Cryptographic communication device and cryptographic communication system
RU2277759C2 (en) Method for generation of encoding-decoding key
EP2377265A1 (en) System and method for countering side-channel attacks against encryption based on cyclic groups
EP1456997B1 (en) System and method for symmetrical cryptography
Purevjav et al. Email encryption using hybrid cryptosystem based on Android
Sun et al. A lightweight secure protocol for wireless sensor networks
RU2230438C2 (en) Method for generating encryption-decryption key
JP3358954B2 (en) Pseudo-random bit string generator and cryptographic communication method using the same
CN114257402A (en) Encryption algorithm determination method and device, computer equipment and storage medium
Dũng Variant of OTP Cipher with Symmetric Key Solution
JPH1091066A (en) Pseudo random bit string generator and cipher communication method using the same
JP3172397B2 (en) Cryptographic communication device and cryptographic communication system
Huang et al. Constructing a Secure Point-to-Point Wireless Environments by Integrating Diffie-Hellman PKDS and Stream Ciphering
JP2000004223A (en) Encryption/authentication system
Brisson Deterministic random number generation for one time pads: Creating a Whitenoise super key

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20060408