RU2503135C1 - Method for cryptographic transformation of information and apparatus for realising said method - Google Patents

Method for cryptographic transformation of information and apparatus for realising said method Download PDF

Info

Publication number
RU2503135C1
RU2503135C1 RU2012122080/08A RU2012122080A RU2503135C1 RU 2503135 C1 RU2503135 C1 RU 2503135C1 RU 2012122080/08 A RU2012122080/08 A RU 2012122080/08A RU 2012122080 A RU2012122080 A RU 2012122080A RU 2503135 C1 RU2503135 C1 RU 2503135C1
Authority
RU
Russia
Prior art keywords
bit
register
input
conversion
vectors
Prior art date
Application number
RU2012122080/08A
Other languages
Russian (ru)
Other versions
RU2012122080A (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 RU2012122080/08A priority Critical patent/RU2503135C1/en
Publication of RU2012122080A publication Critical patent/RU2012122080A/en
Application granted granted Critical
Publication of RU2503135C1 publication Critical patent/RU2503135C1/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: method is based on breaking down an initial 32-bit input vector into eight serial 4-bit input vectors. Conversion tables are placed in each replacement unit, each table having sixteen rows, each row having four padding bits corresponding to 4-bit output vectors. Four replacement units are used, one for each pair of 4-bit input vectors, wherein each replacement unit employs a 16-byte or more central processing unit register in which two conversion tables are placed, and conversion of pairs of 4-bit input vectors to pairs of 4-bit output vectors in accordance with the conversion unit is carried out by switching the rows of the conversion tables to the central processing unit register of the corresponding replacement unit using pairs of 4-bit input vectors in form of switching addresses, after which the 4-bit output vectors are combined in series into a 32-bit output vector.
EFFECT: high security and fast transformation of data in a processor.
3 cl, 2 dwg

Description

Изобретение относится к способам и средствам криптографического преобразования информации в электронных вычислительных комплексах и ЭВМ.The invention relates to methods and means of cryptographic information conversion in electronic computing systems and computers.

Известен способ поточного криптографического преобразования информации [RU 2357365, С2, H04L 9/06, 27.05.2009], заключающийся в том, что криптографическое вычисление осуществляют в электронном компоненте согласно определенному криптографическому алгоритму, включающему, по меньшей мере, одну точно определенную нелинейную операцию на k-битовых блоках данных, при этом k является целым числом больше 2, генерируют несколько промежуточных маскированных блоков данных из j бит (b m, с m2, Δ⊕n) на основании исходного блока данных из k бит, где j является целым числом, меньшим k, затем производят нелинейную операцию S, по меньшей мере, на одном j-битовом маскированном промежуточном блоке данных (Δ⊕n) при помощи таблицы замещения с 2j входами, получая j-битовый измененный блок данных (S(Δ)n), который объединяют, по меньшей мере, с некоторыми из указанных j-битовых маскированных промежуточных блоков данных в один итоговый k-битовый блок, соответствующий исходному k-битовому блоку данных, через преобразование, включающее указанную точно определенную нелинейную операцию [RU 2357365, С2, H04L 9/06, 27.05.2009].A known method of stream cryptographic information conversion [RU 2357365, C2, H04L 9/06, 05/27/2009], which consists in the fact that cryptographic calculation is carried out in an electronic component according to a specific cryptographic algorithm, including at least one well-defined non-linear operation on k-bit data blocks, with k being an integer greater than 2, generate several intermediate masked data blocks of j bits (b m, with m2, Δ⊕ n) based on the original data block of k bits, where j is an integer chi scrapping less than k, then perform non-linear operation S on at least one j-bit masked intermediate data block ( Δ⊕ n) using the substitution table with 2 j inputs, obtaining a j-bit modified data block (S ( Δ ) n), which is combined with at least some of the indicated j-bit masked intermediate data blocks into one final k-bit block corresponding to the original k-bit data block, through a conversion including the specified precisely defined non-linear operation [RU 2357365 , C2, H04L 9/06, 05/27/2009].

Недостатком способа является его относительно высокая сложность при аппаратной и программной реализации.The disadvantage of this method is its relatively high complexity in hardware and software implementation.

Известен также способ шифрования и дешифрования информации [RU 2266622, C1, H04L 9/06, 20.12.2005], характеризуемый использованием блочных взаимообратных однозначных двухпараметрических, шифрующего и дешифрующего, преобразований на основе таблиц со случайным заполнением размером N строк каждая с участием последовательности гаммы от независимого от информации датчика случайных чисел, причем для блока шифрования длиной α байт вырабатывают последовательность гаммы длиной α байт, изменяющейся для каждого блока, при этом каждый байт преобразуют с помощью двухпараметрического преобразования байт vi =F(ui, ξi) с участием квазислучайных значений последовательности гаммы ξi длиной 1 байт, затем выполняется в два этапа операция формирования блока шифрования путем объединения байт, причем шифрующее преобразование объединения байт первой ступени с номерами i, имеющими значения от 1 до α, выполняют суммированием определенных исходных ui и преобразованных значений vi байт:There is also a method of encrypting and decrypting information [RU 2266622, C1, H04L 9/06, 12/20/2005], characterized by the use of block reciprocal single-valued two-parameter, encryption and decryption, transformations based on tables with random filling of N lines each with a gamma sequence from random number sensor independent of information, and for an encryption block of length α bytes, a sequence of gamma lengths of α bytes is generated, changing for each block, and each byte is converted using two-parameter conversion of bytes v i = F (u i , ξ i ) with the participation of quasi-random values of the gamma sequence ξ i of 1 byte length, then the two-step operation is to generate an encryption block by combining bytes, the encryption conversion of combining bytes of the first stage with numbers i having values from 1 to α are performed by summing certain initial u i and converted values v i bytes:

аi=vi+vi+1+ui для i=l,…,(α-1); аα=vα+u1+u2+…+uα,and i = v i + v i + 1 + u i for i = l, ..., (α-1); aα = vα + u 1 + u 2 + ... + uα,

шифрующее преобразование объединения байт второй ступени аi с номерами i, имеющими значения от 1 до α, выполняют в виде рекуррентных операций F следующим образом: Xi=F(ai,ai+1) для i=l,…, (α-1); Xα=aα, дешифрующее преобразование байт выполняют в обратной последовательности, причем сначала выполняют дешифрующее преобразование второй ступени для значений каждого принятого байта X'i с номером i, имеющим значения от 1 до α, в виде рекуррентных операций F-1 следующим образом: а'α=X'α; a'I=F-1(X'i, a'i+1) для i=α-1, α-2,…, 1, затем выполняют дешифрующее преобразование первой ступени для значений каждого байта ai с номером i, имеющим значения от 1 до α, в виде рекуррентных операций F1 следующим образом:the encryption conversion of the combination of second-stage bytes a i with numbers i having values from 1 to α is performed in the form of recurrence operations F as follows: X i = F (a i , a i + 1 ) for i = l, ..., (α -one); Xα = aα, the decoding byte conversion is performed in the reverse order, and the second stage decryption conversion is first performed for the values of each received byte X ′ i with number i having values from 1 to α, in the form of recurrent operations F -1 as follows: a ' α = X′α; a ' I = F -1 (X' i, a ' i + 1 ) for i = α-1, α-2, ..., 1, then the first stage decryption conversion is performed for the values of each byte a i with number i having values from 1 to α, in the form of recurrent operations F 1 as follows:

u i = F 1 [ ( j = 1 α a j + j = 1 i 1 u j ) , ξ i ] д л я i = 1, , α .

Figure 00000001
u i = F - one [ ( j = one α a j + j = one i - one u j ) , ξ i ] d l I am i = one, ... , α .
Figure 00000001

Недостатком способа является его относительно высокая сложность при аппаратной и программной реализации.The disadvantage of this method is its relatively high complexity in hardware and software implementation.

Кроме того, известен способ шифрования двоичной информации [RU 2091983, C1, H04L 9/00, G06F 12/16, 27.09.1997], заключающийся в том, что формируют N-битный секретный ключ, с помощью которого формируют поточный шифр, который суммируют по модулю два с информационным текстом, причем поточный шифр формируют в виде К групп по N бит в каждой, где KN - длина текста двоичной информации, первую группу поточного шифра формируют путем возведения N-битного секретного ключа в степень n по модулю Р, вторую группу поточного шифра формируют путем возведения N-битного кода первой группы поточного шифра в степень n по модулю Р, где n - значение бит младших разрядов секретного ключа, причем 1<n N<Р 1, а каждую последующую i группу поточного шифра, где i 3, 4, К формируют путем возведения N-битного кода (i 1)-группы поточного шифра в степень m по модулю Р, где m значение бит младших разрядов (i 2)-группы поточного шифра, причем m<n, а перед суммированием по модулю два в каждой из К групп сформированного поточного шифра биты перемешивают по случайному закону и запоминают.In addition, there is a method of encrypting binary information [RU 2091983, C1, H04L 9/00, G06F 12/16, 09/27/1997], which consists in the fact that they form an N-bit secret key with which to generate a stream cipher, which summarize modulo two with informational text, the stream cipher being formed in the form of K groups of N bits in each, where KN is the length of the binary information text, the first group of the stream cipher is formed by raising the N-bit secret key to the power n modulo P, the second group a stream cipher is formed by erecting an N-bit code of the first load the stream cipher is n-power modulo P, where n is the value of the bits of the least significant bits of the secret key, with 1 <n N <P 1, and each subsequent i group of the stream cipher, where i 3, 4, K is formed by raising the N-bit the code of the (i 1) -group of the stream cipher to the power m modulo P, where m is the bit value of the least significant bits of the (i 2) -group of the stream cipher, m <n, and before summing modulo two in each of the K groups of the formed stream cipher the bits are randomly mixed and stored.

Недостатком способа является его относительно высокая сложность при аппаратной и программной реализации.The disadvantage of this method is its relatively high complexity in hardware and software implementation.

Наиболее близким по технической сущности к предлагаемому способу является способ поточного криптографического преобразования информации, основанный на разбивке исходного 32-разрядного входного вектора на восемь последовательно идущих 4-разрядных входных векторов, каждый из которых преобразуется в 4-разрядный выходной вектор соответствующим ему узлом замены, осуществляющего преобразование 4-разрядного входного вектора в 4-разрядный выходной вектор путем использования предварительно размещенной в нем таблицы преобразования из шестнадцати строк, содержащих по четыре бита заполнения в строке, при этом каждый из 4-разрядных входных векторов определяет адрес строки в таблице, а заполнение соответствующей строки в таблице является соответствующим ему 4-разрядным выходным вектором, которые последовательно объединяются в 32-разрядный выходной вектор [Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. ГОСТ 28147-89, п.1.2, с.2].The closest in technical essence to the proposed method is a method of streaming cryptographic information conversion based on a breakdown of the original 32-bit input vector into eight consecutive 4-bit input vectors, each of which is converted into a 4-bit output vector by its corresponding replacement node, which carries out converting a 4-bit input vector to a 4-bit output vector by using the hexadecimal conversion table previously placed in it twenty rows containing four bits of padding per line, with each of the 4-bit input vectors determining the address of the line in the table, and filling the corresponding line in the table is the corresponding 4-bit output vector, which are sequentially combined into a 32-bit output vector [Information processing systems. Cryptographic protection. Cryptographic conversion algorithm. GOST 28147-89, p.1.2, p.2].

Недостатком способа является относительно низкая скрытность криптографического преобразования при его реализации в ЭВМ, поскольку способ реализует тетрадные (по четыре бита) перестановки в 32-битном слове, но реализация таких перестановок на регистрах процессоров современных ЭВМ затруднена, поскольку архитектура процессоров х86/64 и его система команд не способна манипулировать тетрадами. По этой причине реализация такого преобразования в виде программно реализуемого блока подстановки из восьми узлов замены с памятью 64 бита каждый осуществляется в оперативной памяти ЭВМ, что снижает скорость криптографического преобразования из-за медленного доступа к таблицам, размещенных в оперативной памяти, а также скрытность криптографического преобразования из-за размещения конфиденциальной информации в оперативной памяти с общим доступом.The disadvantage of this method is the relatively low stealth of cryptographic conversion when it is implemented in a computer, since the method implements tetrad (four bits) permutations in a 32-bit word, but the implementation of such permutations on the registers of modern computer processors is difficult, since the architecture of the x86 / 64 processors and its system teams not able to manipulate notebooks. For this reason, the implementation of such a conversion in the form of a software-implemented substitution block of eight replacement nodes with 64 bits of memory each is carried out in the main memory of the computer, which reduces the speed of the cryptographic conversion due to slow access to the tables located in the main memory, as well as the secrecy of the cryptographic conversion due to the placement of confidential information in shared memory.

Требуемый технический результат заключается в повышении скрытности и оперативности криптографического преобразования при его реализации на персональных ЭВМ.The required technical result is to increase the secrecy and efficiency of cryptographic conversion when it is implemented on personal computers.

Требуемый технический результат относительно предложенного способа достигается тем, что в способе, основанном на разбивке исходного 32-разрядного входного вектора на восемь последовательно идущих 4-разрядных входных векторов, каждый из которых соответствующим ему узлом замены преобразуется в 4-разрядный выходной вектор, которые последовательно объединяются в 32-разрядный выходной вектор, причем предварительно в каждом узле замены размещают таблицы преобразования из шестнадцати строк каждая, содержащих по четыре бита заполнения в строке, являющихся соответствующими 4-разрядным выходными векторами, используют четыре узла замены по одному для каждой пары 4-разрядных входных векторов, причем в каждом узле замены используют регистр центрального процессора с размером, равным или большим 16 байт, в который размещают по две таблицы преобразования, а преобразование пар 4-разрядных входных векторов в пары 4-разрядных выходных векторов в соответствующем узле замены осуществляют коммутацией предварительно размещенных строк таблиц преобразования в регистр центрального процессора соответствующего узла замены путем использования пар 4-разрядных входных векторов в виде адресов коммутации.The required technical result with respect to the proposed method is achieved by the fact that in the method based on the breakdown of the original 32-bit input vector into eight consecutive 4-bit input vectors, each of which is converted by a corresponding replacement node into a 4-bit output vector, which are sequentially combined into a 32-bit output vector, and previously, at each replacement node, conversion tables of sixteen rows each containing four bits of filling in the order are placed e, which are the corresponding 4-bit output vectors, use four replacement nodes, one for each pair of 4-bit input vectors, and at each replacement node use a central processor register with a size equal to or greater than 16 bytes, into which two conversion tables are placed and the conversion of pairs of 4-bit input vectors into pairs of 4-bit output vectors in the corresponding replacement node is carried out by switching the previously placed rows of the conversion tables into the register of the central processor and replacing the corresponding unit by use of pairs of 4-bit input vectors as switching addresses.

Кроме того, требуемый технический результат достигается тем, что в качестве регистров центрального процессора используют SSE-регистры.In addition, the required technical result is achieved by the fact that SSE registers are used as the registers of the central processor.

Известны также устройства для криптографического преобразования информации.Also known devices for cryptographic conversion of information.

Одно из таких устройств [RU 2091983, C1, H04L 9/00, G06F 12/16, 27.09.1997] содержит первый сумматор по модулю два, регистр для хранения секретного ключа, блок возведения в n степень по модулю Р, параллельно-последовательный регистр ключевой группы, четыре последовательно-параллельных регистра, регистр показателя степени, блок перемешивания бит последовательности, второй сумматор по модулю два, блок управления, ключ и элементы И и ИЛИ, причем выход блока возведения в n степень по модулю Р соединен с соответствующими входами регистра для хранения секретного ключа и параллельно-последовательного регистра ключевой группы, с входом основания степени блока возведения в n степень по модулю Р, с выходами первого последовательно-параллельного регистра и регистра для хранения секретного ключа, выходы n младших разрядов блока возведения в n степень по модулю Р подключены к соответствующим входам регистра показателя степени, выходы разрядов которого соединены с входами n младших разрядов показателя степени блока возведения в n степень по модулю Р, входы всех разрядов показателя степени которого соединены с выходами соответствующих разрядов второго последовательно-параллельного регистра, выходы m старших разрядов блока возведения в n степень по модулю Р, где m<n, соединены с первыми информационными входами блока перемешивания бит последовательности, входы модуля и обратной величины модуля блока возведения в n степень по модулю Р соединены, соответственно, с соответствующими выходами третьего и четвертого последовательно-параллельных регистров, причем информационные входы второго, третьего и четвертого последовательно-параллельных регистров являются соответственно входами начальной установки значений показателя степени, модуля и обратной величины, модуля устройства, а информационный вход первого последовательно-параллельного регистра соединен с выходом элемента ИЛИ, первый вход которого является входом начальной установки значения основания степени устройства, второй вход элемента ИЛИ соединен с выходом первого элемента И и входом сигнала о приеме шифрованного текста блока управления, выход второго элемента И соединен с первыми входами блока управления и второго сумматора по модулю два и с входом-выходом ключа и является входом открытого текста устройства, входы начальной установки первого, второго, третьего и четвертого последовательно-параллельных регистров и блока возведения в n степень по модулю Р соединены между собой и с соответствующим выходом блока управления, первые входы первого и второго элементов И соединены между собой и являются входом для приема закрытого текста устройства, вторые входы первого и второго элементов И соединены с соответствующими выходами блока управления, второй вход второго сумматора по модулю два соединен с выходом блока перемешивания бит последовательности и первым входом первого сумматора по модулю два, второй вход которого соединен с выходом ключа, с входом которого соединен выход второго сумматора по модулю два, а вход управления ключа соединен с соответствующим выходом блока управления и является выходом выработки сигнала разрешения приема открытого текста устройства, выход первого сумматора по модулю два соединен с выходом третьего элемента И и является выходом закрытого текста устройства, первый вход третьего элемента И соединен с выходом регистра ключевой группы и вторым информационным входом блока перемешивания бит последовательности, вход управления которого соединен с соответствующим выходом блока управления, другие выходы которого соединены соответственно с вторым входом третьего элемента И, входами приема сигналов начала возведения в степень и синхроимпульсов сопровождения блоков возведения в n степень по модулю Р и входами управления регистров показателя степени секретного ключа и ключевой группы, выход сигнала конца возведения в степень блока возведения в n степень по модулю Р соединен с соответствующим входом блока управления, другие входы которого являются соответственно входами определения режимов шифрации-дешифрации, выработки ключевой последовательности, открытого ключа, подачи задающей частоты и начальной установки устройства.One of such devices [RU 2091983, C1, H04L 9/00, G06F 12/16, 09/27/1997] contains a first adder modulo two, a register for storing a secret key, a block raising to an n degree modulo P, parallel-serial register a key group, four series-parallel registers, an exponent register, a bit sequence mixing unit, a second adder modulo two, a control unit, a key and AND and OR elements, and the output of the raising block to n degree modulo P is connected to the corresponding register inputs for secret key storage and the parallel-serial register of the key group, with the input of the base of the degree of the block raising to the n degree modulo P, with the outputs of the first serial-parallel register and the register for storing the secret key, the outputs of the n least significant bits of the block raising to the n degree modulo P are connected to the corresponding inputs of the exponent register, the outputs of the digits of which are connected to the inputs of the n least significant digits of the exponent of the block of raising to the n degree modulo P, the inputs of all the digits of the exponent are connected with the outputs of the corresponding bits of the second series-parallel register, the outputs of the m high bits of the block raising to the n degree modulo P, where m <n, are connected to the first information inputs of the mixing block bits of the sequence, the inputs of the module and the reciprocal of the module of the block raising to the n degree by module P are connected, respectively, with the corresponding outputs of the third and fourth series-parallel registers, and the information inputs of the second, third and fourth series-parallel reg strov are respectively inputs of the initial setting of the exponent, module and reciprocal, device module, and the information input of the first serial-parallel register is connected to the output of the OR element, the first input of which is the input of the initial setting of the value of the degree basis of the device, the second input of the OR element is connected to the output of the first AND element and the input of the signal for receiving the ciphertext of the control unit, the output of the second AND element is connected to the first inputs of the control unit and the second the adder is modulo two and with a key input-output and is the device’s plaintext input, the inputs of the initial installation of the first, second, third and fourth serial-parallel registers and the block of raising to the n degree modulo P are connected to each other and to the corresponding output of the control unit, the first inputs of the first and second elements And are interconnected and are the input for receiving the closed text of the device, the second inputs of the first and second elements And are connected with the corresponding outputs of the control unit, the second the input of the second adder modulo two is connected to the output of the mixing unit of the bit sequence and the first input of the first adder modulo two, the second input of which is connected to the output of the key, the input of which is connected to the output of the second adder modulo two, and the control input of the key is connected to the corresponding output of the block control and is the output of the output signal permission to receive the plaintext of the device, the output of the first adder modulo two is connected to the output of the third element And is the output of the closed text properties, the first input of the third element And is connected to the output of the register of the key group and the second information input of the mixing bit of the sequence bit, the control input of which is connected to the corresponding output of the control unit, the other outputs of which are connected respectively to the second input of the third element And, the inputs of the reception signals degree and clock pulses of the support of the raising blocks to n degree modulo P and the inputs of the control registers of the exponent of the secret key and key group, exit end signal exponentiation block construction in degree n modulo P is connected to the corresponding input of the control unit, the other inputs of which are respectively input mode determination encryption-decryption, generating a key sequence, the public key, the feed driving frequency and the initial installation of the device.

Недостатком устройства является его относительно высокая сложность.The disadvantage of this device is its relatively high complexity.

Известно также устройство [RU 2389141, С2, H04L 9/00, 10.05.2010], содержащее на передающей стороне последовательно соединенные генератор ключа, блок формирования ключевой матрицы, шифрующий блок, второй вход которого соединен с выходом блока формирования информационного вектора, первый вход которого соединен с выходом блока формирования порождающей матрицы, второй вход является информационным входом устройства, а на приемной стороне последовательно соединенные блок сортировки элементов вектора, другой вход которого соединен с выходом блока формирования ключевой матрицы, вход которого соединен с выходом генератора ключа, блок замены элементов кодового вектора, блок умножения кодового вектора на матрицу Адамара, другой вход которого соединен с выходом блока формирования матрицы Адамара, блок принятия решения, второй вход которого соединен с выходом блока формирования порождающей матрицы, блок обратного преобразования, выход которого является информационным выходом устройства, при этом передающая сторона содержит также блок управления, формирующий управляющий сигнала для выбора длины информационного вектора, подлежащего шифрованию, выход которого является другим входом шифрующего блока, а на приемной стороне - блок сравнения, выход которого соединен с соответствующим входом блока принятия решения, первый вход бока сравнения соединен с выходом блока умножения, а второй вход - с выходом блока оптимизации, вход которого соединен с выходом блока обратного преобразования.A device is also known [RU 2389141, C2, H04L 9/00, 05/10/2010], comprising, on the transmitting side, a key generator, a key matrix generation unit, an encryption unit, the second input of which is connected to the output of the information vector generation unit, the first input of which is connected in series connected to the output of the generating matrix generating unit, the second input is the information input of the device, and on the receiving side, the vector element sorting unit is connected in series, the other input of which is connected to the output of the generating unit a key matrix, the input of which is connected to the output of the key generator, a block for replacing the elements of the code vector, a block for multiplying the code vector by the Hadamard matrix, another input of which is connected to the output of the block for generating the Hadamard matrix, a decision block, the second input of which is connected to the output of the generating block matrix, the inverse transform unit, the output of which is the information output of the device, while the transmitting side also contains a control unit that generates a control signal for selection the length of the information vector to be encrypted, the output of which is the other input of the encryption block, and on the receiving side, the comparison block, the output of which is connected to the corresponding input of the decision block, the first input of the comparison side is connected to the output of the multiplication block, and the second input to the output of the block optimization, the input of which is connected to the output of the inverse transform block.

Недостатком устройства также является его относительно высокая сложность.The disadvantage of the device is its relatively high complexity.

Недостатком устройства является относительно низкая скрытность криптографического преобразования при его программно-технической реализации с использованием ЭВМ, поскольку реализация предложенных в известном устройстве функциональных узлов и преобразований, например, блока умножения кодового вектора на матрицу Адамара, может осуществляется в оперативной памяти ЭВМ, что снижает скрытность криптографического преобразования из-за размещения конфиденциальной информации в оперативной памяти с общим доступом, а также быстродействие устройства из-за наличия сложных преобразований информации.The disadvantage of this device is the relatively low secrecy of the cryptographic conversion during its software and hardware implementation using computers, since the implementation of the functional units and transformations proposed in the known device, for example, the block of multiplying the code vector by the Hadamard matrix, can be carried out in the main memory of the computer, which reduces the secrecy of cryptographic transformations due to the placement of confidential information in shared memory, as well as performance troystva because of the complex data transformations.

Требуемый технический результат заключается в повышении скрытности криптографического преобразования, а также быстродействия устройства, что повышает оперативность криптографического преобразования при его реализации на персональных ЭВМ.The required technical result is to increase the secrecy of cryptographic conversion, as well as the speed of the device, which increases the efficiency of cryptographic conversion when it is implemented on personal computers.

Требуемый технический результат достигается тем, что в устройство, содержащее блок формирования информационного вектора, введены входной 32-разрядный регистр и четыре узла замены, каждый их которых содержит SSE-регистр и два коммутатора, при этом блок формирования информационного вектора выполнен в виде 32-разрядного выходного регистра, восемь входов которого соединены с выходами соответствующих коммутаторов узлов замены, информационные входы которых соединены с выходами SSE-регистра соответствующих им узлов замены, а адресные входы соединены с соответствующими выходами входного 32-разрядного регистра.The required technical result is achieved by the fact that the input 32-bit register and four replacement nodes, each of which contains the SSE-register and two switches, are introduced into the device containing the information vector generation unit, while the information vector generation unit is made in the form of 32-bit an output register, eight inputs of which are connected to the outputs of the corresponding switches of the replacement nodes, information inputs of which are connected to the outputs of the SSE register of the corresponding replacement nodes, and address inputs are connected Nena to the respective outputs of the input 32-bit register.

На чертеже представлены:The drawing shows:

на фиг.1 - электрическая структурная схема устройства для криптографического преобразования информации;figure 1 is an electrical block diagram of a device for cryptographic information conversion;

на фиг.2 - пример схемы управления коммутаторами.figure 2 is an example of a control circuit of the switches.

Устройство для криптографического преобразования информации содержит входной 32-разрядный регистр 1 и четыре узла замены, каждый их которых содержит регистр 2 центрального процессора, например SSE-регистры размером 16 или 32 байта (ХММ или UMM регистры), и два коммутатора 3-1 и 3-2, управлении которыми реализовано либо стандартной командой управления коммутаторами, либо командой, реализованной в блоке микропрограммного управления центрального процессора ЭВМ.The device for cryptographic information conversion contains an input 32-bit register 1 and four replacement nodes, each of which contains a central processor register 2, for example SSE-registers of 16 or 32 bytes in size (ХММ or UMM registers), and two switches 3-1 and 3 -2, the management of which is implemented either by the standard command for managing switches, or by a command implemented in the microprogram control unit of the central computer processor.

Кроме того, устройство для криптографического преобразования информации содержит 32-разрядный выходной регистр 4, восемь входов которого соединены с выходами соответствующих коммутаторов 3-1 и 3-2, информационные входы которых соединены с выходами регистра 2 центрального процессора соответствующих им узлов замены, а адресные входы соединены с соответствующими выходами входного 32-разрядного регистра 1.In addition, the device for cryptographic information conversion contains a 32-bit output register 4, eight inputs of which are connected to the outputs of the corresponding switches 3-1 and 3-2, the information inputs of which are connected to the outputs of the register 2 of the central processor of the corresponding replacement nodes, and address inputs connected to the corresponding outputs of the input 32-bit register 1.

Предложенный способ криптографического преобразования информации реализуется в устройстве для его реализации следующим образом.The proposed method of cryptographic information conversion is implemented in the device for its implementation as follows.

В устройстве используется четыре узла замены, выполненных, например, на SSE-регистрах центрального процессора, которые относятся к внутреннему оборудованию центральных процессоров современных ЭВМ - 128-битных регистрах ХММ, либо 256-битных регистрах YMM. Современные процессоры архитектуры х86/64 имеют в своем составе набор регистров SSE размером 16 байт и специализированные FPU-многовходовые байтовые коммутаторы (как минимум два) для выполнения различных операций над этими регистрами. На одном SSE-регистре можно разместить сразу две таблицы из 16 строк. Таким образом, четыре SSE-регистра позволят полностью разместить все таблицы замен. Единственным условием такого размещения является требование чередования, согласно которому тетрады одного байта должны помещаться в разные SSE-регистры. Кроме этого целесообразно размещать младшие и старшие тетрады входных байтов соответственно в младших и старших тетрадах байтов SSE-регистров. Эти требования обуславливаются оптимизацией под имеющийся набор AVX команд.The device uses four replacement nodes, made, for example, on SSE-registers of the central processor, which relate to the internal equipment of the central processors of modern computers - 128-bit XMM registers, or 256-bit YMM registers. Modern x86 / 64 architecture processors incorporate a set of 16 byte SSE registers and specialized FPU multi-input byte switches (at least two) to perform various operations on these registers. On one SSE register, you can place two tables of 16 rows at once. Thus, four SSE registers will allow you to completely place all the replacement tables. The only condition for such placement is the interleaving requirement, according to which tetrads of one byte must be placed in different SSE registers. In addition, it is advisable to place the lower and upper tetrads of input bytes, respectively, in the lower and upper tetrads of bytes of SSE registers. These requirements are determined by optimization for the existing set of AVX commands.

Таким образом, каждый байт SSE-регистра будет содержать две тетрады, относящиеся к разным байтам входного регистра блока подстановок, при этом позиция байта на SSE-регистре однозначно соответствует индексу в таблице преобразования узла замен.Thus, each byte of the SSE register will contain two tetrads related to different bytes of the input register of the substitution block, while the position of the byte on the SSE register uniquely corresponds to the index in the conversion table of the replacement node.

Размещение конфиденциальной информации в предложенном устройстве с использованием SSE-регистров повышает скрытность криптографического преобразования и его оперативность.Placing confidential information in the proposed device using SSE registers increases the secrecy of cryptographic conversion and its efficiency.

Для эффективной выборки из SSE-регистров могут быть использованы имеющиеся в составе процессоров FPU многовходовые байтовые коммутаторы. Эти коммутаторы позволяют осуществлять пересылки из любого байта источника в любой байт приемника, по индексам находящемся в специальном индексном SSE-регистре. Причем параллельно выполняется пересылка для всех 16 байт SSE-регистра-приемника. Управление коммутаторами производится либо стандартной командой управления коммутаторами, либо специальной командой, реализованной в блоке микропрограммного управления центрального процессора. В этом случае работой коммутаторов управляет специальная трехадресная команда AVX VPSHUFB, первый операнд которой является приемником информации из коммутаторов, второй операнд является источником, к которому подключены входы коммутаторов, а третий операнд является управляющим регистром для коммутаторов, каждый байт которого ассоциирован с соответствующим коммутатором и значение в нем задает номер направления, с которого коммутатор считывает информацию.For effective selection from SSE registers, multi-input byte switches available as part of FPU processors can be used. These switches allow forwarding from any source byte to any receiver byte, using the indices in the special index SSE register. Moreover, forwarding is performed in parallel for all 16 bytes of the SSE-register-receiver. The switches are controlled either by the standard switch management command or by a special command implemented in the microprogram control unit of the central processor. In this case, the operation of the switches is controlled by a special three-address command AVX VPSHUFB, the first operand of which is the receiver of information from the switches, the second operand is the source to which the inputs of the switches are connected, and the third operand is the control register for the switches, each byte of which is associated with the corresponding switch and value it sets the direction number from which the switch reads information.

Реализация этой команды изображена на фиг.2 на примере половины SSE-регистров, поскольку для второй половины все аналогично.The implementation of this command is shown in figure 2 as an example of half of the SSE registers, since for the second half everything is similar.

Имея узлы хранения подстановок на SSE-регистрах и многовходовый коммутатор в блоках FPU, можно организовать следующее преобразование в блоке подстановок. В этой схеме входной регистр в каждой тетраде задает адрес для соответствующего коммутатора, который по шине данных передает из SSE-регистров информацию в выходной регистр. Это дает возможность параллельно обрабатывать сразу четыре блока по 32 бита, т.е. в параллель рассчитывать четыре криптопроцедуры.Having nodes of substitution storage on SSE registers and a multi-input switch in FPUs, it is possible to organize the following transformation in a substitution block. In this scheme, the input register in each notebook sets the address for the corresponding switch, which transfers information from the SSE registers to the output register via the data bus. This makes it possible to simultaneously process four blocks of 32 bits at a time, i.e. count four crypto procedures in parallel.

Таким образом, благодаря предложенной реализации способа криптографического преобразования информации и реализующему этот способ устройству достигается требуемый технический результат повышения скрытности преобразования и его оперативности при программно-технической реализации способа в современных ЭВМ, поскольку оперативность и соответствующее быстродействие обеспечивается исключением использования оперативной памяти, а скрытность - за счет исключения размещения конфиденциальной информации в оперативной памяти с общим доступом.Thus, thanks to the proposed implementation of the method of cryptographic information conversion and the device that implements this method, the required technical result is achieved in increasing the secrecy of the conversion and its efficiency in the program-technical implementation of the method in modern computers, since the efficiency and corresponding speed are ensured by the exclusion of the use of random access memory, and secrecy - for account excluding the placement of confidential information in random access memory room

Claims (3)

1. Способ криптографического преобразования информации, основанный на разбивке исходного 32-разрядного входного вектора на восемь последовательно идущих 4-разрядных входных векторов, каждый из которых соответствующим ему узлом замены преобразуется в 4-разрядный выходной вектор, которые последовательно объединяются в 32-разрядный выходной вектор, причем предварительно в каждом узле замены размещают таблицы преобразования из шестнадцати строк каждая, содержащих по четыре бита заполнения в строке, являющихся соответствующими 4-разрядными выходными векторами, отличающийся тем, что используют четыре узла замены по одному для каждой пары 4-разрядных входных векторов, причем в каждом узле замены используют регистр центрального процессора с размером, равным или большим 16 байт, в который размещают по две таблицы преобразования, а преобразование пар 4-разрядных входных векторов в пары 4-разрядных выходных векторов в соответствующем узле замены осуществляют коммутацией предварительно размещенных строк таблиц преобразования в регистр центрального процессора соответствующего узла замены путем использования пар 4-разрядных входных векторов в виде адресов коммутации.1. The method of cryptographic information conversion, based on the breakdown of the original 32-bit input vector into eight consecutive 4-bit input vectors, each of which is replaced by a corresponding replacement node into a 4-bit output vector, which are sequentially combined into a 32-bit output vector moreover, preliminary, in each replacement node, conversion tables of sixteen rows each containing four fill bits per line are placed, which are corresponding 4-bit output vectors, characterized in that use four replacement nodes, one for each pair of 4-bit input vectors, with each replacement node using a central processor register with a size equal to or greater than 16 bytes, into which two conversion tables are placed, and the conversion of pairs of 4-bit input vectors to pairs of 4-bit output vectors in the corresponding replacement node are switched by switching previously placed rows of conversion tables into the register of the central processor of the corresponding replacement node by using 4-bit pairs s input vectors as switching addresses. 2. Способ по п.1, отличающийся тем, что в качестве регистров центрального процессора используют SSE-регистры.2. The method according to claim 1, characterized in that SSE registers are used as the registers of the central processor. 3. Устройство для реализации способа по п.1, содержащее блок формирования информационного вектора, отличающееся тем, что введены входной 32-разрядный регистр и четыре узла замены, каждый их которых содержит SSE-регистр и два коммутатора, при этом блок формирования информационного вектора выполнен в виде 32-разрядного выходного регистра, восемь входов которого соединены с выходами соответствующих коммутаторов узлов замены, информационные входы которых соединены с выходами SSE-регистра соответствующих им узлов замены, а адресные входы соединены с соответствующими выходами входного 32-разрядного регистра. 3. A device for implementing the method according to claim 1, containing a block for generating an information vector, characterized in that an input 32-bit register and four replacement nodes were introduced, each of which contains an SSE-register and two switches, while the information vector generation unit is made in the form of a 32-bit output register, eight inputs of which are connected to the outputs of the corresponding switches of the replacement nodes, information inputs which are connected to the outputs of the SSE register of the corresponding replacement nodes, and the address inputs are connected to the corresponding outputs of the input 32-bit register.
RU2012122080/08A 2012-05-29 2012-05-29 Method for cryptographic transformation of information and apparatus for realising said method RU2503135C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012122080/08A RU2503135C1 (en) 2012-05-29 2012-05-29 Method for cryptographic transformation of information and apparatus for realising said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012122080/08A RU2503135C1 (en) 2012-05-29 2012-05-29 Method for cryptographic transformation of information and apparatus for realising said method

Publications (2)

Publication Number Publication Date
RU2012122080A RU2012122080A (en) 2013-12-10
RU2503135C1 true RU2503135C1 (en) 2013-12-27

Family

ID=49682575

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012122080/08A RU2503135C1 (en) 2012-05-29 2012-05-29 Method for cryptographic transformation of information and apparatus for realising said method

Country Status (1)

Country Link
RU (1) RU2503135C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2630423C1 (en) * 2016-12-08 2017-09-07 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Method of cryptographic transformation of information
RU2648598C1 (en) * 2017-04-27 2018-03-26 Сергей Константинович Белов Information protection method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107138A1 (en) * 2004-03-29 2005-11-10 Stmicroelectronics Sa Processor for executing an aes-type algorithm
KR20060062724A (en) * 2004-12-06 2006-06-12 한국전자통신연구원 Method for looking-up and recording of sbox entry value
US20100329450A1 (en) * 2009-06-30 2010-12-30 Sun Microsystems, Inc. Instructions for performing data encryption standard (des) computations using general-purpose registers
RU2010110344A (en) * 2010-03-18 2011-09-27 ЭлЭсАй Корпорейшн (US) CRYPTOGRAPHIC PROCESSING USING A PROCESSOR
US20120030447A1 (en) * 2004-09-01 2012-02-02 Texas Instruments Incorporated Process, circuits, devices, and systems for encryption and decryption and other purposes, and processes of making

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107138A1 (en) * 2004-03-29 2005-11-10 Stmicroelectronics Sa Processor for executing an aes-type algorithm
US20120030447A1 (en) * 2004-09-01 2012-02-02 Texas Instruments Incorporated Process, circuits, devices, and systems for encryption and decryption and other purposes, and processes of making
KR20060062724A (en) * 2004-12-06 2006-06-12 한국전자통신연구원 Method for looking-up and recording of sbox entry value
US20100329450A1 (en) * 2009-06-30 2010-12-30 Sun Microsystems, Inc. Instructions for performing data encryption standard (des) computations using general-purpose registers
RU2010110344A (en) * 2010-03-18 2011-09-27 ЭлЭсАй Корпорейшн (US) CRYPTOGRAPHIC PROCESSING USING A PROCESSOR

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2630423C1 (en) * 2016-12-08 2017-09-07 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Method of cryptographic transformation of information
RU2648598C1 (en) * 2017-04-27 2018-03-26 Сергей Константинович Белов Information protection method

Also Published As

Publication number Publication date
RU2012122080A (en) 2013-12-10

Similar Documents

Publication Publication Date Title
Ye et al. An efficient chaotic image encryption algorithm based on a generalized Arnold map
US8737606B2 (en) Method and system for high throughput blockwise independent encryption/decryption
CN106921487B (en) Reconfigurable S-box circuit structure
CN101040474B (en) Permutation data transform to enhance security
EP3770751B1 (en) High speed encryption key generating engine
US7912213B2 (en) Device, system and method for fast secure message encryption without key distribution
WO2008031109A2 (en) System and method for encrypting data
CN102801519A (en) Method and device for implementing AES (Advanced Encryption Standard) enciphering and deciphering
CN101951314A (en) Design method of S-box in symmetric password encryption
CN110880967A (en) Method for parallel encryption and decryption of multiple messages by adopting packet symmetric key algorithm
KR20050078271A (en) Hardware cryptographic engine and method improving power consumption and operation speed
CN113098675B (en) Binary data encryption system and method based on polynomial complete homomorphism
CN112019323B (en) Data encryption and decryption methods and devices, storage medium and electronic equipment
Awad et al. New chaotic permutation methods for image encryption
RU2503135C1 (en) Method for cryptographic transformation of information and apparatus for realising said method
CN104219045A (en) RC4 (Rivest cipher 4) stream cipher generator
CN109743156B (en) Packet encryption and decryption method and device
RU120303U1 (en) DEVICE FOR TRANSFORMING DATA BLOCKS DURING ENCRYPTION
CN103684748B (en) Symmetric encryption and decryption method, and symmetric encryption and decryption system
US20040096059A1 (en) Encryption apparatus with parallel Data Encryption Standard (DES) structure
Bajaj et al. AES algorithm for encryption
Wang et al. An ultra compact block cipher for serialized architecture implementations
CN115170380A (en) Image layered scrambling encryption method based on chaotic mapping
CN111510296A (en) SM4/AES dual-mode encryption circuit
Huang et al. A novel symmetric image encryption approach based on a new invertible two-dimensional map

Legal Events

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

Effective date: 20140530

NF4A Reinstatement of patent

Effective date: 20160627

MM4A The patent is invalid due to non-payment of fees

Effective date: 20180530