RU2542880C1 - Method of encrypting binary data unit - Google Patents
Method of encrypting binary data unit Download PDFInfo
- Publication number
- RU2542880C1 RU2542880C1 RU2014112502/08A RU2014112502A RU2542880C1 RU 2542880 C1 RU2542880 C1 RU 2542880C1 RU 2014112502/08 A RU2014112502/08 A RU 2014112502/08A RU 2014112502 A RU2014112502 A RU 2014112502A RU 2542880 C1 RU2542880 C1 RU 2542880C1
- Authority
- RU
- Russia
- Prior art keywords
- bit
- block
- cryptogram
- auxiliary
- generating
- Prior art date
Links
Abstract
Description
Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов и устройств для защиты информации, передаваемой по телекоммуникационным сетям путем шифрования сообщений (информации).The invention relates to the field of telecommunications and computer technology, and more particularly to the field of cryptographic methods and devices for protecting information transmitted over telecommunication networks by encrypting messages (information).
Известны способы шифрования электронных сообщений, представленных в цифровом виде, а именно в виде двоичных данных, выполняемые по секретному ключу, например способ, реализованный в виде алгоритма блочного шифрования RC5 [B.Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons, Inc., New York, 1996, рр. 344-346]. Способ включает в себя формирование секретного ключа в виде совокупности подключей, разбиение n-битового двоичного блока информации на n/2-битовые информационные подблоки А и В и поочередное преобразование этих подблоков. Подблоки преобразуются путем последовательного выполнения над ними линейных и нелинейных операций, в качестве которых используются операции суммирования по модулю 2m, где m=n/2=8,16,32,64, поразрядного суммирования по модулю 2 и циклического сдвига влево, причем число бит, на которое сдвигается преобразуемый подблок, зависит от значения другого подблока. Последнее свойство является характерным для способа RC5 и определяет зависимость операции циклического сдвига на текущем шаге преобразования подблока от исходного значения входного блока данных. Подблок информации, например подблок В, преобразуют путем наложения подблока А на подблок В с помощью операции поразрядного суммирования по модулю 2 В:=В⊕А. После этого над подблоком В выполняют операцию циклического сдвига влево на число бит, равное значению подблока А:В:=В<<<А. Затем над подблоком В и одним из подключей К выполняют операцию суммирования по модулю 2m, где m - длина подблока в битах: B:=(B+K)mod 2m. После этого аналогичным образом преобразуется подблок А. В зависимости от размеров ключа выполняется несколько таких итераций преобразования обоих подблоков. Данный способ обеспечивает достаточно высокую скорость шифрования при программной реализации. Недостатком способа шифрования RC5 является невысокая стойкость к дифференциальному и линейному видам криптоанализа [Kaliski B.S., Yin Y.L. On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm. Advances in Cryptology - CRYPTO 95. Proceedings, Springer-Verlag, 1995, pp. 171-184].There are known methods of encrypting electronic messages presented in digital form, namely in the form of binary data, performed using a secret key, for example, a method implemented in the form of an RC5 block encryption algorithm [B. Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons , Inc., New York, 1996, pp. 344-346]. The method includes generating a secret key in the form of a set of subkeys, splitting the n-bit binary information block into n / 2-bit information subblocks A and B, and alternately converting these subblocks. Subblocks are transformed by sequentially performing linear and nonlinear operations on them, using the summation modulo 2 m , where m = n / 2 = 8.16.32.64, bitwise summation modulo 2 and a cyclic shift to the left, and the number the bit by which the converted subblock is shifted depends on the value of the other subblock. The latter property is characteristic of the RC5 method and determines the dependence of the cyclic shift operation at the current step of converting a subunit on the initial value of the input data block. The information subblock, for example subblock B, is transformed by superimposing subblock A onto subblock B using the bitwise summing operation modulo 2 B: = B⊕A. After that, the operation of cyclic left shift by the number of bits equal to the value of subunit A is performed on subblock B: B: = B <<< A. Then, over the subblock B and one of the subkeys K, the summation operation is performed modulo 2 m , where m is the length of the subblock in bits: B: = (B + K) mod 2 m . After that, subunit A is similarly converted. Depending on the size of the key, several such iterations of the conversion of both subunits are performed. This method provides a fairly high encryption speed in software implementation. The disadvantage of the RC5 encryption method is its low resistance to differential and linear types of cryptanalysis [Kaliski BS, Yin YL On Differential and Linear Cryptanalysis of the RC5 Encryption Algorithm. Advances in Cryptology - CRYPTO 95. Proceedings, Springer-Verlag, 1995, pp. 171-184].
Известен способ шифрования n-битовых блоков данных [B.Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons, Inc., New York, 1996, pp. 193-194] путем генерации секретного ключа К, разбиения сообщения М на n-битовые блоки данных М1, М2,…,Мk, где k - число блоков в сообщении; n≥64 бит, и последующего шифрования блоков данных М1, М2,…Мk, причем процесс шифрования выполняют следующим путем. Шифруют блок М1 по секретному ключу, получая блок криптограммы C1, затем, начиная со значения i-2 и до значения i=k, суммируют с помощью операции поразрядного суммирования блок криптограммы Ci-1 и блок Mi, полученный в результате суммирования блок данных шифруют по секретному ключу, получая в результате текущий блок криптограммы Сi. Совокупность блоков криптограммы C1, C2,…, Ck представляет собой криптограмму, содержащую сообщение М в скрытом виде. Извлечение сообщения М из криптограммы практически возможно только с использованием секретного ключа, использованного при шифровании, за счет чего достигается защита информации, содержащейся в сообщении М, при его передаче по открытым каналам связи. Данный способ обеспечивает улучшение статистических свойств криптограммы, однако он имеет недостаток, состоящий в том, что теряется возможность независимого расшифрования отдельных блоков криптограммы.A known method for encrypting n-bit data blocks [B. Schneier, "Applied Cryptography", Second Eddition, John Wiley & Sons, Inc., New York, 1996, pp. 193-194] by generating the secret key K, splitting the message M into n-bit data blocks M 1 , M 2 , ..., M k , where k is the number of blocks in the message; n≥64 bits, and subsequent encryption of the data blocks M 1 , M 2 , ... M k , and the encryption process is performed in the following way. The block M 1 is encrypted with the secret key, obtaining the cryptogram block C 1 , then, starting from the value i-2 and up to the value i = k, the cryptogram block C i-1 and the block M i obtained by summing are summed using the bitwise summing operation the data block is encrypted with a secret key, resulting in the current cryptogram block C i . The set of blocks of the cryptogram C 1 , C 2 , ..., C k is a cryptogram containing the message M in a hidden form. Removing the message M from the cryptogram is practically possible only using the secret key used in encryption, due to which the information contained in the message M is protected when it is transmitted over open communication channels. This method provides an improvement in the statistical properties of the cryptogram, however, it has the disadvantage that the ability to independently decrypt individual blocks of the cryptogram is lost.
Наиболее близким по своей технической сущности к заявляемому способу шифрования n-битового блока двоичных данных М является способ, описанный в патенте №2459275 [Молдовян А.А., Молдовян Н.А. Способ блочного шифрования сообщения М, представленного в двоичном виде. Патент №2459275] по п.2 формулы изобретения указанного патента. Способ прототип включает в себя формирование секретного ключа, включающего подключи Q и R, формирование вспомогательного n-битового блока двоичных данных Т, формирование n-битовой вспомогательной криптограммы СM путем выполнения над М операции блочного шифрования E в зависимости от Q по формуле СM=EQ(M), формирование n-битовой вспомогательной криптограммы CT путем выполнения над Т операции блочного шифрования E в зависимости от R по формуле CT=ER(T), формирование криптограммы С в зависимости от секретного ключа и вспомогательных криптограмм CM и CT.The closest in technical essence to the claimed method of encrypting an n-bit block of binary data M is the method described in patent No. 2459275 [Moldovyan A.A., Moldovyan N.A. A method for block encrypting message M in binary form. Patent No. 2459275] according to claim 2 of the claims of the specified patent. The prototype method includes generating a secret key, including plug Q and R, generating an auxiliary n-bit block of binary data T, generating an n-bit auxiliary cryptogram C M by performing block ciphering operations E on M depending on Q using the formula C M = E Q (M), generating an n-bit auxiliary cryptogram C T by performing block ciphering operations E on T depending on R using the formula C T = E R (T), generating cryptogram C depending on the secret key and auxiliary cryptograms C M and C T.
Способ-прототип позволяет реализовать защиту информации с использованием механизма обманных ловушек, который состоит в том, что потенциальному злоумышленнику подставляется часть секретного ключа, включающая подключ R, в качестве ключа расшифрования, а в качестве вспомогательного n-битового блока двоичных данных Т используется n-битовый блок фиктивного сообщения. Блок криптограммы С расшифровывается путем его преобразования по дополнительному ключу, приводящего к получению вспомогательной криптограммы С∗, представляющей собой конкатенациию двух n-битовых строк CM и CT:С∗=CM||CT. Затем правая n-битовая строка CT расшифровывается путем выполнения операции блочного преобразования D, обратной к операции блочного шифрования Е, т.е. по формуле Т=DR(CT). Аналогичная процедура расшифрования выполняется с использованием подключа К и левой n-битовой строки CM вспомогательной криптограммы C∗=CM||CT. Недостатком способа прототипа является то, что различные части вспомогательной криптограммы C∗ используются при расшифровании блока данных М и блока фиктивного сообщения Т. Это демаскирует факт наличия в блоке криптограммы С блока данных М.The prototype method allows you to protect information using the mechanism of fraudulent traps, which consists in the fact that the potential attacker is substituted with a part of the secret key, including subkey R, as the decryption key, and n-bit is used as an auxiliary n-bit block of binary data T dummy message block. The cryptogram block C is decrypted by converting it with an additional key, which leads to an auxiliary cryptogram C ∗, which is a concatenation of two n-bit strings C M and C T : C ∗ = C M || C T. Then, the right n-bit string C T is decrypted by performing the block transform operation D inverse to the block encryption operation E, i.e. by the formula T = D R (C T ). A similar decryption procedure is performed using subkey K and the left n-bit string C M of the auxiliary cryptogram C ∗ = C M || C T. The disadvantage of the prototype method is that the various parts of the auxiliary cryptogram C ∗ are used to decrypt the data block M and the fictitious message block T. This unmasks the fact that the cryptogram C contains the data block M.
Задачей заявленного нового технического решения является разработка способа шифрования блока двоичных данных, представленного в виде n-битовой строки, обеспечивающего эффективную маскировку факта наличия n-битового блока данных М в блоке криптограммы С за счет того, что при выполнении процедуры расшифрования осуществляется преобразование С в n-битовую вспомогательную криптограмму и использование всех битов вспомогательной криптограммы при выполнении процедур расшифрования как n-битового блока данных М, так и вспомогательной n-битовой строки Т.The objective of the claimed new technical solution is to develop a method for encrypting a binary data block, presented in the form of an n-bit string, which provides an effective masking of the presence of an n-bit data block M in the cryptogram block C due to the fact that when the decryption procedure is performed, C to n is converted -bit auxiliary cryptogram and the use of all bits of the auxiliary cryptogram when decrypting both the n-bit data block M and the auxiliary n-bit line T.
Техническим результатом нового способа шифрования блока двоичных данных М является повышение уровня защищенности информации, шифруемой с его применением.The technical result of a new method of encrypting a binary data block M is to increase the level of security of information encrypted with its use.
Указанный технический результат достигается тем, что в способе шифрования блока двоичных данных М, заключающемся в формировании секретного ключа, включающего подключи Q и R, формировании вспомогательного n-битового блока двоичных данных T, формировании n-битовой вспомогательной криптограммы CM путем выполнения над М операции блочного шифрования Е в зависимости от Q по формуле CM=EQ(M), формировании n-битовой вспомогательной криптограммы CT путем выполнения над Т операции блочного шифрования Е в зависимости от R по формуле CT=ER(T), формировании криптограммы С в зависимости от секретного ключа и вспомогательных криптограмм CM и CT,The indicated technical result is achieved by the fact that in the method of encrypting the binary data block M, which consists in generating a secret key, including plug Q and R, forming an auxiliary n-bit block of binary data T, forming an n-bit auxiliary cryptogram C M by performing operations on M block encryption E depending on Q using the formula C M = E Q (M), generating an n-bit auxiliary cryptogram C T by performing block encryption E on T depending on R using the formula C T = E R (T), forming and cryptograms C depending on the secret key and auxiliary cryptograms C M and C T ,
новым является то, что подключ Q формируют в виде 2n-битовой строки, представляющей собой конкатенацию двух n-разрядных двоичных чисел q1 и q2, подключ R формируют в виде 2n-битовой строки, представляющей собой конкатенацию двух n-разрядных двоичных чисел r1 и r2, формируют (n+1)-разрядное двоичное число p и формируют криптограмму С в виде конкатенации двух многоразрядных двоичных чисел C1 и C2, являющихся решением системы из двух линейных уравнений k1C1+k2C2=CM mod p и q1C1+q2C2=CT mod р с двумя неизвестными C1 и C2.new is that subkey Q is formed as a 2n-bit string representing the concatenation of two n-bit binary numbers q 1 and q 2 , subkey Q is formed as a 2n-bit string representing the concatenation of two n-bit binary numbers r 1 and r 2 form an (n + 1) -bit binary number p and form a cryptogram C in the form of a concatenation of two multi-digit binary numbers C 1 and C 2 , which are a solution of a system of two linear equations k 1 C 1 + k 2 C 2 = C M mod p and q 1 C 1 + q 2 C 2 = C T mod p with two unknowns C 1 and C 2 .
Новым также является то, что формируют (n+1)-разрядное двоичное число p, которое является простым.Also new is that they form an (n + 1) -bit binary number p, which is prime.
Формирование и использование простого (n+1)-разрядного двоичного числа p упрощает процедуру генерации подключей Q и R.The formation and use of a simple (n + 1) -bit binary number p simplifies the procedure for generating subkeys Q and R.
Новым является и то, что формируют (n+1)-разрядное двоичное число p, которое представимо в виде 2n+1.Also new is the fact that they form an (n + 1) -bit binary number p, which can be represented in the form 2 n +1.
Использование в качестве (n+1)-разрядного двоичного числа р МДЧ вида 2n+1 обеспечивает формирование криптограммы, имеющей размер 2n бит, что упрощает программную и аппаратную реализацию заявленного способа шифрования n-битового блока двоичных данных М.Using as an (n + 1) -bit binary number p of the MDC of the form 2 n +1 provides the formation of a cryptogram having a size of 2n bits, which simplifies the software and hardware implementation of the claimed method of encryption of an n-bit block of binary data M.
Благодаря указанной новой совокупности существенных признаков за счет формирования n-битовых вспомогательных криптограмм CM и CT обеспечивается использование всех битов вспомогательной криптограммы при выполнении процедуры расшифрования как блока данных М, так и вспомогательного n-битового блока двоичных данных Т, в качестве которой может быть применен n-битовой блок некоторого фиктивного сообщения. Это обеспечивает эффективную маскировку факта наличия n-битового блока данных М в блоке криптограммы С при ее расшифровании потенциальным нарушителем при использовании им подключа Q при расшифровании криптограммы С, поскольку процедура расшифрования выполняется по одной и той же формуле как при расшифровании блока данных M, так и при расшифровании блока фиктивного сообщения Т.Thanks to this new set of essential features, by generating n-bit auxiliary cryptograms C M and C T, it is possible to use all bits of the auxiliary cryptogram when decrypting both the data block M and the auxiliary n-bit block of binary data T, which can be An n-bit block of some dummy message is applied. This provides an effective masking of the fact that there is an n-bit data block M in the block of cryptogram C when it is decrypted by a potential intruder when it uses the Q subkey when decrypting cryptogram C, since the decryption procedure is performed using the same formula as when decrypting the data block M and when decrypting a fictitious message block T.
Корректность заявленного способа шифрования n-битового блока двоичных данных М состоит в том, что по криптограмме С=С1||C2, где знак || обозначает операцию конкатенации (объединения битовых строк), может быть восстановлен «-битовый блок двоичных данных М по подключу Q=q1||q2 по формуле M=DQ((q1C1+q2C2)mod p), где D - операция блочного расшифрования, обратная операции блочного шифрования Е, и вспомогательный n-битовый блок двоичных данных Т по подключу R=r1||r2 по формуле T=DR((r1C1+r2C2)mod р).The correctness of the claimed method of encryption of an n-bit block of binary data M is that according to the cryptogram C = C 1 || C 2 , where the sign || denotes the operation of concatenation (combining bit strings), the “-bit block of binary data M can be restored by connecting Q = q 1 || q 2 according to the formula M = D Q ((q 1 C 1 + q 2 C 2 ) mod p) , where D is the operation of block decryption, the inverse of the operation of block encryption E, and the auxiliary n-bit block of binary data T through the subkey R = r 1 || r 2 according to the formula T = D R ((r 1 C 1 + r 2 C 2 ) mod p).
Действительно, при выполнении процедуры расшифрования по подключу Q=q1||q2 имеемIndeed, when performing the decryption procedure on the subkey Q = q 1 || q 2 we have
а при выполнении процедуры расшифрования по подключа R=r1||r2 имеемand when performing the decryption procedure on the subkey R = r 1 || r 2 we have
Далее реализуемость и корректность заявленного способа шифрования n-битового блока двоичных данных М иллюстрируется частными примерами его реализации.Further, the feasibility and correctness of the claimed method for encrypting an n-bit block of binary data M is illustrated by particular examples of its implementation.
Пример 1. Шифрование 64-битового блока двоичных данных М. Формируют простое МДЧ р=1844674407370955162910=264+23+22+1=Example 1. Encryption of a 64-bit block of binary data M. Form a simple MDC p = 18446744073709551629 10 = 2 64 +2 3 +2 2 + 1 =
=100000000000000000000000000000000000000000000000000000000000011012, , где индекс 10 (индекс 2) обозначает то, что число записано с использованием десятичной (двоичной) системы записи чисел, формируют секретный ключ в виде подключей Q и R, причем подключ Q формируют в виде 128-битовой строки, представляющей собой конкатенацию двух 64-разрядных двоичных чисел q1 и q2, т.е. Q=q1||q2, а подключ R формируют в виде 128-битовой строки, представляющей собой конкатенацию двух 64-битовых строк r1 и r2 (т.е. R=r1||r2), которые удовлетворяют условиям= 10000000000000000000000000000000000000000000000000000000000001101 2 , where the index 10 (index 2) means that the number is written using a decimal (binary) number recording system, form a secret key in the form of subkeys Q and R, and subkey Q is formed as a 128-bit string representing is the concatenation of two 64-bit binary numbers q 1 and q 2 , i.e. Q = q 1 || q 2 , and the subkey R is formed in the form of a 128-bit string, which is a concatenation of two 64-bit strings r 1 and r 2 (i.e., R = r 1 || r 2 ), which satisfy conditions
q1≡q2≡r1≡r2≡1 mod 2 (условие нечетности чисел q1, q2, r1, r2), а именно формируют следующие МДЧ:q 1 ≡q 2 ≡r 1 ≡r 2 ≡1 mod 2 (the odd condition of numbers q 1 , q 2 , r 1 , r 2 ), namely, the following MDCs are formed:
q1=1534408932451638078910; q2=1257177864409632101310;q 1 = 15344089324516380789 10 ; q 2 = 12571778644096321013 10 ;
r1=1560818547202969419310; r2=1536912929527758147710.r 1 = 15608185472029694193 10 ; r 2 = 15369129295277581477 10 .
Проверка показывает, что сформированные нечетные МДЧ q1, q2, r1 и r2 удовлетворяют условию q1r2-q2r1=812714980881351227≠0 mod p. Затем формируют вспомогательный 64-битовый блок двоичных данных Т и 64-битовую вспомогательную криптограмму СM путем выполнения над блоком данных М операции блочного шифрования Е в зависимости от подключа Q=q1||q2 по формуле CM=EQ(M), где операция блочного шифрования описывается следующим алгоритмом:Verification shows that the generated odd MDCs q 1 , q 2 , r 1 and r 2 satisfy the condition q 1 r 2 -q 2 r 1 = 812714980881351227 ≠ 0 mod p. Then, an auxiliary 64-bit block of binary data T and a 64-bit auxiliary cryptogram C M are formed by performing block encryption E on the block M of data depending on the subkey Q = q 1 || q 2 according to the formula C M = E Q (M) where the operation of block encryption is described by the following algorithm:
1. Установить значение счетчика i←0 и переменной CM←М, где знак ← обозначает операцию присваивания.1. Set the value of the counter i ← 0 and the variable C M ← M, where the sign ← denotes the assignment operation.
2. Сформировать 64-битовую строку CM в виде МДЧ, вычисленного по формуле CM←(q1CM mod264)<29<, где (…)<29< обозначает операцию циклического сдвига битовой строки (…) на 29 бит влево.2. Generate a 64-bit string C M in the form of MDC calculated by the formula C M ← (q 1 C M mod2 64 ) <29 < , where (...) <29 < denotes the operation of cyclic shift of the bit string (...) by 29 bits to the left.
3. Преобразовать 64-битовую строку CM по формуле CM←(q1CM mod264)<17<, где (…)<17< обозначает операцию циклического сдвига битовой строки (…) на 17 бит влево.3. Convert a 64-bit string C M according to the formula C M ← (q 1 C M mod2 64 ) <17 < , where (...) <17 < denotes the operation of cyclic shift of the bit string (...) by 17 bits to the left.
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CM взять в качестве выходного значения операции блочного шифрования EQ, выполненной над 64-битовым блоком двоичных данных М.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value C M as the output value of the block encryption operation E Q performed on the 64-bit block of binary data M.
Затем формируют 64-битовую вспомогательную криптограмму CT путем выполнения над вспомогательным 64-битовым блоком двоичных данных Т операции блочного шифрования Е в зависимости от подключа R=r1||r2 по формуле CT=ER(T) в соответствии со следующим алгоритмом:Then, a 64-bit auxiliary cryptogram C T is formed by performing block ciphering operation E on the auxiliary 64-bit binary data block T, depending on the subkey R = r 1 || r 2 according to the formula C T = E R (T) in accordance with the following algorithm:
1. Установить значение счетчика i←0 и переменной CT←Т.1. Set the value of the counter i ← 0 and the variable C T ← Т.
2. Сформировать 64-битовую строку CT в виде МДЧ, вычисленного по формуле CT←(r1CT mod264)<29<.2. Generate a 64-bit string C T in the form of MDC calculated by the formula C T ← (r 1 C T mod2 64 ) <29 < .
3. Преобразовать 64-битовую строку CT по формуле CT←(r2CT mod264)<17<.3. Convert a 64-bit string C T according to the formula C T ← (r 2 C T mod2 64 ) <17 < .
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CT взять в качестве выходного значения операции блочного шифрования ER, выполненной над вспомогательным 64-битовым блоком двоичных данных Т.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value C T as the output value of the block encryption operation E R performed on the auxiliary 64-bit block of binary data T.
После формирования вспомогательных криптограмм CM и CT, рассматривая их как 64-битовые МДЧ, формируют криптограмму C=C1||C2 путем решения следующей системы из двух линейных уравнений с неизвестными C1 и C2.After the formation of auxiliary cryptograms C M and C T , considering them as 64-bit MDCs, a cryptogram C = C1 || C 2 is formed by solving the following system of two linear equations with unknown C 1 and C 2 .
Решением данной системы являются два МДЧ C1 и C2, которые объединяются в криптограмму C=C1||C2.The solution to this system are two MDC C 1 and C 2 , which are combined into a cryptogram C = C 1 || C 2 .
Доказательство корректности данного частного варианта реализации заявленного способа шифрования n-битового блока двоичных данных М доказывается аналогично описанному ранее общему доказательству корректности заявленного способа с учетом того, что для нечетных МДЧ q1, q2, r1, r2 по модулю 264 существуют и легко вычисляются по расширенному алгоритму Евклида соответствующие обратные значения
1. Установить значение счетчика i←0 и переменной M←CM.1. Set the value of the counter i ← 0 and the variable M ← C M.
2. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М←М>17> и
3. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М←М>29> и
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение М взять в качестве выходного значения операции DQ, выполненной над 64-битовой вспомогательной криптограммой CM.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value of M as the output value of the operation D Q performed on the 64-bit auxiliary cryptogram C M.
Аналогично записывается процедура для реализации операции блочного расшифрования DR(CT), обратная операции блочного шифрования ER(T).Similarly, a procedure is written for implementing the block decryption operation D R (C T ), the inverse of the block encryption operation E R (T).
Рассмотренная частная реализация заявленного способа может быть применена для совместного шифрования двух сообщений Message и Text, каждое из которых, например, имеет размер 64 Кбит. Сообщение Message разбивается на 64-битовые блоки данных M1, M2,…,Mw, где w=1000. Сообщение Text разбивается на 64-битовые блоки данных T1, T2,…,Tw. Поочередно для значений i=1, 2,…, 1000 пары блоков данных (Mi, Ti) совместно шифруются в соответствии с описанным примером реализации заявленного способа, в результате чего формируется шифртекст в виде последовательности 128-битовых криптограмм (C1||C2)i, i=1, 2,…,1000.The considered private implementation of the claimed method can be used to jointly encrypt two Messages and Text messages, each of which, for example, has a size of 64 Kb. Message Message is divided into 64-bit data blocks M 1 , M 2 , ..., M w , where w = 1000. The Text message is broken into 64-bit data blocks T 1 , T 2 , ..., T w . Alternately, for the values i = 1, 2, ..., 1000, the pairs of data blocks (M i , T i ) are jointly encrypted in accordance with the described implementation example of the claimed method, resulting in ciphertext in the form of a sequence of 128-bit cryptograms (C 1 || C 2 ) i , i = 1, 2, ..., 1000.
Пример 2. Шифрование 128-битового блока двоичных данных М.Example 2. Encryption of a 128-bit block of binary data M.
Формируют МДЧ p вида 2128+1:MDC p of the form 2 128 +1 is formed:
р=2128+1=34028236692093846346337460743176821145710, где индекс 10 обозначает то, что число записано с использованием десятичной системы записи чисел. В виде двоичного числа (т.е. при использовании двоичной системы записи чисел) р имеет видp = 2 128 + 1 = 340282366920938463463374607431768211457 10 , where the index 10 means that the number is written using a decimal number system. In the form of a binary number (i.e., when using the binary number writing system), p has the form
р=1000000000000000000000000000000000000000000000000000000000000 00\\0000000000000000000000000000000000000000000000000000000000000 000012,p = 10000000000000000000000000000000000000000000000000000000000000000 00 \\ 00000000000000000000000000000000000000000000000000000000000001 2 ,
где знак «\\» означает перенос записи на следующую строку. Затем формируют секретный ключ в виде подключей Q и R, причем подключ Q формируют в виде 256-битовой строки, представляющей собой конкатенацию двух 128-разрядных двоичных чисел q1 и q2, т.е. Q=q1||q2, а подключ R формируют в виде 256-битовой строки, представляющей собой конкатенацию двух 128-битовых строк r1 и r2 (т.е. R=r1||r2), которые удовлетворяют условиюwhere the character "\\" means moving the record to the next line. Then the secret key is formed in the form of subkeys Q and R, and subkey Q is formed in the form of a 256-bit string, which is a concatenation of two 128-bit binary numbers q 1 and q 2 , i.e. Q = q 1 || q 2 , and the subkey R is formed in the form of a 256-bit string, which is a concatenation of two 128-bit strings r 1 and r 2 (i.e., R = r 1 || r 2 ) that satisfy condition
q1≡q2≡r1≡r2≡1 mod 2 (условие нечетности чисел q1, q2, r1, r2), а именно формируют следующие МДЧ:q 1 ≡q 2 ≡r 1 ≡r 2 ≡1 mod 2 (the odd condition of numbers q 1 , q 2 , r 1 , r 2 ), namely, the following MDCs are formed:
q1=32190904067557566377059537700856561566910;q 1 = 321909040675575663770595377008565615669 10 ;
q2=28630720506761823063630615061362575900310;q 2 = 286307205067618230636306150613625759003 10 ;
r1=29044042763419564515688183445091818615110;r 1 = 290440427634195645156881834450918186151 10 ;
r2=29426692692758328055910162911399398766110.r 2 = 29426692692758328055910162911399393987661 10 .
Проверка показывает, что сформированные нечетные МДЧ q1, q2, r1, и r2 удовлетворяют условиюVerification shows that the generated odd MDC q 1 , q 2 , r 1 , and r 2 satisfy the condition
q1r2-q2r1=75227762587413192201808942155507758598≠0 mod р.q 1 r 2 -q 2 r 1 = 75227762587413192201808942155507758598 ≠ 0 mod p.
Затем формируют вспомогательный 64-битовый блок двоичных данных Т и 128-битовую вспомогательную криптограмму CM путем выполнения над блоком данных М операции блочного шифрования Е в зависимости от подключа Q=q1||q2 по формуле CM=EQ(M), где операция блочного шифрования описывается следующим алгоритмом:Then, an auxiliary 64-bit block of binary data T and a 128-bit auxiliary cryptogram C M are formed by performing block encryption E on the block M of data depending on the subkey Q = q 1 || q 2 according to the formula C M = E Q (M) where the operation of block encryption is described by the following algorithm:
1. Установить значение счетчика i←0 и переменной CM←М.1. Set the value of the counter i ← 0 and the variable C M ← M.
2. Сформировать 64-битовую строку CM в виде МДЧ, вычисленного по формуле CM←(q1CM mod2128)<32<, где (…)<32< обозначает операцию циклического сдвига битовой строки (…) на 32 бита влево.2. Generate a 64-bit string C M in the form of MDC calculated by the formula C M ← (q 1 C M mod2 128 ) <32 < , where (...) <32 < denotes the operation of cyclic shift of the bit string (...) by 32 bits to the left.
3. Преобразовать 64-битовую строку CM по формуле CM←(q2CM mod2128)<40<, где (…)<40< обозначает операцию циклического сдвига битовой строки (…) на 40 бит влево.3. Convert a 64-bit string C M according to the formula C M ← (q 2 C M mod2 128 ) <40 < , where (...) <40 < denotes the operation of cyclic shift of the bit string (...) by 40 bits to the left.
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CM взять в качестве выходного значения операции блочного шифрования EQ, выполненной над 64-битовым блоком двоичных данных М.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value C M as the output value of the block encryption operation E Q performed on the 64-bit block of binary data M.
Затем формируют 64-битовую вспомогательную криптограмму CT путем выполнения над вспомогательным 64-битовым блоком двоичных данных Т операции блочного шифрования Е в зависимости от подключа R=r1||r2 по формуле CT=ER(T) в соответствии со следующим алгоритмом:Then, a 64-bit auxiliary cryptogram C T is formed by performing block ciphering operation E on the auxiliary 64-bit binary data block T, depending on the subkey R = r 1 || r 2 according to the formula C T = E R (T) in accordance with the following algorithm:
1. Установить значение счетчика i←0 и переменной CT←Т.1. Set the value of the counter i ← 0 and the variable C T ← Т.
2. Сформировать 64-битовую строку CT в виде МДЧ, вычисленного по формуле CT←(r1CT mod2128)<32<.2. Generate a 64-bit string C T in the form of MDC calculated by the formula C T ← (r 1 C T mod2 128 ) <32 < .
3. Преобразовать 64-битовую строку CT по формуле CT←(r2CT mod2128)<40<.3. Convert a 64-bit string C T according to the formula C T ← (r 2 C T mod2 128 ) <40 < .
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение CT взять в качестве выходного значения операции блочного шифрования ER, выполненной над вспомогательным 64-битовым блоком двоичных данных Т.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value C T as the output value of the block encryption operation E R performed on the auxiliary 64-bit block of binary data T.
После формирования вспомогательных криптограмм CM и CT, рассматривая их как 64-битовые МДЧ, формируют криптограмму C=C1||C2 путем решения следующей системы из двух линейных уравнений с неизвестными C1 и C2:After the formation of auxiliary cryptograms C M and C T , considering them as 64-bit MDCs, a cryptogram C = C 1 || C 2 is formed by solving the following system of two linear equations with unknown C 1 and C 2 :
Решением данной системы являются два МДЧ C1 и C2, которые объединяются в криптограмму C=C1||C2.The solution to this system are two MDC C 1 and C 2 , which are combined into a cryptogram C = C 1 || C 2 .
Доказательство корректности данного частного варианта реализации заявленного способа шифрования n-битового блока двоичных данных М доказывается аналогично описанному ранее общему доказательству корректности заявленного способа с учетом того, что для нечетных МДЧ q1, q2, r1, r2 по модулю 2128 существуют и легко вычисляются по расширенному алгоритму Евклида соответствующие обратные значения
1. Установить значение счетчика i←0 и переменной M←CM.1. Set the value of the counter i ← 0 and the variable M ← C M.
2. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М←М>40> и
3. Преобразовать 64-битовую строку М, выполняя последовательно вычисления по формулам М←М>32> и
4. Прирастить значение счетчика i:i←i+1. Если i<16, то перейти к шагу 2, в противном случае текущее значение М взять в качестве выходного значения операции DQ, выполненной над 64-битовой вспомогательной криптограммой CM.4. Increase the value of counter i: i ← i + 1. If i <16, then go to step 2, otherwise, take the current value of M as the output value of the operation D Q performed on the 64-bit auxiliary cryptogram C M.
Аналогично записывается процедура для реализации операции блочного расшифрования DR(CT), обратная операции блочного шифрования ER(T).Similarly, a procedure is written for implementing the block decryption operation D R (C T ), the inverse of the block encryption operation E R (T).
Рассмотренная частная реализация заявленного способа может быть применена для совместного шифрование двух сообщений Message и Text, каждое из которых, например, имеет размер 128 Кбайт. Сообщение Message разбивается на 128-битовые блоки данных M1, M2,…, Mw, где w=8000. Сообщение Text разбивается на 128-битовые блоки данных T1, T2,…, Tw. Поочередно для значений i=1, 2,…, 8000 пары блоков данных (Mi, Ti) совместно шифруются в соответствии с описанным примером реализации заявленного способа, в результате чего формируется шифртекст в виде последовательности 256-битовых криптограмм (C1||C2)i, i=1, 2,…, 8000.The considered private implementation of the claimed method can be used to jointly encrypt two Messages and Text messages, each of which, for example, has a size of 128 Kbytes. Message Message is divided into 128-bit data blocks M 1 , M 2 , ..., M w , where w = 8000. The Text message is split into 128-bit data blocks T 1 , T 2 , ..., T w . Alternately, for values i = 1, 2, ..., 8000, pairs of data blocks (M i , T i ) are jointly encrypted in accordance with the described implementation example of the claimed method, resulting in ciphertext in the form of a sequence of 256-bit cryptograms (C 1 || C 2 ) i , i = 1, 2, ..., 8000.
Приведенные примеры показывают, что заявляемый способ шифрования блока данных М, представленного в виде n-битовой строки, функционирует корректно, технически реализуем и позволяет решить поставленную задачу.The above examples show that the claimed method of encryption of a data block M, presented as an n-bit string, functions correctly, is technically feasible and allows us to solve the problem.
Заявляемый способ шифрования блока данных М, представленного в виде n-битовой строки, может быть применен для разработки средств комплексной защиты информации от несанкционированного доступа, обеспечивающих дополнительную защищенность информации за счет навязывания потенциальным злоумышленникам ложных сообщений. Данный способ также может быть применен для защищенной широковещательной рассылки сообщений с управлением доступа к сообщениям со стороны получателей при обеспечении идентичности процедуры расшифрования одной и той же криптограммы. Такие средства защищенной широковещательной рассылки сообщений решают задачу неотслеживаемости трафика при передаче информации по телекоммуникационным каналам.The inventive method of encrypting a data block M, represented as an n-bit string, can be used to develop means of comprehensive protection of information from unauthorized access, providing additional information security by imposing false messages to potential attackers. This method can also be used for secure broadcast messages with control of access to messages from the recipients while ensuring the identity of the decryption of the same cryptogram. Such means of secure broadcast messaging solve the problem of traffic non-tracking when transmitting information over telecommunication channels.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014112502/08A RU2542880C1 (en) | 2014-03-31 | 2014-03-31 | Method of encrypting binary data unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2014112502/08A RU2542880C1 (en) | 2014-03-31 | 2014-03-31 | Method of encrypting binary data unit |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2542880C1 true RU2542880C1 (en) | 2015-02-27 |
Family
ID=53289997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014112502/08A RU2542880C1 (en) | 2014-03-31 | 2014-03-31 | Method of encrypting binary data unit |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2542880C1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2103828C1 (en) * | 1997-02-10 | 1998-01-27 | Управление Федеральной службы безопасности России по Санкт-Петербургу и Ленинградской области | Method for block data encryption |
US7397916B2 (en) * | 2000-12-08 | 2008-07-08 | Cloakware Corporation | System and method for protecting computer software from a white box attack |
US7831827B2 (en) * | 2002-12-02 | 2010-11-09 | Silverbrook Research Pty Ltd | Authenticated communication between multiple entities |
RU2411666C1 (en) * | 2009-08-26 | 2011-02-10 | Николай Андреевич Молдовян | Method of coding |
RU2459275C1 (en) * | 2011-08-02 | 2012-08-20 | Николай Андреевич Молдовян | Method for unit coding of m message represented in binary form |
RU2459276C1 (en) * | 2011-08-12 | 2012-08-20 | Николай Андреевич Молдовян | Method for coding of m message represented as multidigit binary number |
RU2459367C2 (en) * | 2010-07-16 | 2012-08-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технологический университет "СТАНКИН" (ФГБОУ ВПО МГТУ "СТАНКИН") | Method to generate alternating key for unit coding and transfer of coded data |
-
2014
- 2014-03-31 RU RU2014112502/08A patent/RU2542880C1/en not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2103828C1 (en) * | 1997-02-10 | 1998-01-27 | Управление Федеральной службы безопасности России по Санкт-Петербургу и Ленинградской области | Method for block data encryption |
US7397916B2 (en) * | 2000-12-08 | 2008-07-08 | Cloakware Corporation | System and method for protecting computer software from a white box attack |
US7831827B2 (en) * | 2002-12-02 | 2010-11-09 | Silverbrook Research Pty Ltd | Authenticated communication between multiple entities |
RU2411666C1 (en) * | 2009-08-26 | 2011-02-10 | Николай Андреевич Молдовян | Method of coding |
RU2459367C2 (en) * | 2010-07-16 | 2012-08-20 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технологический университет "СТАНКИН" (ФГБОУ ВПО МГТУ "СТАНКИН") | Method to generate alternating key for unit coding and transfer of coded data |
RU2459275C1 (en) * | 2011-08-02 | 2012-08-20 | Николай Андреевич Молдовян | Method for unit coding of m message represented in binary form |
RU2459276C1 (en) * | 2011-08-12 | 2012-08-20 | Николай Андреевич Молдовян | Method for coding of m message represented as multidigit binary number |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102136904B1 (en) | Shared secret key generation device, encryption device, decryption device, shared secret key generation method, encryption method, decryption method, and program | |
KR101387799B1 (en) | Encryption method for message authentication | |
US20180205536A1 (en) | Stream cipher system | |
US20120314857A1 (en) | Block encryption device, block decryption device, block encryption method, block decryption method and program | |
Abusukhon et al. | A novel network security algorithm based on private key encryption | |
RU2459275C1 (en) | Method for unit coding of m message represented in binary form | |
RU2459276C1 (en) | Method for coding of m message represented as multidigit binary number | |
Reyad et al. | Key-based enhancement of data encryption standard for text security | |
Yap et al. | On the effective subkey space of some image encryption algorithms using external key | |
CN106941406B (en) | Identify-based encryption endorsement method, decryption sign test method and device thereof | |
CN109714154B (en) | Implementation method of white-box cryptographic algorithm under white-box security model with difficult code volume | |
Sakib | ANALYSIS ON FUNDAMENTAL ALGEBRAIC CONCEPTS AND INFORMATION SECURITY SYSTEM | |
Kumar et al. | A block cipher using rotation and logical XOR operations | |
Kumar et al. | Image encryption using simplified data encryption standard (S-DES) | |
Ooi et al. | Cryptanalysis of s-des | |
Nissar et al. | Implementation of security enhancement in AES by inducting dynamicity in AES s-box | |
Sultana et al. | Keyless lightweight encipher using homomorphic and binomial coefficients for smart computing applications | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
US20130058483A1 (en) | Public key cryptosystem and technique | |
RU2518950C1 (en) | METHOD OF ENCRYPTING n-BIT UNIT M | |
RU2542880C1 (en) | Method of encrypting binary data unit | |
Kuppuswamy et al. | Enrichment of security through cryptographic public key algorithm based on block cipher | |
RU2542929C1 (en) | Method to code data unit represented as bit string | |
JP2000004223A (en) | Encryption/authentication system | |
Djordjevic et al. | Conventional Cryptography Fundamentals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20210401 |