RU2140715C1 - Ciphering unit - Google Patents

Ciphering unit Download PDF

Info

Publication number
RU2140715C1
RU2140715C1 RU98111642/09A RU98111642A RU2140715C1 RU 2140715 C1 RU2140715 C1 RU 2140715C1 RU 98111642/09 A RU98111642/09 A RU 98111642/09A RU 98111642 A RU98111642 A RU 98111642A RU 2140715 C1 RU2140715 C1 RU 2140715C1
Authority
RU
Russia
Prior art keywords
bit
input
node
encryption
output
Prior art date
Application number
RU98111642/09A
Other languages
Russian (ru)
Other versions
RU98111642A (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 RU98111642/09A priority Critical patent/RU2140715C1/en
Application granted granted Critical
Publication of RU2140715C1 publication Critical patent/RU2140715C1/en
Publication of RU98111642A publication Critical patent/RU98111642A/en

Links

Images

Abstract

FIELD: electrical communications and computer engineering. SUBSTANCE: unit has at least one exchange data assembly and W г 2 n-bit series-connected adders, where n is even natural number; first input of first adder is data input of ciphering unit; output of W-th adder is ciphering unit output; novelty is that exchange data assembly is, essentially, controlled exchange data assembly whose data input functions as control input of ciphering unit; output of controlled exchange data assembly is second input of P-th adder, where 1г P г W; control input of controlled exchange data assembly is connected to first input of G-th adder, where 1 г G г W. EFFECT: improved cryptographic stability to differential cryptoanalysis. 3 cl, 7 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 cryptographic 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 encryption standard includes an encryption block consisting of several operational nodes: an adder modulo 2 32 , a bit adder modulo 2, an operation node performing a cyclic left shift of 11 bits, and an operation node performing a substitution operation.

Наиболее близким по своей технической сущности к заявляемому шифрующему блоку является шифрующий блок, используемый в устройстве шифрования, реализующем способ шифрования в соответствии с американским федеральным стандартом DES [National Bureau of Standards. Data Encryption Standard. Federal Information Processing Standards Punlication 46, January 1977]. Данный способ включает в себя формирование секретного ключа, разбиение входной информации, представленной в виде двоичного кода, на участки длиной по 64 бит, формирование на их основе 64-битовых блоков данных и преобразование блоков под управлением секретного ключа. Перед преобразованием каждый блок данных разбивается на две 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 Information Processing Standards Punlication 46, January 1977]. This method includes generating a secret key, splitting the input information, presented in the form of a binary code, into sections of 64 bits in length, generating 64-bit data blocks based on them, 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 expansion, substitution, permutation, and summation modulo 2 operations that implement the round encryption function over the R subunit, 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.

Устройство шифрования (VIII), реализующее стандарт шифрования DES, представлено в виде блок-схемы на фиг. 1 и содержит 64-разрядный информационный вход 1, состоящий из двух 32-разрядных информационных входов 1.а и 1.б, на которые подаются два 32-битовых подблока L и R, 64-разрядный выход 2, состоящий из двух 32-разрядных выходов 2.а и 2.б, с которых снимаются преобразованные 32-битовые подблоки L и R, управляющий вход 9, шифрующий блок 3 (ШБ), блок генерации раундового подключа (БГРП), блок управления БУ и управляющую шину 10. Шифрующий блок содержит 32-разрядный информационный вход 6, 32-разрядный выход 4 и 80-разрядный управляющий вход 5, состоящий из 32-разрядного управляющего входа 5.1 и 48-разрядного управляющего входа 5.2. Информационный вход шифрующего блок 6 соединен с информационным входом 1.б и выходом 2. а устройства шифрования. Выход шифрующего блока 4 соединен с выходом 2.б устройства шифрования. Управляющий вход 5.1 шифрующего блока соединен с входом 1.а устройства шифрования. Управляющий вход 5.2 шифрующего блока соединен с выходом 7 блока генерации раундового ключа. Вход блока генерации раундового ключа 8 соединен с управляющим входом устройства шифрования 9. An encryption device (VIII) 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 (SB), round plug generation block (BGRP), control unit BU and control bus 10. Encryption block contains 32-bit information input 6, 32-bit output 4 and 80-bit control input 5, consisting of 32-bit control 5.1 input and 48-bit control 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 unit 4 is connected to the output 2.b of the encryption device. The control input 5.1 of the encryption unit is connected to the input 1.a of the encryption device. The control input 5.2 of the encryption unit is connected to the output 7 of the round key generation unit. The input of the round key generating unit 8 is connected to the control input of the encryption device 9.

Устройство шифрования (фиг. 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 value of the subkey K r . The encrypted 64-bit data block B is fed to the input of the encryption device. Older than 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 subunit L in the current round is set equal to the input value of subunit R. Thus, the encryption device performs the following 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 block 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 unit 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(Rк-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 operation 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 '. The operation node 3.2 performs bitwise summation modulo 2 of the value R 'with the subkey K r and outputs the value R ″ = R′⊕ K r , where the sign ⊕ denotes the operation of bitwise summation modulo 2. The operation node 3.3 performs the substitution operation over 48- bit value R '' and replace it with a 32-bit value 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 operation node 3.5 R r = R * ⊕ L r-1 is the value of the function F (R k-1 , L r-1 , K r ) calculated by the encryption block.

Устройство шифрования, осуществляющее шифрование в соответствии со стандартом 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. pp. 3-72]. Этот недостаток связан с тем, что все операционные узлы выполняют фиксированные операции преобразования для всех преобразуемых блоков данных. However, this device has drawbacks, 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. N. 1. pp. 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 performs transformations depending on the data block being transformed, thereby increasing the cryptographic resistance to differential cryptanalysis.

Поставленная цель достигается тем, что в шифрующем блоке, содержащем n-разрядный, где n - четное натуральное число, информационный вход, n-разрядный выход, m-разрядный управляющий вход и W ≥ 2 операционных узлов, одноразрядные информационные входы первого операционного узла являются одноразрядными информационными входами шифрующего блока, одноразрядные выходы V-го, где 1 ≤ V < W, операционного узла соединены с одноразрядными входами (V + 1)-го операционного узла, одноразрядные выходы W-го операционного узла являются одноразрядными выходами шифрующего блока, причем по крайней мере один операционный узел содержит одноразрядные управляющие входы, соединенные с одноразрядными управляющими входами шифрующего блока, новым согласно изобретению является то, что шифрующий блок дополнительно содержит по крайней мере один операционный узел, выполненный в виде узла управляемых перестановок, одноразрядные информационные входы которого соединены с одноразрядными управляющими входами шифрующего блока, одноразрядные выходы узла управляемых перестановок соединены с одноразрядными управляющими входами P-го, где P ≤ W, операционного узла, одноразрядные управляющие входы узла управляемых перестановок соединены с одноразрядными входами G-го, где G ≤ W, операционного узла. This goal 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, single-bit information inputs of the first operational node are single-bit information inputs of the encryption unit, single-bit outputs of the Vth, where 1 ≤ V <W, of the operating node are connected to single-bit inputs of the (V + 1) -th operating node, the single-bit outputs of the Wth operational node are single-bit outputs to the cipher the unit, and at least one operating unit contains one-bit control inputs connected to the one-bit control inputs of the encryption unit, new according to the invention is that the encryption unit further comprises at least one operation unit made in the form of a node of controlled permutations, one-bit information the inputs of which are connected to the single-bit control inputs of the encryption block, the single-bit outputs of the controlled permutation node are connected to the single-bit control The input inputs of the Pth, where P ≤ W, of the operating unit, the single-bit control inputs of the controlled permutation node are connected to the single-bit inputs of the Gth, where G ≤ W, of the operating unit.

Благодаря такому решению шифрующий блок осуществляет над подблоком данных и над подключом операции перестановок, которые зависят от входного блока данных, благодаря чему обеспечивается повышение стойкости шифрования к дифференциальному криптоанализу. Thanks to this solution, the encryption block performs permutations on the data subblock and on the subkey, 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 that the node of controlled permutations 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 n - j 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 whose first input is connected to the first one-bit information input of the first elementary switch in the first row of the matrix, the remaining n - 1 one-bit information inputs of the managed permutation node are connected bitwise to 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 is the jth, where j ≠ 1, the lines are 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 the matrix of the matrix is the first one-bit information input of the i-th, where 1 <i ≤ n - j, of the elementary switch is connected to the first one-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 the single-bit information input of 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 one-bit output of the (n - j) -th elementary switch is connected to the jth single-bit output controlled permutation node, second one-bit output The switch of the (n - 1) th line is connected to the last single-bit output of the controlled permutation node.

Благодаря такому решению узел управляемых перестановок может осуществлять любую из n! возможных перестановок при соответствующем коде управляющего сигнала. Thanks to this solution, the node of controlled permutations can perform 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 one-bit outputs of which are connected to the single-bit control inputs of elementary switches in the corresponding lines, one-bit inputs the decoders are connected bitwise with single-bit control inputs of the controlled permutation node.

Благодаря такому решению, сокращается число одноразрядных управляющих входов узла управляемых перестановок. Thanks to this solution, the number of one-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 unit that performs 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 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).

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

На фиг. 6 представлена функциональная схема шифрующего блока, включающая узел управляемых перестановок, осуществляющий преобразование раундовых подключей в зависимости от входного блока данных. In FIG. 6 is a functional diagram of an encryption block, including a controlled permutation node, which transforms round plugs depending on the input data block.

На фиг. 7 представлена функциональная схема шифрующего блока, включающая два узла управляемых перестановок, один из которых осуществляет зависящее от входного блока данных преобразование подблока данных L, а другой - преобразование раундового подключа. In FIG. 7 is a functional diagram of an encryption block, including two nodes of controlled permutations, one of which carries out a transformation of the data sub-block L, which depends on the input data block, and the other - transformation of the round subkey.

Узел управляемых перестановок, представленный функциональной схемой на фиг. 3, включает матрицу элементарных переключателей, которая обеспечивает коммутацию заданного входного и заданного выходного разряда. Функциональная схема элементарного переключателя (фиг. 4 (а)) приведена в книге [Каляев А. В. Микропроцессорные системы с программируемой архитектурой. М.: Радио и связь, 1984, с. 219, рис. 6.51]. Таблица истинности и цоколевка элементарного переключателя приведены в таблицах (б) и (в) на фиг. 4. Управляемые перестановки осуществляются в зависимости от значений управляющих входов элементарных переключателей. Каждый элементарный переключатель обеспечивает поразрядную или перекрестную коммутацию двух входных информационных одноразрядных каналов и двух выходных одноразрядных каналов и работает в соответствии с таблицей истинности (таблица (б) на фиг. 4). При нулевом значении управляющего одноразрядного входа (U=0) происходит поразрядная коммутация информационных входных и выходных каналов: X1 - Y1 и X2 - Y2; при единичном значении управляющего входа (U = 1) происходит перекрестная коммутация информационных входных и выходных каналов X1 - Y2 и X2 - Y1. 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.

Элементарные переключатели в матрице соединены таким образом, что одноразрядные информационные входы 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 - i, что задает число управляющих одноразрядных входов u.k, соответствующих данной строке. 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 in 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 a value the corresponding single-bit output of the controlled permutation node. 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 n - i, which determines the number of single-bit control 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 single-bit control inputs of the controlled permutation node, binary-n-decimal decoders D.h can be introduced, where h = 1,2,. .., (n - 2) / 2, the one-bit inputs of which are the control one-bit inputs of the node of controlled permutations, and the one-bit outputs of which are connected to the group of one-bit control inputs of the corresponding two lines (h-th and (n - h) -th lines) 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 decryptor. The remaining h single-bit outputs of this decoder are connected bitwise with the 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 n / 2, whose n / 2 single-bit outputs are connected bitwise to the control single-bit inputs of the corresponding elementary switches of the line 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. Данный пример появляется на фиг. 6, где представлена функциональная схема шифрующего блока с одним узлом управляемых перестановок P. Шифрующий блок включает операционные узлы 3.1, 3.2 и 3.3. Операционный узел 3.1 выполняет операцию перестановки битов n-разрядного раундового подключа Kr в зависимости от значения подблока данных Rr-1, вырабатывая на выходе подблок данных n-разрядный двоичный вектор

Figure 00000002
где Pr-1(Kr) обозначает операцию перестановки, выполняемую над значением Kr в зависимости от значение Rr-1. Операционный узел 3.2 выполняет операцию суммирования по модулю 2n над n-битовым подблоком данных Rr-1 и n-битовым двоичным вектором K', представляющим собой преобразованное значение раундового подключа Kr, вырабатывая на выходе n-разрядный подблок данных.Example 1. This example appears in FIG. 6, which shows a functional diagram of an encryption block with one node of controlled permutations P. The encryption block includes operational nodes 3.1, 3.2, and 3.3. The operation node 3.1 performs the operation of the permutation of the bits of the n-bit round subkey K r depending on the value of the data sub-block R r-1 , generating an n-bit binary vector at the output of the data sub-block
Figure 00000002
where P r-1 (K r ) denotes a permutation operation performed on the value of K r depending on the value of R r-1 . The operation node 3.2 performs the modulo 2 n summing operation over the n-bit data sub-block R r-1 and the n-bit binary vector K ', which is the transformed value of the round subkey K r , generating an n-bit data sub-block at the output.

R' = (Rr-1 + K') mod 2n.R '= (R r-1 + K') mod 2 n .

Операционный узел 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). Данный шифрующий блок может быть использован, например, в устройстве шифрования, представленном на фиг. 1, для осуществления 16 раундов преобразования в соответствии с итеративными соотношениями (1) и (2).
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 at the output
R r = R′⊕ L r-1 .
The sequential execution of the 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 ). This encryption block can be used, for example, in the encryption device shown in FIG. 1 to carry out 16 rounds of transformation in accordance with the iterative relations (1) and (2).

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

Figure 00000003

2. R′ = Rr-1⊕ K′,
3. L' = PR'(Lr-1),
4. Rr = (R' + L') mod 232.Example 2. An example implementation of an encryption block with two controlled permutation blocks is shown in FIG. 7, where the operational node 3.1 performs the permutation of the round subkey bits K r depending on the value of the subunit R r-1 , the operational node 3.2 is a bitwise adder modulo 2, the operational node 3.3 is a managed permutation node performing the permutation of the bits of the subunit L r- 1 , forming the value L '= P R' (L r-1 ) at the output, the operation node 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

2. R ′ = R r-1 ⊕ K ′,
3. L '= P R' (L r-1 ),
4. R r = (R '+ L') mod 2 32 .

Шифрующий блок, рассмотренный в примере 1 может быть использован, например, в составе устройства шифрования, показанном на фиг. 1. The encryption block described in Example 1 can be used, for example, as part of the encryption device shown in FIG. 1.

Приведенные примеры показывают, что предлагаемый шифрующий блок технически реализуем и позволяет решить поставленную задачу. The above examples show that the proposed encryption block is technically feasible and allows us 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 (3)

1. Шифрующий блок, содержащий по крайней мере один узел перестановок и W≥2 n-разрядных, где n-четное натуральное число, последовательно соединенных сумматоров, причем первый вход первого сумматора является информационным входом шифрующего блока, выход W-го сумматора является выходом шифрующего блока, отличающийся тем, что узел перестановок выполнен в виде узла управляемых перестановок, информационный вход которого является управляющим входом шифрующего блока, выход узла управляемых перестановок является вторым входом Р-го сумматора, где 1≤P≤W, а управляющий вход узла управляемых перестановок соединен с первым входом G-го сумматора, где 1≤G≤W. 1. An encryption block containing at least one permutation node and W≥2 n-bit, where n is an even natural number of series-connected adders, the first input of the first adder being the information input of the encryption block, the output of the Wth adder is the output of the encryption unit, characterized in that the permutation node is made in the form of a controlled permutation node, the information input of which is the control input of the encryption block, the output of the controlled permutation node is the second input of the Pth adder, where 1≤P≤W, and the control input of the controlled permutation node is connected to the first input of the Gth adder, where 1≤G≤W. 2. Шифрующий блок по пп.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-ым одноразрядным выходом узла управляемых перестановок. 2. The encryption block according to claims 1 and 2, characterized in that the controlled permutation node is made in the form of a matrix of elementary switches containing an n-1 row, j-th, where j = 1,2,3, ..., n- 1, the line contains nj 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 row, the remaining n-1 single-bit information inputs the nodes of the controlled permutations 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 lines are 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≤ nj, of the j-th elementary switch, 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 the formation input of the i-th elementary switch j-th, where j ≠ 1, the line is the second one-bit output of the (i + 1) -th elementary switch of the (j-1) -th line, the first one-bit output of the (nj) -th elementary switch j the ith row is the jth single-bit output of the controlled permutation node, the second one-bit output of the switch of the (n-1) th row is the nth single-bit output of the controlled permutation node. 3. Шифрующий блок по п.1, отличающийся тем, что в каждую j-ю, где j = 1,2, ..., n/2, строку узла управляемых перестановок введен дешифратор, одноразрядные выходы которого являются одноразрядными управляющими входами элементарных переключателей в соответствующих строках, одноразрядные входы дешифраторов являются одноразрядными управляющими входами узла управляемых перестановок. 3. 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.
RU98111642/09A 1998-06-18 1998-06-18 Ciphering unit RU2140715C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU98111642/09A RU2140715C1 (en) 1998-06-18 1998-06-18 Ciphering unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU98111642/09A RU2140715C1 (en) 1998-06-18 1998-06-18 Ciphering unit

Publications (2)

Publication Number Publication Date
RU2140715C1 true RU2140715C1 (en) 1999-10-27
RU98111642A RU98111642A (en) 2000-04-10

Family

ID=20207428

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98111642/09A RU2140715C1 (en) 1998-06-18 1998-06-18 Ciphering unit

Country Status (1)

Country Link
RU (1) RU2140715C1 (en)

Similar Documents

Publication Publication Date Title
US5365588A (en) High speed encryption system and method
KR100657062B1 (en) Method for encrypting information and device for realization of the method
US6014446A (en) Apparatus for providing improved encryption protection in a communication system
EP0618701B1 (en) Hardware arrangement for enciphering bit blocks while renewing a key at each iteration
JP5402632B2 (en) Common key block encryption apparatus, common key block encryption method, and program
JP4052480B2 (en) Pseudorandom number generation method, pseudorandom number generator, and pseudorandom number generation program
EP0907269B1 (en) Encryption device for information in binary code
EP1059760A1 (en) Method for the block-encryption of discrete data
RU2141729C1 (en) Method for encrypting of binary data units
EP3639464B1 (en) Symmetric key stream cipher cryptographic method and device
JP2000209195A (en) Cipher communication system
RU2103828C1 (en) Method for block data encryption
RU2140715C1 (en) Ciphering unit
RU2127024C1 (en) Encrypting unit
RU2206182C2 (en) Method and device for cryptographic data protection in information technology
RU2206961C2 (en) Method for iterative block encryption of binary data
RU2186467C2 (en) Method for iterative block encryption
JP3473171B2 (en) Sequential encryption
RU2140712C1 (en) Method for ciphering binary data blocks
RU2199826C2 (en) Method for iterative encoding of digital data blocks
RU2184423C2 (en) Method for iterative block encryption of digital data
RU2140710C1 (en) Process of block ciphering of discrete data
RU2140716C1 (en) Method for cryptographic conversion of digital data blocks
RU2204212C2 (en) Iterative method for block encryption
RU2140714C1 (en) Data block iterative ciphering technique

Legal Events

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

Effective date: 20060619