RU2127024C1 - Encrypting unit - Google Patents

Encrypting unit Download PDF

Info

Publication number
RU2127024C1
RU2127024C1 RU98111643/09A RU98111643A RU2127024C1 RU 2127024 C1 RU2127024 C1 RU 2127024C1 RU 98111643/09 A RU98111643/09 A RU 98111643/09A RU 98111643 A RU98111643 A RU 98111643A RU 2127024 C1 RU2127024 C1 RU 2127024C1
Authority
RU
Russia
Prior art keywords
bit
node
input
encryption
permutation
Prior art date
Application number
RU98111643/09A
Other languages
Russian (ru)
Other versions
RU98111643A (en
Inventor
А.С. Календарев
н А.А. Молдов
А.А. Молдовян
н Н.А. Молдов
Н.А. Молдовян
Н.В. Савлуков
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 RU98111643/09A priority Critical patent/RU2127024C1/en
Application granted granted Critical
Publication of RU2127024C1 publication Critical patent/RU2127024C1/en
Publication of RU98111643A publication Critical patent/RU98111643A/en

Links

Images

Abstract

FIELD: communication devices, computer engineering, in particular, cryptography. SUBSTANCE: device has W n-bit operation units, which are connected in series (W is not less than 2, n is even integer). Some operation units are designed as adders, others as permutation calculation units. Input of first operation unit serves as information input of device, which output is output of W-th operation unit. One of control inputs is another input of each adder. In addition at least one permutation calculation unit is designed as controlled permutation unit, which control input is connected to either one input of an adder or input of first operation unit. EFFECT: increased reliability of ENCRYPTING. 4 cl, 10 dwg

Description

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов и устройств для шифрования сообщений (информации). В совокупности признаков заявляемого способа используются следующие термины:
- секретный ключ представляет из себя комбинацию битов, известную только законному пользователю;
- ключ шифрования представляет из себя комбинацию битов, используемую при шифровании информационных сигналов данных; ключ шифрования является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; ключ шифрования формируется по детерминированным процедурам по секретному ключу; в ряде шифров в качестве ключа шифрования используется непосредственно секретный ключ;
- шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного электронного устройства;
- подключ представляет собой часть ключа шифрования, используемую на отдельных элементарных шагах шифрования;
- шифрование есть процесс, реализующий некоторый способ преобразования данных с использованием шифр-ключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без знания ключа шифрования практически невыполнимо;
- дешифрование есть процесс, обратный процедуре шифрования; дешифрование обеспечивает восстановление информации по криптограмме при знании ключа шифрования;
- криптостойкость является мерой надежности защиты информации и представляет собой трудоемкость, измеренную в количестве элементарных операций, которые необходимо выполнить для восстановления информации по криптограмме при знании алгоритма преобразования, но без знания ключа шифрования.
The invention relates to the field of telecommunications and computer technology, and more particularly to the field of cryptographic methods and devices for encrypting messages (information). In the aggregate of the features of the proposed method, the following terms are used:
- the secret key is a combination of bits known only to a legitimate user;
- the encryption key is a combination of bits used to encrypt information data signals; the encryption key is a removable cipher element and is used to convert a given message or a given set of messages; the encryption key is generated by deterministic procedures for the secret key; in a number of ciphers, the secret key is used directly as the encryption key;
- 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 electronic device;
- a subkey is a part of the encryption key used in individual elementary steps of encryption;
- encryption is a process that implements some way of converting data using a cipher key, converting data into a cryptogram, which is a pseudo-random sequence of characters from which obtaining information without knowing the encryption key is practically impossible;
- decryption is the opposite of the encryption process; decryption provides information recovery from the cryptogram with knowledge of the encryption key;
- cryptographic strength is a measure of the reliability of information protection and represents the complexity, measured in the number of elementary operations that must be performed to recover information from the cryptogram with knowledge of the conversion algorithm, but without knowledge of the encryption key.

Известны устройства шифрования, выполненные в виде механических машин и электромеханических устройств [В. Жельников. Криптография от папируса до компьютера. -М., ABF, 1996, 336 с.]. Кроме того, известны электронные устройства шифрования, реализующие способ шифрования, описанный в Российском стандарте криптографической защиты данных [Стандарт СССР ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования]. Устройство, реализующее Российский стандарт шифрования, включает в себя блок шифрования, состоящий из нескольких операционных узлов: сумматора по модулю 232, поразрядного сумматора по модулю 2, операционного узла, выполняющего циклический сдвиг влево на 11 бит, и операционного узла, выполняющего операцию подстановки.Known encryption devices made in the form of mechanical machines and electromechanical devices [V. Zhelnikov. Cryptography from papyrus to computer. -M., ABF, 1996, 336 p.]. In addition, electronic encryption devices are known that implement the encryption method described in the Russian standard for cryptographic data protection [USSR Standard GOST 28147-89. Information processing systems. Cryptographic protection. Cryptographic Transformation Algorithm]. A device that implements the Russian standard for encryption includes an encryption unit consisting of several operational nodes: an adder modulo 2 32 , a bit adder modulo 2, an operation unit performing a cyclic left shift of 11 bits, and an operation unit performing a substitution operation.

Наиболее близким по своей технической сущности к заявляемому блоку шифрования является блок шифрования, используемый в устройстве шифрования, реализующем способ шифрования в соответствии с американским федеральным стандартом DES [National Bureau of Standards. Data Encryption Standard. Federal 1nformation Processing Standards Publication 46, January 1977]. Данный способ включает в себя формирование секретного ключа, разбиениe входной информации, представленной в виде двоичного кода, на участки длиной по 64 бит, формированиe на их основе 64-битовых блоков данных и преобразованиe блоков под управлением секретного ключа. Перед преобразованием каждый блок данных разбивается на два 32-битовых подблока L и R, которые поочередно преобразуются путем выполнения 16 однотипных раундов преобразования. Один раунд преобразования заключается в выполнении операций расширения, подстановки, перестановки и суммирования по модулю 2, реализующих раундовую функцию шифрования над подблоком R, что записывается в виде формулы R:= F(R), где знак ": =" обозначает операцию присваивания, F - раундовая функция шифрования. Каждый раунд завершается перестановкой подблоков R и L:
T:=R,
R:=L,
L:=T.
The closest in technical essence to the claimed encryption block is the encryption block used in the encryption device that implements the encryption method in accordance with the US federal standard DES [National Bureau of Standards. Data Encryption Standard. Federal 1nformation Processing Standards Publication 46, January 1977]. This method includes generating a secret key, dividing the input information, presented in the form of a binary code, into sections of 64 bits in length, forming 64-bit data blocks on their basis and converting the blocks under the control of the secret key. Before the conversion, each data block is divided into two 32-bit subunits L and R, which are converted one by one by performing 16 transform rounds of the same type. One round of conversion consists in performing the operations of expansion, substitution, permutation, and summation modulo 2, realizing the round encryption function over the subunit R, which is written in the form of the formula R: = F (R), where the sign ": =" denotes the assignment operation, F - round encryption function. Each round ends with a permutation of the subunits R and L:
T: = R,
R: = L,
L: = T.

Устройство шифрования (УШ), реализующее стандарт шифрования DES, представлено в виде блок-схемы на фиг. 1 и содержит 64-разрядный информационный вход 1, состоящий из двух 32-разрядных информационных входов 1.а и 1.б, на которые подаются два 32-битовых подблока L и R, 64-разрядный выход 2, состоящий из двух 32-разрядных выходов 2.а и 2.б, с которых снимаются преобразованные 32-битовые подблоки L и R, управляющий вход 9, блок шифрования 3 (БШ), блок генерации раундового подключа (БГРП), блок управления БУ и управляющую шину 10. Блок шифрования содержит 32-разрядный информационный вход 3, 32-разрядный выход 4 и 80-разрядный управляющий вход 5, состоящий из 32-разрядного управляющего входа 5.1 и 48-разрядного входа 5.2. Информационный вход блока шифрования 6 соединен с информационным входом 1.б и выходом 2.а устройства шифрования. Выход блока шифрования 4 соединен с выходом 2.б устройства шифрования. Управляющий вход 5.1 блока шифрования соединен с входом 1. а устройства шифрования. Управляющий вход 5.2 блока шифрования соединен с выходом 7 блока генерации раундового ключа. Вход блока генерации раундового ключа 7 соединен с управляющим входом устройства шифрования 8. Блок генерации раундового ключа содержит вход 8, соединенный с управляющим входом 9 устройства шифрования, и выход 7. An encryption device (USH) implementing the DES encryption standard is shown in block diagram form in FIG. 1 and contains a 64-bit information input 1, consisting of two 32-bit information inputs 1.a and 1.b, to which two 32-bit subunits L and R are supplied, a 64-bit output 2, consisting of two 32-bit outputs 2.a and 2.b, from which the converted 32-bit subunits L and R are removed, control input 9, encryption block 3 (BS), round sub-block generation block (BGRP), control unit BU and control bus 10. Encryption block contains 32-bit information input 3, 32-bit output 4, and 80-bit control input 5, consisting of a 32-bit control 5.1 input and 48-bit input 5.2. The information input of the encryption unit 6 is connected to the information input 1.b and the output 2.a of the encryption device. The output of the encryption block 4 is connected to the output 2.b of the encryption device. The control input 5.1 of the encryption unit is connected to input 1. of the encryption device. The control input 5.2 of the encryption block is connected to the output 7 of the round key generation block. The input of the round key generation unit 7 is connected to the control input of the encryption device 8. The round key generation unit contains an input 8 connected to the control input of the encryption device, and an output 7.

Устройство шифрования (фиг. 1) работает следующим образом. На вход устройства шифрования подается 56-битовый ключ, который преобразуется в последовательность 48-битовых раундовых подключей Kr, r = 1, 2,..., 16. Для текущего r-го раунда на выходе блока генерации раундового ключа устанавливается двоичный код, соответствующий значению подключа Kr. Шифруемый 64-битовый блок данных B подается на вход устройства шифрования. Старшие 32 бита блока B, обозначаемые как подблок L, подаются на вход 1.а. Младшие 32 бита блока B, обозначаемые как подблок R, подаются на вход 1.б. Обозначим начальные значения подблоков индексом "0", а их значения после выполнения r-го раунда шифрования - индексом "r". Блок шифрования на r-ом раунде преобразует значение подблока Rr-1 в значение Rr = F(Rr-1, Kr), которое зависит от типа функции F и значения раундового подключа Kr. Выходное значение подблока L в текущем раунде устанавливается равным входному значению подблока R. Таким образом, устройство шифрования выполняет преобразование, которое может быть записано с помощью следующих итеративных формул:
Lr=Rr-1, (1)
Rr = F(Rr-1, Lr-1, Kr), (2)
где вычисление функции F от значения Rr-1 осуществляется блоком шифрования в зависимости значения Lr-1, подаваемого на вход 5.1, и значения Kr, подаваемого на вход 5.2. Блок управления синхронизирует работу блока генерации раундового подключа и блока шифрования и осуществляет контроль числа выполненных раундов преобразования. Если текущий номер раунда не равен 16, то блок управления текущие значения подблоков Lr и Rr на выходе устройства шифрования подает на вход устройства шифрования для выполнения следующего раунда. Значения L16 и R16 составляют выходной блок шифр-текста.
The encryption device (Fig. 1) works as follows. A 56-bit key is supplied to the input of the encryption device, which is converted into a sequence of 48-bit round connections K r , r = 1, 2, ..., 16. For the current rth round, a binary code is set at the output of the round key generation unit, corresponding to the subkey value K r . The encrypted 64-bit data block B is fed to the input of the encryption device. The high 32 bits of block B, denoted as sub block L, are fed to input 1.a. The lower 32 bits of block B, denoted as sub-block R, are fed to input 1.b. We denote the initial values of the sub-blocks by the index “0”, and their values after the rth round of encryption is completed, by the index “r”. The encryption block in the rth round converts the value of the subunit R r-1 to the value R r = F (R r-1 , K r ), which depends on the type of function F and the value of the round subkey K r . The output value of the subblock L in the current round is set equal to the input value of the subblock R. Thus, the encryption device performs the conversion, which can be written using the following iterative formulas:
L r = R r-1 , (1)
R r = F (R r-1 , L r-1 , K r ), (2)
where the calculation of the function F from the value of R r-1 is carried out by the encryption unit depending on the value of L r-1 supplied to the input 5.1, and the value of K r supplied to the input 5.2. The control unit synchronizes the operation of the generation block of the round subkey and the encryption block and monitors the number of completed conversion rounds. If the current round number is not 16, then the control unit sends the current values of the subunits L r and R r at the output of the encryption device to the input of the encryption device for the next round. The values of L 16 and R 16 constitute the output ciphertext block.

Блок шифрования представлен на фиг. 2 и содержит операционные узлы 3.1, 3.2, 3.3, 3.4 и 3.5. Информационный вход операционного узла 3.1 является информационным входом блока шифрования, а выход операционного узла 3.1 соединен с входом операционного узла 3.2. Выход операционного узла 3.2 соединен с информационным входом операционного узла 3.3 и т.д. Выход операционного узла 3.5 является выходом блока шифрования. Операционные узлы 3.2 и 3.5 содержат управляющие входы, соединенные с управляющими входами 5.1 и 5.2, соответственно. Операционный узел 3.1 выполняет процедуру расширения 32-битового подблока данных Rr-1 в 48-битовый подблок R'. Операционный узел 3.2 выполняет поразрядное суммирование по модулю 2 значения R' с подключом Kr и выдает на входе значение R″ = R′⊕ Kr, , где знак ⊕ обозначает операцию поразрядного суммирования по модулю 2. Операционный узел 3.3 выполняет операцию подстановки над 48-битовым значением R'' и заменяет его на 32-битовое значение R''' в соответствии с таблицами замены, приведенными в стандарте шифрования DES. Операционный узел 3.4 осуществляет перестановку битов двоичного значения R''' и выдает на выход преобразованное значение R*. Операционный узел 3.5 выполняет операцию поразрядного суммирования по модулю два над значением R*, подаваемым на его информационный вход, и значением Lr-1, подаваемым на его управляющий вход. Значение на выходе операционного узла 3.5 Rr = R*⊕ Lr-1 является значением функции F(Rr-1, Lr-1, Kr), вычисляемой блоком шифрования.The encryption block is shown in FIG. 2 and contains operational nodes 3.1, 3.2, 3.3, 3.4 and 3.5. The information input of the operation node 3.1 is the information input of the encryption block, and the output of the operation node 3.1 is connected to the input of the operation node 3.2. The output of the operation node 3.2 is connected to the information input of the operation node 3.3, etc. The output of the operational node 3.5 is the output of the encryption block. Operation nodes 3.2 and 3.5 contain control inputs connected to control inputs 5.1 and 5.2, respectively. The operation node 3.1 performs the procedure of expanding the 32-bit data subunit R r-1 into the 48-bit subunit R '. Operation node 3.2 performs bitwise summing modulo 2 of the value of R 'with subkey K r and outputs the value R ″ = R′⊕ K r , where the sign ⊕ denotes the operation of bitwise summation modulo 2. Operation node 3.3 performs the substitution operation over 48 -bit value of R '' and replaces it with a 32-bit value of R '''in accordance with the replacement tables given in the DES encryption standard. The operation node 3.4 performs the permutation of the bits of the binary value R ″ ″ and outputs the converted value R * . The operation node 3.5 performs a bitwise summing operation modulo two over the value R * supplied to its information input and the value L r-1 supplied to its control input. The value at the output of the operational node 3.5 R r = R * ⊕ L r-1 is the value of the function F (R r-1 , L r-1 , K r ) calculated by the encryption unit.

Устройство шифрования, осуществляющее шифрование в соответствии со стандартом DES, обладает высокой скоростью преобразований при реализации в виде специализированных электронных схем. An encryption device that performs encryption in accordance with the DES standard has a high conversion speed when implemented in the form of specialized electronic circuits.

Однако это устройство имеет недостатки, а именно оно не обеспечивает высокой криптостойкости к дифференциальному криптоанализу [Biham E., Shamir A. Differential Cryptanalysis of DES-like Cryptosystems//Journal of Cryptology, 1991, V. 4, N 1, p. 3-72]. Этот недостаток связан с тем, что все операционные узлы выполняют фиксированные операции преобразования для всех преобразуемых блоков данных. However, this device has disadvantages, namely, it does not provide high cryptographic resistance to differential cryptanalysis [Biham E., Shamir A. Differential Cryptanalysis of DES-like Cryptosystems // Journal of Cryptology, 1991, V. 4, No. 1, p. 3-72]. This drawback is due to the fact that all operational nodes perform fixed conversion operations for all converted data blocks.

В основу изобретения положена задача разработать блок шифрования, осуществляющий преобразования, зависящие от преобразуемого блока данных, благодаря чему повышается криптостойкость к дифференциальному криптоанализу. The basis of the invention is the task of developing an encryption block that implements transformations depending on the data block being converted, thereby increasing the cryptographic resistance to differential cryptanalysis.

Поставленная задача достигается тем, что в блоке шифрования, содержащем n-разрядный, где n - четное натуральное число, информационный вход, n-разрядный выход, m-разрядный управляющий вход и W≥2 операционных узлов, одноразрядные информационные входы первого операционного узла являются одноразрядными информационными входами блока шифрования, одноразрядные выходы V-го, где 1≤V≤W, операционного узла соединены с одноразрядными входами (V+1)-го операционного узла, одноразрядные выходы W-го операционного узла являются одноразрядными выходами блока шифрования, причем по крайней мере один операционный узел содержит одноразрядные управляющие входы, соединенные с одноразрядными управляющими входами блока шифрования, новым согласно изобретению является то, что по крайней мере один операционный узел выполнен в виде узла управляемых перестановок, одноразрядные управляющие входы которого соединены с одноразрядными входами блока шифрования. The problem is achieved in that in an encryption block containing n-bit, where n is an even integer, information input, n-bit output, m-bit control input and W≥2 operating nodes, one-bit information inputs of the first operational node are single-bit information inputs of the encryption block, the single-bit outputs of the Vth, where 1≤V≤W, of the operating node are connected to the single-bit inputs of the (V + 1) -th operating node, the single-bit outputs of the Wth operational node are single-bit outputs of the block encryption, and at least one operational node contains one-bit control inputs connected to one-bit control inputs of the encryption block, new according to the invention is that at least one operational node is made in the form of a node of controlled permutations, one-bit control inputs of which are connected to single-bit inputs encryption block.

Благодаря такому решению блок шифрования осуществляет над подблоком данных операции перестановок, которые зависят от входного блока данных, благодаря чему обеспечивается повышение стойкости шифрования к дифференциальному криптоанализу. Thanks to this solution, the encryption block performs permutation operations on the data subblock, which depend on the input data block, thereby increasing the encryption resistance to differential cryptanalysis.

Новым является также то, что узел управляемых перестановок выполнен в виде матрицы элементарных переключателей, каждый из которых содержит схему коммутации, первый и второй одноразрядные информационные входы, первый и второй одноразрядные выходы и одноразрядный управляющий вход, причем матрица содержит n-1 строку, j-я, где j = 1,2,3,...,n-1, строка содержит n-j элементарных переключателей, управляющие одноразрядные входы которых соединены с управляющими одноразрядными входами узла управляемых перестановок, первый одноразрядный информационный вход которого соединен с первым одноразрядным информационным входом первого элементарного переключателя в первой строке матрицы, остальные n-1 одноразрядных информационных входов узла управляемых перестановок соединены поразрядно со вторыми одноразрядными информационными входами элементарных переключателей первой строки, первый одноразрядный информационный вход первого элементарного переключателя j-й, где j ≠ 1, строки соединен со вторым одноразрядным выходом первого элементарного переключателя (j-1)-й строки, в j-й, где j ≠ n - 1 строке матрицы первый одноразрядный информационный вход i-го, где 1 < i ≤ n-j, элементарного переключателя соединен с первым одноразрядным выходом (i-1)-го элементарного переключателя этой строки, в j-й, где j ≠ 1 строке матрицы второй одноразрядный информационный вход i-го элементарного переключателя соединен со вторым одноразрядным выходом (i+1)-го элементарного переключателя (j-1)-й строки, первый одноразрядный выход (n-j)-го элементарного переключателя соединен с j-м одноразрядным выходом узла управляемых перестановок, второй одноразрядный выход переключателя (n-1)-й строки соединен с последним одноразрядным выходом узла управляемых перестановок. Also new is the fact that the controlled permutation node is made in the form of a matrix of elementary switches, each of which contains a switching circuit, first and second one-bit information inputs, first and second one-bit outputs, and a one-bit control input, and the matrix contains n-1 row, j- i, where j = 1,2,3, ..., n-1, the line contains nj elementary switches, the control single-bit inputs of which are connected to the control single-bit inputs of the node of controlled permutations, the first one-bit information in the path of which is connected to the first single-bit information input of the first elementary switch in the first row of the matrix, the remaining n-1 single-bit information inputs of the managed permutation node are connected bitwise to the second single-bit information inputs of the elementary switches of the first row, the first single-bit information input of the first elementary switch is j-th, where j ≠ 1, lines connected to the second single-bit output of the first elementary switch of the (j-1) -th line, in the j-th, where j ≠ n - 1 line m the first one-bit information input of the i-th, where 1 <i ≤ nj, of the elementary switch is connected to the first single-bit output of the (i-1) -th elementary switch of this row, in the jth, where j ≠ 1 row of the matrix is the second one-bit information input the i-th elementary switch is connected to the second single-bit output of the (i + 1) -th elementary switch of the (j-1) -th line, the first single-bit output of the (nj) -th elementary switch is connected to the jth single-bit output of the controlled permutation node, the second single-digit output switch STUDIO (n-1) th row is connected with the last one-bit output node controlled permutations.

Благодаря такому решению узел управляемых перестановок может осуществить любую из n! возможных перестановок при соответствующем коде управляющего сигнала. Thanks to this solution, the node of controlled permutations can implement any of n! possible permutations with the corresponding control signal code.

Новым является также то, что в каждую j-ю, где j = 1, 2,..., n/2, строку узла управляемых перестановок введен дешифратор, одноразрядные выходы которого соединены с одноразрядными управляющими входами элементарных переключателей в соответствующих строках, одноразрядные входы дешифраторов соединены поразрядно с одноразрядными управляющими входами узла управляемых перестановок. Also new is the fact that in each j-th, where j = 1, 2, ..., n / 2, a line of the controlled permutation node is introduced a decoder, the single-bit outputs of which are connected to the single-bit control inputs of elementary switches in the corresponding lines, single-bit inputs the decoders are connected bitwise with single-bit control inputs of the controlled permutation node.

Благодаря такому решению сокращается число одноразрядных управляющих входов узла управляемых перестановок. Thanks to this solution, the number of single-bit control inputs of the controlled permutation node is reduced.

Ниже сущность заявляемого изобретения более подробно разъясняется примерами его осуществления со ссылками на прилагаемые чертежи. Below the essence of the claimed invention is explained in more detail by examples of its implementation with reference to the accompanying drawings.

На фиг. 1 представлена блок-схема устройства шифрования, реализующего способ шифрования стандарта DES. In FIG. 1 is a block diagram of an encryption device implementing a DES standard encryption method.

На фиг. 2 схематично представлена структура блока шифрования, выполняющего раундовые шифрующие преобразования по способу шифрования стандарта DES. In FIG. 2 schematically shows the structure of an encryption block performing round encryption transformations using the DES standard encryption method.

На фиг. 3 представлена функциональная схема узла управляемых перестановок. In FIG. 3 shows a functional diagram of a managed permutation node.

На фиг. 4 представлена функциональная схема узла управляемых перестановок с использованием дешифраторов. In FIG. 4 is a functional diagram of a controlled permutation node using decoders.

На фиг. 5 схематично представлен элементарный переключатель блок-схема узла управляемых перестановок (а), таблица коммутации (б) и таблица обозначений внешних выводов (в). In FIG. 5 a schematic representation of an elementary switch is a block diagram of a controlled permutation node (a), a switching table (b), and a table of designations of external outputs (c).

На фиг. 6 представлена функциональная схема блока шифрования, включающая узел управляемых перестановок. In FIG. 6 is a functional diagram of an encryption block including a managed permutation node.

На фиг. 7 представлена блок-схема устройства шифрования на основе блока шифрования примера 1. In FIG. 7 is a block diagram of an encryption device based on the encryption block of Example 1.

На фиг. 8 представлена функциональная схема блока шифрования, включающая два узла управляемых перестановок. In FIG. 8 is a functional diagram of an encryption block including two nodes of controlled permutations.

Узел управляемых перестановок, представленный функциональной схемой на фиг. 3, включает матрицу элементарных переключателей, которая обеспечивает коммутацию заданного входного и заданного выходного разряда. Функциональная схема элементарного переключателя (фиг. 4 (а)) приведена в книге [Каляев А. В. Микропроцессорные системы с программируемой архитектурой. М.: Радио и связь, 1984, с. 219, рис. 6.51]. Таблица истинности и цоколевка элементарного переключателя приведены в таблицах (б) и (в) на фиг. 4. Управляемые перестановки осуществляются в зависимости от значений управляющих входов элементарных переключателей. Каждый элементарный переключатель обеспечивает поразрядную или перекрестную коммутацию двух входных информационных одноразрядных каналов и двух выходных одноразрядных каналов и работает в соответствии с таблицей истинности (таблица (б) на фиг. 4). При нулевом значении управляющего одноразрядного входа (U=0) происходит поразрядная коммутация информационных входных и выходных каналов: X1 - Y1 и X2 - Y2; при единичном значении управляющего входа (U= 1) происходит перекрестная коммутация информационных входных и выходных каналов X1 - Y2 и X2 - Y1. Элементарные переключатели в матрице соединены таким образом, что одноразрядные информационные входы i.l, где l = 1,2,...,n, узла управляемых перестановок коммутируются с одноразрядными выходами o.l, где l = 1,2,...,n, узла управляемых перестановок, причем конкретная коммутация определяется значениями всей совокупности управляющих одноразрядных входов u.k узла управляемых перестановок, которыми являются управляющие одноразрядные входы U элементарных переключателей S. Число управляющих одноразрядных входов узла управляемых перестановок равно числу элементарных переключателей в матрице и составляет n(n-1)/2. Поскольку число управляющих одноразрядных входов узла управляемых перестановок больше разрядности управляющего входа блока шифрования, то к одному разряду управляющего входа блока шифрования соединены многие разряды управляющего входа узла управляемых перестановок. Конкретное соединение задает конкретную зависимость операции перестановки битов, выполняемую над подблоком данных R в зависимости от подблока данных L и подключа K. Таким образом, каждая строка L.j, где j = 1,2,...,n-1, матрицы формирует значение соответствующего одноразрядного выхода узла управляемых перестановок. Последняя (n-1)-я строка формирует значения на одноразрядных выходах o.(n-1) и o. n. Каждой строке соответствует группа одноразрядных управляющих входов u.k узла управляемых перестановок. Число элементарных переключателей в строке L. j равно n-j, что задает число управляющих одноразрядных входов u.k, соответствующих данной строке. The controlled permutation node represented by the functional diagram in FIG. 3, includes a matrix of elementary switches, which provides switching of a given input and a given output discharge. The functional diagram of the elementary switch (Fig. 4 (a)) is given in the book [A. Kalyaev. Microprocessor systems with programmable architecture. M .: Radio and communications, 1984, p. 219, fig. 6.51]. The truth table and the pinout of the elementary switch are shown in tables (b) and (c) in FIG. 4. Controlled permutations are carried out depending on the values of the control inputs of elementary switches. Each elementary switch provides bitwise or cross-switching of two input information single-bit channels and two output single-bit channels and operates in accordance with the truth table (table (b) in Fig. 4). With a zero value of the control single-bit input (U = 0), bitwise switching of information input and output channels occurs: X1 - Y1 and X2 - Y2; at a single value of the control input (U = 1) there is a cross-switching of information input and output channels X1 - Y2 and X2 - Y1. The elementary switches in the matrix are connected in such a way that the single-bit information inputs il, where l = 1,2, ..., n, of the controlled permutation node are switched with the single-bit outputs ol, where l = 1,2, ..., n, of the node controlled permutations, and the particular switching is determined by the values of the entire set of control one-bit inputs uk of the node of controlled permutations, which are the control one-bit inputs U of elementary switches S. The number of control one-bit inputs of the node of controlled permutations is equal to the number Elementary switches in the matrix and is n (n-1) / 2. Since the number of control single-bit inputs of the managed permutation node is greater than the bit width of the control input of the encryption block, many bits of the control input of the controlled permutation node are connected to one bit of the control input of the encryption block. A particular connection defines a specific dependence of the bit swapping operation performed on the data sub-block R depending on the data sub-block L and subkey K. Thus, each row Lj, where j = 1,2, ..., n-1, of the matrix forms the value of the corresponding single-bit output node managed permutations. The last (n-1) -th line forms the values at the single-bit outputs o. (N-1) and o. n Each row corresponds to a group of one-bit control inputs u.k of the node of controlled permutations. The number of elementary switches in the line L. j is equal to n-j, which sets the number of control single-bit inputs u.k corresponding to this line.

С целью сокращения числа управляющих одноразрядных входов узла управляемых перестановок могут быть введены двоично-n-ричные дешифраторы D.h, где h = 1,2,...,(n-2)/2, одноразрядные входы которых являются управляющими одноразрядными входами узла управляемых перестановок, а одноразрядные выходы которых соединены с группой одноразрядных управляющих входов соответствующих двух строк (h-й и (n-h)-й строк) элементарных переключателей (см. фиг. 5). Одноразрядные входы строки с номером h соединены поразрядно с n-h выходами дешифратора D.h. Оставшиеся h одноразрядных выхода этого дешифратора соединены поразрядно с одноразрядными управляющими входами (n-h)-й строки, число которых равно h. В строку с номером n/2 вводится двоично-(n/2)-ричный дешифратор, n/2 одноразрядных выхода которого соединены поразрядно с управляющими одноразрядными входами соответствующих элементарных переключатели строки с номером n/2. В зависимости от кодовой комбинации значений их одноразрядных входов устанавливается единичное значение только на одном из его одноразрядных выходов, а на остальных его выходах устанавливается нулевое значение. Благодаря тому, что число одноразрядных входов дешифратора существенно меньше числа его одноразрядных выходов существенно сокращается число управляющих одноразрядных входов узла управляемых перестановок. Например, для n=32 могут быть использованы 15 двоично-тридцатидвухричных дешифраторов с пятиразрядным входом и один двоично-шестнадцатиричный дешифратор (с четырехразрядным входом), входы которых составляют 79-разрядный управляющий вход узла управляемых перестановок, что значительно меньше разрядности этого узла без использования дешифраторов (в последнем случае число управляющих одноразрядных входов составляет n(n-1)/2=491). In order to reduce the number of control single-bit inputs of the controlled permutation node, binary-n-binary decoders Dh can be introduced, where h = 1,2, ..., (n-2) / 2, the single-bit inputs of which are the control single-bit inputs of the controlled permutation node , and the one-bit outputs of which are connected to a group of one-bit control inputs of the corresponding two lines (h-th and (nh) -th lines) of elementary switches (see Fig. 5). The single-bit inputs of the line with the number h are connected bitwise with the n-h outputs of the D.h. decoder. The remaining h single-bit outputs of this decoder are connected bitwise with single-bit control inputs of the (n-h) -th line, the number of which is equal to h. A binary (n / 2) decryptor is introduced into the line with the number n / 2, the n / 2 single-bit outputs of which are connected bitwise to the control single-bit inputs of the corresponding elementary switches of the line with the number n / 2. Depending on the code combination of the values of their single-bit inputs, a single value is set only on one of its single-bit outputs, and on the other outputs it is set to zero. Due to the fact that the number of single-bit inputs of the decoder is significantly less than the number of its single-bit outputs, the number of control single-bit inputs of the node of controlled permutations is significantly reduced. For example, for n = 32, 15 binary-thirty-two-decryptor decoders with a five-bit input and one binary-hexadecimal decoder (with a four-bit input) can be used, the inputs of which make up the 79-bit control input of the controlled permutation node, which is significantly less than the bit capacity of this node without the use of decoders (in the latter case, the number of control single-bit inputs is n (n-1) / 2 = 491).

Рассмотрим конкретные примеры реализации блока шифрования с использованием узла управляемых перестановок. Consider specific examples of the implementation of an encryption block using a managed permutation node.

Пример 1. Example 1

Данный пример поясняется на фиг. 6, где представлена функциональная схема блока шифрования с одним узлом управляемых перестановок Р. Блок шифрования включает операционные узлы 3.1, 3.2 и 3.3. Операционный узел 3.1 выполняет операцию суммирования по модулю 2" над n-битовым подблоком данных Rr-1 и раундовым n-битовым подключом Kr, вырабатывая на выходе n-разрядный подблок данных R'= (Rr-1 + Kr) mod 2n. Операционный узел 3.2 выполняет операцию перестановки битов n-разрядного подблока данных R' в зависимости от значения подблока данных Lr-1, вырабатывая на выходе подблок данных

Figure 00000002
Операционный узел 3.3 выполняет операцию поразрядного суммирования по модулю 2 над n-битовым подблоком данных R'' и n-битовым подблоком данных Lr-1, вырабатывая на выходе n-разрядное значение Rr = R″⊕ Lr-1. Последовательное выполнение операций, задаваемых узлами 3.1, 3.2 и 3.3, определяет раундовую функцию шифрования
Rr = F(Rr-1,Lr-1,Kr),
которая осуществляется устройством шифрования Q раз, где Q - число раундов преобразования. Данный блок шифрования может быть использован, например, в составе устройства, показанного на фиг. 7, где использованы обозначения такие же, как и для фиг. 1. В этом случае шифрование осуществляется в соответствии со следующими итеративными соотношениями:
Rr = Lr-1
Lr = F(Rr-1,Lr-1,Kr).This example is illustrated in FIG. 6, which shows a functional diagram of an encryption block with one managed permutation node P. The encryption block includes operational nodes 3.1, 3.2, and 3.3. The operation node 3.1 performs a modulo 2 "summation operation on the n-bit data sub-block R r-1 and the round n-bit sub-block K r , generating an n-bit data sub-block R '= (R r-1 + K r ) mod 2 n . The operation node 3.2 performs the operation of the permutation of the bits of the n-bit data subunit R 'depending on the value of the data subunit L r-1 , generating an output subunit
Figure 00000002
The operation node 3.3 performs the operation of bitwise summation modulo 2 over the n-bit data subunit R ″ and the n-bit data subunit L r-1 , generating an n-bit value R r = R ″ ⊕ L r-1 at the output. The sequential execution of operations specified by nodes 3.1, 3.2 and 3.3 determines the round encryption function
R r = F (R r-1 , L r-1 , K r ),
which is carried out by the encryption device Q times, where Q is the number of conversion rounds. This encryption block can be used, for example, as part of the device shown in FIG. 7, where the notation used is the same as for FIG. 1. In this case, encryption is carried out in accordance with the following iterative relationships:
R r = L r-1
L r = F (R r-1 , L r-1 , K r ).

Пример 2. Example 2

Этот пример реализации блока шифрования представлен на фиг. 8, где операционный узел 3.1 выполняет перестановку битов подблока данных Rr-1 в зависимости от значения раундового подключа Kr, операционный узел 3.2 представляет собой поразрядный сумматор по модулю 2, операционный узел 3.3 представляет собой узел управляемых перестановок, осуществляемых в зависимости значения подблока Rr-1, операционный узел 3.4 представляет собой сумматор по модулю 2n. Раундовая функция шифрования Rr = F(Rr-1,Lr-1,Kr), задаваемая блоком шифрования, показанным на фиг. 7, описывается следующей последовательностью преобразований:

Figure 00000003

R″ = R′⊕ Kr,
Figure 00000004

Rr = (R'''+Lr-1)mod2n
Блок шифрования, рассмотренный в примере 2 может быть использован, например, в составе устройства шифрования, показанного на фиг. 1 и осуществляющего шифрование в соответствии с итеративными соотношениями (1) и (2).This example implementation of an encryption block is shown in FIG. 8, where the operation node 3.1 performs the permutation of the bits of the data sub-block R r-1 depending on the value of the round subkey K r , the operation node 3.2 is a bitwise adder modulo 2, the operation node 3.3 is the managed permutation node depending on the value of the sub-block R r-1 , operating unit 3.4 is an adder modulo 2 n . The round encryption function R r = F (R r-1 , L r-1 , K r ) defined by the encryption block shown in FIG. 7 is described by the following sequence of transformations:
Figure 00000003

R ″ = R′⊕ K r ,
Figure 00000004

R r = (R '''+ L r-1 ) mod2 n
The encryption block described in Example 2 can be used, for example, as part of the encryption device shown in FIG. 1 and performing encryption in accordance with the iterative relations (1) and (2).

Приведенные примеры показывают, что предлагаемый блок шифрования технически реализуем и позволяет решить поставленную задачу. The above examples show that the proposed encryption block is technically feasible and allows you to solve the problem.

Заявляемый блок шифрования может быть реализован, например, в специализированных криптографических микропроцессорах, обеспечивающих скорость шифрования до 1 Гбит/с, достаточную для шифрования в масштабе реального времени данных, передаваемых по скоростным оптоволоконным каналам связи. The inventive encryption block can be implemented, for example, in specialized cryptographic microprocessors providing an encryption speed of up to 1 Gbit / s, sufficient for real-time encryption of data transmitted via high-speed fiber-optic communication channels.

Claims (4)

1. Блок шифрования, содержащий W ≥ 2 n-разрядных, где n - четное натуральное число, последовательно соединенных операционных узлов, одни из которых выполнены в виде сумматоров, а другие - в виде узлов перестановок, причем вход первого операционного узла является информационным входом блока шифрования, выход W-го операционного узла является выходом блока шифрования, другой вход каждого из сумматоров является одним из управляющих входов блока шифрования, отличающийся тем, что по крайней мере один узел перестановок выполнен в виде узла управляемых перестановок, управляющий вход которого соединен с одним из входов одного из сумматоров. 1. An encryption block containing W ≥ 2 n-bit, where n is an even natural number of consecutively connected operating nodes, some of which are made in the form of adders, and others are in the form of permutation nodes, the input of the first operational node being the information input of the block encryption, the output of the Wth operational node is the output of the encryption block, the other input of each of the adders is one of the control inputs of the encryption block, characterized in that at least one permutation node is made in the form of a control node th permutation control input of which is connected to one input of one of the adders. 2. Блок шифрования, содержащий W ≥ 2 n-разрядных, где n - четное натуральное число, последовательно соединенных операционных узлов, одни из которых выполнены в виде сумматоров, а другие - в виде узлов перестановок, причем вход первого операционного узла является информационным входом блока шифрования, выход W-го операционного узла является выходом блока шифрования, другой вход каждого из сумматоров является одним из управляющих входов блока шифрования, отличающийся тем, что по крайней мере один узел перестановок выполнен в виде узла управляемых перестановок, управляющий вход которого соединен со входом первого операционного узла. 2. An encryption block containing W ≥ 2 n-bit, where n is an even natural number of operating nodes connected in series, some of which are made in the form of adders, and others are in the form of permutation nodes, the input of the first operational node being the information input of the block encryption, the output of the Wth operational node is the output of the encryption block, the other input of each of the adders is one of the control inputs of the encryption block, characterized in that at least one permutation node is made in the form of a control node th permutation control input of which is connected to the input of the first operational unit. 3. Блок шифрования по п.1 или 2, отличающийся тем, что узел управляемых перестановок выполнен в виде матрицы элементарных переключателей, содержащей n - 1 строку, j-я, где j = 1, 2, 3, ..., n - 1, строка содержит n - j элементарных переключателей, управляющие одноразрядные входы которых являются управляющими одноразрядными входами узла управляемых перестановок, первый одноразрядный информационный вход которого является первым одноразрядным информационным входом первого элементарного переключателя первой строки, остальные n - 1 одноразрядных информационных входов узла управляемых перестановок являются вторыми одноразрядными информационными входами элементарных переключателей первой строки, первый одноразрядный информационный вход первого элементарного переключателя j-й, где j ≠ 1, строки является вторым одноразрядным выходом первого элементарного переключателя (j - 1)-й строки, первый одноразрядный информационный вход i-го, где 1 < i ≤ n - j, элементарного переключателя j-й, где j ≠ n - 1, строки является первым одноразрядным выходом (i - 1)-го элементарного переключателя этой строки, второй одноразрядный информационный вход i-го элементарного переключателя j-й, где j ≠ 1, строки является вторым одноразрядным выходом (i + 1)-го элементарного переключателя (j - 1)-й строки, первый одноразрядный выход (n - j)-го элементарного переключателя j-й строки является j-ым одноразрядным выходом узла управляемых перестановок, второй одноразрядный выход переключателя (n - 1)-й строки является n-ым одноразрядным выходом узла управляемых перестановок. 3. The encryption block according to claim 1 or 2, characterized in that the controlled permutation node is made in the form of a matrix of elementary switches containing n - 1 row, j-th, where j = 1, 2, 3, ..., n - 1, the line contains n - j elementary switches, the single-bit control inputs of which are the single-bit control inputs of the controlled permutation node, the first single-bit information input of which is the first single-bit information input of the first elementary switch of the first line, the remaining n - 1 single-bit information of the inputs of the controlled permutation node are the second one-bit information inputs of the elementary switches of the first row, the first one-bit information input of the first elementary switch of the jth, where j ≠ 1, the line is the second one-bit output of the first elementary switch of the (j - 1) -th line, the first one-bit information input of the i-th, where 1 <i ≤ n - j, of the elementary switch j-th, where j ≠ n - 1, of the line is the first single-bit output of the (i - 1) -th elementary switch of this line, the second one bit information input of the i-th elementary switch j-th, where j ≠ 1, the line is the second single-bit output of the (i + 1) -th elementary switch (j - 1) -th line, the first one-bit output of the (n - j) -th the j-th row elementary switch is the j-th single-bit output of the controlled permutation node, the second one-bit output of the (n - 1) -th row switch is the n-th single-bit output of the controlled permutation node. 4. Блок шифрования по п.1, отличающийся тем, что в каждую j-ю, где j =1, 2, ..., n/2, строку узла управляемых перестановок введен дешифратор, одноразрядные выходы которого являются одноразрядными управляющими входами элементарных переключателей в соответствующих строках, одноразрядные входы дешифраторов являются одноразрядными управляющими входами узла управляемых перестановок. 4. The encryption block according to claim 1, characterized in that in each j-th, where j = 1, 2, ..., n / 2, a line of the controlled permutation node is introduced a decoder, the one-bit outputs of which are single-bit control inputs of elementary switches in the corresponding lines, the single-bit inputs of the decoders are single-bit control inputs of the node of controlled permutations.
RU98111643/09A 1998-06-18 1998-06-18 Encrypting unit RU2127024C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU98111643/09A RU2127024C1 (en) 1998-06-18 1998-06-18 Encrypting unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU98111643/09A RU2127024C1 (en) 1998-06-18 1998-06-18 Encrypting unit

Publications (2)

Publication Number Publication Date
RU2127024C1 true RU2127024C1 (en) 1999-02-27
RU98111643A RU98111643A (en) 1999-04-20

Family

ID=20207429

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98111643/09A RU2127024C1 (en) 1998-06-18 1998-06-18 Encrypting unit

Country Status (1)

Country Link
RU (1) RU2127024C1 (en)

Similar Documents

Publication Publication Date Title
EP0618701B1 (en) Hardware arrangement for enciphering bit blocks while renewing a key at each iteration
US5365588A (en) High speed encryption system and method
US5623548A (en) Transformation pattern generating device and encryption function device
KR100806468B1 (en) Data conversion device and data conversion method
US6014446A (en) Apparatus for providing improved encryption protection in a communication system
KR101564601B1 (en) Cryptographic methods and devices for the pseudo-random generation of data encryption and cryptographic hashing of a message
EP0913964A2 (en) A method of and an apparatus for generating internal crypto-keys
JPH10240500A (en) Random number generator and method, enciphering device and method, decoder and method and stream cipher system
EP1059760A1 (en) Method for the block-encryption of discrete data
RU2141729C1 (en) Method for encrypting of binary data units
JP2000209195A (en) Cipher communication system
RU2103828C1 (en) Method for block data encryption
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
RU2127024C1 (en) Encrypting unit
RU2140715C1 (en) Ciphering unit
RU2206961C2 (en) Method for iterative block encryption of binary data
RU2359415C2 (en) Method for cryptographic transformation of digital data units
KR100350207B1 (en) Method for cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks
JP3473171B2 (en) Sequential encryption
RU2186467C2 (en) Method for iterative block encryption
RU2309549C2 (en) Method for cryptographic transformation of digital data
RU2199826C2 (en) Method for iterative encoding of digital data blocks
JPH10153954A (en) Ciphering device
JPH1152850A (en) Device and method for cipher conversion
RU2140716C1 (en) Method for cryptographic conversion of digital data blocks

Legal Events

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

Effective date: 20060619