WO2016140596A1 - Data encryption device (variants) and system-on-chip using same (variants) - Google Patents

Data encryption device (variants) and system-on-chip using same (variants) Download PDF

Info

Publication number
WO2016140596A1
WO2016140596A1 PCT/RU2016/000123 RU2016000123W WO2016140596A1 WO 2016140596 A1 WO2016140596 A1 WO 2016140596A1 RU 2016000123 W RU2016000123 W RU 2016000123W WO 2016140596 A1 WO2016140596 A1 WO 2016140596A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
encryption
encryption device
internal
Prior art date
Application number
PCT/RU2016/000123
Other languages
French (fr)
Russian (ru)
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 EA201700121A priority Critical patent/EA201700121A1/en
Publication of WO2016140596A1 publication Critical patent/WO2016140596A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Definitions

  • the invention relates to data encryption devices that can be used as part of computing systems, for example, in systems on a chip (SoC) for encrypting data coming from the Internet, from hard drives or from other information storages.
  • SoC systems on a chip
  • the invention is known by the patent of the Russian Federation 2412479
  • a) at the hardware level it does not support the execution of individual encryption algorithms such as: simple replacement mode, gamming and gamming modes with feedback, as well as the mode of generating an insert (these modes are provided, for example, GOST 28147-89), b) it has a single mode of operation: reading data from memory, encrypting and writing the result to the internal register of the central processor or the built-in cache memory;
  • the claimed solution is a data encryption device (2 options), implemented as an integrated circuit with functional modules, and SoC using it (2 options).
  • the encryption device works in the following cryptographic conversion modes, namely: in the simple replacement mode, in the gamming and gamming modes with feedback, in the replacement mode with engagement, as well as in the mode of generating an insert. These modes can be used to implement a symmetrical block encoder that uses technology to replace open data with other elements according to certain rules (for example, in accordance with GOST 28147-89).
  • encryption we mean the process of cryptographic conversion (either encryption or decryption) of data occurring in the encryption device.
  • the symmetry property means using the same secret key for encryption and decryption. The difference is only in the sequence of application of the various components of the key during encryption and decryption. This sequence is determined algorithmically and does not change.
  • These algorithms implement the block type of encryption, which means that the array of encrypted data is divided into blocks of the same size. The processing of each block is carried out similarly to each other.
  • Data can be sent to the encryption device (7) from any available information storage in a format that satisfies the requirements for the algorithms implemented in the claimed invention, for example, in blocks of 64 bits each, from (external to the encryption device) memory (6) (for example, serial RAM) connected via a standard interface. After graduation The encryption device (7) sends the crypto-converted data back to the memory (6) (for the recipient, for example, in serial RAM), which is connected via a standard interface.
  • the purpose of creating an encryption device is to increase the speed of cryptographic data conversion processes using the simple replacement mode, gamma and gamma modes with feedback, replace mode with engagement, and the mode of generating an insert. Improving the performance of cryptographic data conversion processes (encryption acceleration) is achieved through the use of separate computing devices that process streaming data directly from external memory in relation to the encryption device as part of the encryption device, and not by using specialized software that uses the resources of the central processor, especially if This encryption device is used as part of SoC.
  • the encryption acceleration in the claimed encryption device (7) is achieved due to the following factors:
  • the encryption device provides data encryption without the direct involvement of the central processor, thereby freeing its resources for other operations.
  • the central processor when using the claimed encryption device (7) as part of the SoC, plays the role of a system arbiter when the device is turned on and off, controls interruptions and is responsible for managing its operating modes. Autonomous operation of the encryption device (7) from the central processor is ensured by the controller (4) integrated in the SoC, which provides direct access to the memory.
  • Data for encryption and encryption results can be transferred (see Fig. 1, 2) between the internal switching unit (3), the direct memory access controller (4) and the computing device (8) or devices (8), (9) depending on the adopted configuration of the encryption device (7) via internal buses (12), (13), (14), (15), (16) in packets consisting of frames.
  • the frame size corresponds to the size of the block of processed data (for example, 64 bits), its size remains unchanged during operation.
  • the frames from the packet are also transmitted to computing devices by the stream, ensuring the uninterrupted operation of the encryption process.
  • the internal switching unit (3) is capable of simultaneously transmitting data in both directions: to the controller (4) of direct access to and from the memory. Data can be accumulated in the controller's built-in repositories (4) to eliminate delays that may occur when working with external memory.
  • one encryption device may be included in the encryption device (7) module (8) (Fig. 1, 5) or two independent computing modules
  • the computing module (8) is used to implement the basic encryption cycle in accordance with the selected mode of operation, if only one is present in the encryption device (7), while it is used sequentially both to calculate the result of encryption of the data block and to calculate the insert (Fig. . fifteen).
  • the computing module (8) is used to implement the basic encryption cycle in accordance with the selected mode of operation, if only one is present in the encryption device (7), while it is used sequentially both to calculate the result of encryption of the data block and to calculate the insert (Fig. . fifteen).
  • both the result of encrypting the data block using the base cycle module (8) and the result of generating the self-insert using the module (9) of generating the self-insert (II) are calculated (Fig. 2, 6).
  • the use of a separate computing unit (9) for generating an imitation insert can further improve the performance of the entire encryption device (7) due to the fact that the main computing module (8), in this case, is used only for the encryption process.
  • the encryption algorithms supported in the claimed device contain the requirement of recursive block processing of the data array, in other words, the encryption of the next block requires the result of processing the previous one.
  • the total execution time of the encryption process increases in direct proportion to the amount of encrypted data.
  • the claimed encryption device (7) allows not only to reduce the encryption time, but also to reduce the cost of software resources of the SoC, in which it can be used, in particular, to isolate secret crypto attacks keys used in the process of data encryption and stored, usually in RAM, on a common basis. Private keys in this case are stored in the internal registers (18) of the encryption device (7), which do not allow the reading of their contents by software.
  • SoC working using the device (7) described in this application in 2 versions, can significantly reduce the execution time of the encryption process in comparison with known computing systems in which the data encryption process is carried out by software using the resources of the central microprocessor.
  • the processing of each data block requires the execution of a small subroutine that loads the data, performs the necessary calculations, and records the result of the crypto conversion.
  • the claimed SoC (1) (2 options), which includes the claimed encryption device (in 2 versions), is a system on a chip (SoC) with the possibility of using internal memory (6) with respect to the SoC (which is part of the SoC) (according to the first option - Fig. 1, 5) or external memory (6) with respect to the SoC (connected to the SoC via the standard interface according to the second option - Fig. 2, 6) (for example, as a memory, serial RAM can be used in both cases.
  • SoC includes:
  • - a general purpose central processing unit (2) that can execute programs; - encryption device (7), thanks to which data can be encrypted and decrypted;
  • FIG. 3 is a diagram of the operation of the encryption device (7) of the present invention.
  • FIG. 4 description of the simple replacement mode with engagement during encryption (a) and decryption (b).
  • the claimed device for encrypting (7) data according to algorithms, simple replacement, simple replacement with engagement, gamming and gamming with feedback, as well as calculating an insert includes a direct memory access controller (4) (6), which provides data for encryption from memory external to the encryption device (6) (e.g., serial RAM), which can be used in the particular case of the invention considered in two ways below, but without limiting it only to the cases considered by the used memory) to the encryption device (7) and encrypted or decrypted data from the encryption device (7) back to the memory (6) (for example, serial RAM, which can be either external to the SoC, or enter the SoC), a computing module (8) that provides data encryption in accordance with the selected mode of operation, a module for calculating the self-insert (9) (this module is not used in the encryption device (7) according to the first embodiment), as well as control registers that store information necessary for the encryption register, (17) (for example, 512-bit), into which the substitution table is loaded, register (18) (for example, 256
  • the above devices are interconnected as shown in FIG. 1, 5 (for the first embodiment of the encryption device (7)) and in FIG. 2, 6 (for the second embodiment of the encryption device (7)).
  • a controller (4) for direct memory access which simultaneously processes requests for reading / writing data from / to memory
  • a well-known (1P) solution from Synopsys or other equipment can be used, the main requirement for which is the possibility of simultaneous operation of the channel reading data from the memory (6) (for example, internal or external serial RAM) to the encryption device (7) and the channel for writing crypto-converted data from the encryption device (7) back to the memory (6) (for example, serial RAM).
  • the address-data bus (14) can be used, for example, satisfying the ANV (Advanced High-performance Bus) standard.
  • an address-data bus (15) can be used that satisfies, for example, the ANV (Advanced High-performance Bus) standard.
  • Computing module (8) has the ability to implement algorithms that provide the implementation of simple replacement mode, gamma mode and gamma mode with feedback provided, for example, GOST 28147-89.
  • the computing (8) module is supplemented with equipment for addition modulo 2 (operation ⁇ - “exclusive OR”).
  • This mode is different from the simple replacement mode that is described, for example, in GOST 28147-89, in that each subsequent data block, before starting processing, is “hooked” with the result obtained by processing the previous data block by adding modulo 2, as shown in FIG. four.
  • the encryption device (7) according to the second embodiment is supplemented by a computing module (9), which has the ability to parallelly implement the algorithm for generating an insert (provided, for example, GOST 28147-89).
  • the encryption device includes a control unit (21), which is implemented as a state machine, which is in a state of waiting for a command to be transferred, which transfers the encryption device (7) to one of the operating modes.
  • a control unit (21) which is implemented as a state machine, which is in a state of waiting for a command to be transferred, which transfers the encryption device (7) to one of the operating modes.
  • the encryption process begins.
  • the central processor (2) puts the encryption device (7) back into standby mode.
  • the control unit (21) also generates control and status signals necessary for the operation of the encryption device (7). At least the following types of signals are generated:
  • control unit (a) (21) signals that control the writing and reading of data to / from the control unit (a) (21), satisfying, for example, the ARV standard (Advanced Peripheral Bus).
  • ARV standard Advanced Peripheral Bus
  • the address-data bus (14) can be used, for example, satisfying the ANV standard.
  • the address-data bus (15) can be used, for example, satisfying the ANV standard.
  • Computing modules (8), (9) are connected to the registers (17), (18), (19), (20) and the control unit (21) for one or bidirectional data buses, for example, 64 bits wide.
  • the encryption device (7) may not contain a computing device dedicated only to calculate the insert (9), as shown in FIG. one .
  • Part of the encryption algorithms implemented in the claimed invention of the device (7) does not require the calculation of an insert, therefore, such an implementation may be the best option.
  • the encryption device (7) (Fig. 1) can be switched to the mode accompanied by the calculation of the insert, and its calculation will be performed in the computing device (8) after the end of the main encryption process.
  • the control unit (21) redirects the corresponding operands to the computing device (8).
  • the result of computing the insert regardless of the configuration of the encryption device (7), is stored in the data register (20).
  • the operation algorithm of the data encryption device (7) is presented in general form in FIG. 3.
  • the encryption device (7) is in the standby mode of the arrival of control commands.
  • condition-1 is checked as to whether updating the replacement table in the register (17) is used, which is used for encryption in accordance with the standard GOST 28147-89.
  • the control unit (21) can store the standard value of the replacement table. If “Yes”, then the table is loaded, if “No”, then condition-2 is further checked as to whether the encryption key needs to be loaded into the register (18). In the general case, the same key can be used for several data blocks and its updating is not required. If “Yes”, then the key is loaded, if “No”, then condition-3 is checked further as to whether it is necessary to load the initialization clock vector into register (19), which is used only in part of the operating modes provided for by the standard GOST 28147-89.
  • condition-4 is checked further on whether loading the initialization vector of the insertion code into register (20), which is used only in part of the operating modes, is required standard GOST 28147-89. If “Yes”, then the insert vector is loaded, if “No”, then the encryption working mode is set further.
  • condition-5 is checked as to whether the operation mode with direct memory access is set.
  • the central processor (2) performs programming of the controller (4) with at least an address in memory from where the data for encryption must be downloaded, addresses in memory at which crypto-converted data must be saved, and the size of the data array for encryption. Then, as data is received from the memory, they arrive in blocks in a computing device (8) or device (8), (9), depending on the operating mode and configuration of the encryption device (7). After encryption, the data is transferred back to memory at a known address. Then, condition-6 is checked as to whether the block just processed is the last in the data array. If “Yes”, then the encryption device finishes its operation and waits for a command from the central processor (2), which puts the encryption device (7) into standby mode, if “No”, then the next data block is processed as described above.
  • the encryption device (7) If the mode is set without direct access to the memory, then the encryption device (7) expects the central processor (2) to download the data block for encryption, according to the set operation mode. At the end of the encryption, the encryption device (7) expects a command from the central processor (2) to read crypto-converted data. After reading the result, the device is put into standby mode.
  • IP information exchange
  • Synopsys can be used as an internal switching unit (3) and as a memory controller (5).
  • Data exchange between the central processor and the rest of the SoC nodes is carried out through the internal switching unit using the address-data bus, for example, satisfying the Advanced extensible Interface (AXI) standard.
  • AXI Advanced extensible Interface
  • the functioning of the SoC (1) is carried out by programming the central processor (2), which can be used, for example, the microprocessor system MIPS P-5600 from Imagination Technologies, and the commands from which are transmitted via the configuration interface (1 1), which includes , at least, bus address, data and control bus of transmitted information.
  • the control signals are sent to the controller (4) direct access to the memory and to the control unit (21) of the encryption device (7).
  • the controller (4) for direct access to the memory is programmed, setting the addresses for which it is necessary to take data for encryption from the memory ( 6) (for example, external or part of the SN serial RAM) and return (save, send) back to the memory (6) data crypto-converted by the encryption device (7), and the rules for generating interrupts at the end of the transfer are also programmed and data to / from the memory (6).
  • the encryption result is accumulated in the control unit (21) of the encryption device (7) and, depending on the selected operating mode, is sent back to the memory (6) (for example, an external or sequential SoC component) RAM) through the controller (4) direct access to the memory, or stored in the control unit (21), waiting for a request to "read" from the central processor (2), when using an encryption device as part of a computing system.
  • the result of the development of the insert is also read on request from the central processor (2) from the corresponding register (20).
  • the configuration bus (11) of the address data for controlling the operation of the encryption device for example, satisfying the ARV standard.
  • the address-data bus (12) can be used, for example, satisfying the AXI standard.
  • the address-data bus (13), for example, satisfying the AXI standard can be used.
  • the address-data bus (14) can be used, for example, which satisfies the ANV standard.
  • an address-data bus (15) can be used, for example, satisfying the ANV standard. Data from the memory is transferred to the memory controller (5) and back via the standard interface.
  • the address-data bus (16) for example, satisfying the AXI standard, can be used.
  • the data for encryption can either be received in streaming form directly from the memory (6) (for example, serial RAM) through the direct memory access controller (4), or received as a single data block by command CPU (2). In the latter case, the result of the crypto conversion becomes available to the central processor for reading through the internal switching unit.
  • preliminary programming the controller (4) indicating the address at which data is located in memory (6) (in external or part of the SoC serial RAM), the addresses at which crypto-converted data should be stored (sent) back to memory (6), as well as the size of the data for crypto conversion.
  • preliminary programming of the controller (4) is not required.
  • the first embodiment of the encryption device shown in FIG. 1 we obtain the first version of SoC
  • the second version of the encryption device shown in FIG. 2 we obtain the second version of SoC.
  • the functioning of the SoC in both cases is carried out similarly, with the exception of the encryption processes occurring in the encryption device (7).
  • the second version of SoC is preferable to use to speed up the encryption process in the modes accompanied by the calculation of the self-insert using the encryption unit (9) of the encryption device (7), which allows it to be computed in parallel with the main encryption process occurring in the computing unit (8).
  • an external serial RAM for example, SRAM, DDR, DDR2, DDR3, etc.
  • TLS Transport Layer Security — a cryptographic protocol that provides secure data transfer between nodes on the Internet.
  • the invention can also be widely applied in SoCs, controllers that encrypt data coming from the Internet or on hard drives.

Abstract

The group of inventions relates to the field of microelectronics and computer technology and can be used in high-throughput computer systems to reduce the time taken to encrypt data streams by using a specialized data encryption device. The present encryption device comprises a direct memory access controller, which allows a data set to be loaded from a memory for encryption of the data and saving of the cryptographically transformed data back to the memory; a computing unit capable of encrypting data according to a chosen algorithm; data registers for storing substitution tables; data registers for storing encryption keys; registers for storing initialization and checksum vectors; and a control unit. This device can be built into system-on-chips in which data for encryption can be received directly from an external memory (outside the chip) or an internal memory (on the chip).

Description

УСТРОЙСТВО ШИФРОВАНИЯ ДАННЫХ (ВАРИАНТЫ), СИСТЕМА НА  DATA ENCRYPTION DEVICE (OPTIONS), SYSTEM ON
КРИСТАЛЛЕ С ЕГО ИСПОЛЬЗОВАНИЕМ (ВАРИАНТЫ)  CRYSTAL WITH ITS USE (OPTIONS)
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
Изобретение относится к устройствам шифрования данных, которые могут использоваться в составе вычислительных систем, например, в системах на кристалле (СнК) для шифрования данных, поступающих из сети Интернет, с жестких дисков или из других хранилищ информации.  The invention relates to data encryption devices that can be used as part of computing systems, for example, in systems on a chip (SoC) for encrypting data coming from the Internet, from hard drives or from other information storages.
УРОВЕНЬ ТЕХНИКИ  BACKGROUND
Известно изобретение по патенту РФ 2412479 The invention is known by the patent of the Russian Federation 2412479
(правообладатель Сименс, МПК G06F 21/00 G06F 1/00, 2006), относящееся к комплексной системе защиты данных, содержащей функциональный модуль шифрования, посредством которого данные или программные коды могут зашифровываться и расшифровываться, при этом схема предполагает как возможность, так и отсутствие возможности хранения в ней ключей, встроенные часы реального времени для контроля изменения частоты, встроенный источник питания для уничтожения ключей. В известном решении для шифрования используют отдельные вычислительные устройства в составе единой интегральной схемы. Известное решение является наиболее близким к заявляемому изобретению устройством того же назначения, однако в нем есть существенные недостатки, обусловленные тем, что: (copyright holder Siemens, IPC G06F 21/00 G06F 1/00, 2006) relating to an integrated data protection system containing a functional encryption module by which data or program codes can be encrypted and decrypted, while the scheme implies both possibility and absence the possibilities of storing keys in it, a built-in real-time clock to control frequency changes, an integrated power source for destroying keys. In the known solution for encryption, separate computing devices are used as part of a single integrated circuit. The known solution is the closest to the claimed invention a device of the same purpose, however, it has significant disadvantages due to the fact that:
а) на уровне аппаратуры в нем не поддерживается выполнение отдельных алгоритмов шифрования таких как: режим простой замены, режимы гаммирования и гаммирования с обратной связью, а также режим выработки имитовставки (указанные режимы предусмотрены, например, ГОСТ 28147-89), б) для него предусмотрен единственный режим работы: считывание данных из памяти, проведение шифрования и запись результата во внутренний регистр центрального процессора или встроенную кэш-память; a) at the hardware level, it does not support the execution of individual encryption algorithms such as: simple replacement mode, gamming and gamming modes with feedback, as well as the mode of generating an insert (these modes are provided, for example, GOST 28147-89), b) it has a single mode of operation: reading data from memory, encrypting and writing the result to the internal register of the central processor or the built-in cache memory;
в) в нем не предусмотрен режим работы с потоковым шифрованием данных, находящихся во внешней памяти (например, внешнем ОЗУ), с последующим помещением расшифрованных/зашифрованных данных обратно во внешнее ОЗУ, как это предусмотрено в заявленном устройстве;  c) it does not provide a mode of operation with stream encryption of data located in external memory (for example, external RAM), followed by the placement of decrypted / encrypted data back into external RAM, as provided for in the claimed device;
г) нет возможности сокращения общего времени, требуемого для шифрования массива данных, которое осуществляется в заявленном решении, которое стало возможным благодаря схеме, прямо специфицирующей сокращение общего времени, требуемого для шифрования массива данных, путем использования встроенного оборудования, позволяющего одновременно передавать данные из памяти для зашифровывания/расшифровывания с последующим возвратом результатов шифрования обратно в память.  d) there is no possibility of reducing the total time required for encrypting the data array, which is carried out in the claimed solution, which was made possible thanks to a scheme that directly specifies the reduction of the total time required for encrypting the data array by using built-in equipment that allows the simultaneous transfer of data from memory to encryption / decryption with the subsequent return of the encryption results back to memory.
Другие известные вычислительные системы без устройства шифрования, представленного в данном изобретении, осуществляют процесс шифрования данных программными средствами, используя только ресурсы центрального микропроцессора.  Other well-known computing systems without the encryption device of the present invention carry out a process of encrypting data by software using only the resources of the central microprocessor.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ  SUMMARY OF THE INVENTION
Заявленное решение представляет собой устройство шифрования данных (2 варианта), реализованное в виде интегральной схемы с функциональными модулями, и СнК с его использованием (2 варианта). Устройство шифрования работает в следующих режимах криптопреобразований, а именно: в режиме простой замены, в режимах гаммирования и гаммирования с обратной связью, в режиме замены с зацеплением, а также в режиме выработки имитовставки. Данные режимы можно использовать для реализации блочного симметричного шифратора, использующего технологию замены открытых данных другими элементами по определенным правилам (например, в соответствии с ГОСТ 28147- 89). The claimed solution is a data encryption device (2 options), implemented as an integrated circuit with functional modules, and SoC using it (2 options). The encryption device works in the following cryptographic conversion modes, namely: in the simple replacement mode, in the gamming and gamming modes with feedback, in the replacement mode with engagement, as well as in the mode of generating an insert. These modes can be used to implement a symmetrical block encoder that uses technology to replace open data with other elements according to certain rules (for example, in accordance with GOST 28147-89).
В описании изобретения под шифрованием понимаем процесс криптопреобразования (либо зашифровывание, либо расшифровывание) данных, происходящий в устройстве шифрования. Свойство симметричности означает использование для зашифровывания и расшифровывания одного и того же секретного ключа. Разница лишь в последовательности применения различных составных элементов ключа при зашифровывании и расшифровывании. Эта последовательность определяется алгоритмически и не изменяется. Данные алгоритмы реализуют блочный тип шифрования, это означает, что массив шифруемых данных разделяется на блоки одинакового размера. Обработка каждого блока осуществляется аналогично друг другу.  In the description of the invention, by encryption we mean the process of cryptographic conversion (either encryption or decryption) of data occurring in the encryption device. The symmetry property means using the same secret key for encryption and decryption. The difference is only in the sequence of application of the various components of the key during encryption and decryption. This sequence is determined algorithmically and does not change. These algorithms implement the block type of encryption, which means that the array of encrypted data is divided into blocks of the same size. The processing of each block is carried out similarly to each other.
В устройство (7) шифрования данные могут поступать из любого доступного хранилища информации в формате, удовлетворяющем требованиям, предъявляемым к работе алгоритмов, реализованных в заявленном изобретении, например, блоками по 64 бит каждый, из (внешней для устройства шифрования) памяти (6) (например, последовательного ОЗУ), подключаемой по стандартному интерфейсу. После окончания работы устройство (7) шифрования отправляет криптопреобразованные данные обратно в память (6) (получателю, например, в последовательное ОЗУ), подключаемое по стандартному интерфейсу. Data can be sent to the encryption device (7) from any available information storage in a format that satisfies the requirements for the algorithms implemented in the claimed invention, for example, in blocks of 64 bits each, from (external to the encryption device) memory (6) ( for example, serial RAM) connected via a standard interface. After graduation The encryption device (7) sends the crypto-converted data back to the memory (6) (for the recipient, for example, in serial RAM), which is connected via a standard interface.
Целью создания устройства шифрования является повышение быстродействия процессов криптопреобразования данных с использованием режима простой замены, режимов гаммирования и гаммирования с обратной связью, режима замены с зацеплением, а также режима выработки имитовставки. Повышение быстродействия процессов криптопреобразования данных (ускорение шифрования) осуществляется за счет использования в составе устройства шифрования отдельных вычислительных устройств, обрабатывающих потоковые данные непосредственно из внешней памяти по отношению к устройству шифрования, а не путем использования специализированного программного обеспечения, использующего ресурсы центрального процессора, особенно, если это устройство шифрования используется в составе СнК.  The purpose of creating an encryption device is to increase the speed of cryptographic data conversion processes using the simple replacement mode, gamma and gamma modes with feedback, replace mode with engagement, and the mode of generating an insert. Improving the performance of cryptographic data conversion processes (encryption acceleration) is achieved through the use of separate computing devices that process streaming data directly from external memory in relation to the encryption device as part of the encryption device, and not by using specialized software that uses the resources of the central processor, especially if This encryption device is used as part of SoC.
В таком случае ускорение шифрования в заявленном устройстве (7) шифрования достигается за счет следующих факторов:  In this case, the encryption acceleration in the claimed encryption device (7) is achieved due to the following factors:
1) В отличие от стандартного подхода, устройство шифрования обеспечивает шифрование данных без непосредственного участия центрального процессора, тем самым освобождая его ресурсы для других операций. Центральный процессор при использовании заявленного устройства (7) шифрования в составе СнК играет роль системного арбитра при включении, выключении устройства, управляет прерываниями и отвечает за управление режимами его работы. Автономная от центрального процессора работа устройства (7) шифрования обеспечивается за счет встроенного в СнК контроллера (4), обеспечивающего прямой доступ к памяти. 1) Unlike the standard approach, the encryption device provides data encryption without the direct involvement of the central processor, thereby freeing its resources for other operations. The central processor, when using the claimed encryption device (7) as part of the SoC, plays the role of a system arbiter when the device is turned on and off, controls interruptions and is responsible for managing its operating modes. Autonomous operation of the encryption device (7) from the central processor is ensured by the controller (4) integrated in the SoC, which provides direct access to the memory.
2) Шифрование каждого блока данных выполняется последовательно, в частности, удовлетворяя требованию, предъявляемому к работе блочных алгоритмов шифрования, реализованных в данном устройстве. В заявленном решении время криптопреобразования одного блока является фиксированным, не зависящим от нагрузки на центральный процессор СнК.  2) The encryption of each data block is performed sequentially, in particular, satisfying the requirement for the operation of block encryption algorithms implemented in this device. In the claimed solution, the cryptoconversion time of one block is fixed, independent of the load on the central processor of the SoC.
3) Данные для шифрования и результаты шифрования могут передаваться (см. фиг. 1 , 2) между блоком (3) внутренней коммутации, контроллером (4) прямого доступа к памяти и вычислительным устройством (8) или устройствами (8), (9) в зависимости от принятой конфигурации устройства (7) шифрования по внутренним шинам (12), (13), ( 14), (15), (16) пакетами, состоящими из кадров. Размер кадра соответствует размеру блока обрабатываемых данных (например, 64 бита), его размер остается неизменным в процессе работы. Кадры из пакета поступают на вычислительные устройства также потоком, обеспечивая бесперебойность процесса шифрования.  3) Data for encryption and encryption results can be transferred (see Fig. 1, 2) between the internal switching unit (3), the direct memory access controller (4) and the computing device (8) or devices (8), (9) depending on the adopted configuration of the encryption device (7) via internal buses (12), (13), (14), (15), (16) in packets consisting of frames. The frame size corresponds to the size of the block of processed data (for example, 64 bits), its size remains unchanged during operation. The frames from the packet are also transmitted to computing devices by the stream, ensuring the uninterrupted operation of the encryption process.
4) Блок (3) внутренней коммутации способен одновременно передавать данные в обоих направлениях: в контроллер (4) прямого доступа к памяти и из него. Данные могут накапливаться во встроенных хранилищах контроллера (4) для устранения задержек, которые могут возникнуть при работе с внешней памятью.  4) The internal switching unit (3) is capable of simultaneously transmitting data in both directions: to the controller (4) of direct access to and from the memory. Data can be accumulated in the controller's built-in repositories (4) to eliminate delays that may occur when working with external memory.
5) Для обеспечения шифрования в устройство (7) шифрования могут быть включены или один вычислительный модуль (8) (Фиг. 1 , 5) или два независимых вычислительных модуля5) To provide encryption, one encryption device may be included in the encryption device (7) module (8) (Fig. 1, 5) or two independent computing modules
(8) и(9) (Фиг. 2, 6). Вычислительный модуль (8) используется для реализации базового цикла шифрования в соответствии с выбранным режимом работы, если только он один присутствует в устройстве (7) шифрования, при этом он используется последовательно как для вычисления результата шифрования блока данных, так и для вычисления имитовставки (Фиг. 1 , 5). При использовании двух независимых вычислительных модулей (8) и(8) and (9) (Fig. 2, 6). The computing module (8) is used to implement the basic encryption cycle in accordance with the selected mode of operation, if only one is present in the encryption device (7), while it is used sequentially both to calculate the result of encryption of the data block and to calculate the insert (Fig. . fifteen). When using two independent computing modules (8) and
(9) , одновременно вычисляются как результат шифрования блока данных с использованием модуля (8) базового цикла, так и результат выработки имитовставки, с использованием модуля (9) выработки имитовставки (ИВ) (Фиг. 2, 6). Использование отдельного вычислительного блока (9) для выработки имитовставки позволяет дополнительно повысить быстродействие всего устройства (7) шифрования благодаря тому, что основной вычислительный модуль (8), в этом случае, используется только для процесса шифрования. (9), at the same time, both the result of encrypting the data block using the base cycle module (8) and the result of generating the self-insert using the module (9) of generating the self-insert (II) are calculated (Fig. 2, 6). The use of a separate computing unit (9) for generating an imitation insert can further improve the performance of the entire encryption device (7) due to the fact that the main computing module (8), in this case, is used only for the encryption process.
Алгоритмы шифрования, поддерживаемые в заявленном устройстве, содержат требование рекурсивной блочной обработки массива данных, иными словами для шифрования следующего блока требуется результат обработки предыдущего. При использовании известных подходов общее время выполнения процесса шифрования увеличивается прямо пропорционально объему шифруемых данных.  The encryption algorithms supported in the claimed device contain the requirement of recursive block processing of the data array, in other words, the encryption of the next block requires the result of processing the previous one. Using well-known approaches, the total execution time of the encryption process increases in direct proportion to the amount of encrypted data.
Заявленное устройство (7) шифрования позволяет не только сократить время шифрования, но и уменьшить затраты программных ресурсов СнК, в которой оно может быть использовано, в частности на изоляцию от крипто-атак секретных ключей, используемых в процессе шифрования данных и хранящихся, обычно, в оперативной памяти на общих основаниях. Секретные ключи в рассматриваемом случае хранятся во внутренних регистрах (18) устройства (7) шифрования, не допускающих считывание их содержимого программными средствами. The claimed encryption device (7) allows not only to reduce the encryption time, but also to reduce the cost of software resources of the SoC, in which it can be used, in particular, to isolate secret crypto attacks keys used in the process of data encryption and stored, usually in RAM, on a common basis. Private keys in this case are stored in the internal registers (18) of the encryption device (7), which do not allow the reading of their contents by software.
СнК, работающая с использованием устройства (7), описанного в данной заявке в 2-х вариантах, позволяет существенно сократить время выполнения процесса шифрования по сравнению с известными вычислительными системами, в которых процесс шифрования данных осуществляют программными средствами, используя ресурсы центрального микропроцессора. В таких системах обработка каждого блока данных требует исполнения небольшой подпрограммы, осуществляющей загрузку данных, выполнение необходимых вычислений и запись результата криптопреобразования.  SoC, working using the device (7) described in this application in 2 versions, can significantly reduce the execution time of the encryption process in comparison with known computing systems in which the data encryption process is carried out by software using the resources of the central microprocessor. In such systems, the processing of each data block requires the execution of a small subroutine that loads the data, performs the necessary calculations, and records the result of the crypto conversion.
Заявленная СнК (1) (2 варианта), включающая в себя заявленное устройство шифрования (в 2-х вариантах), представляет собой систему на кристалле (СнК) с возможностью использования внутренней памяти (6) по отношению к СнК (входящей в состав СнК) (по первому варианту - Фиг. 1 , 5) или внешней памяти (6) по отношению к СнК (подключаемой к СнК по стандартному интерфейсу по второму варианту - Фиг. 2, 6) (например, в качестве памяти может использоваться последовательное ОЗУ в обоих случаях. В СнК включены:  The claimed SoC (1) (2 options), which includes the claimed encryption device (in 2 versions), is a system on a chip (SoC) with the possibility of using internal memory (6) with respect to the SoC (which is part of the SoC) (according to the first option - Fig. 1, 5) or external memory (6) with respect to the SoC (connected to the SoC via the standard interface according to the second option - Fig. 2, 6) (for example, as a memory, serial RAM can be used in both cases. SoC includes:
- центральный процессор (2) общего назначения, который может исполнять программы; - устройство шифрования (7), благодаря которому данные могут зашифровываться и расшифровываться; - a general purpose central processing unit (2) that can execute programs; - encryption device (7), thanks to which data can be encrypted and decrypted;
- блок (3) внутренней коммутации, который обеспечивает обмен данными между элементами системы;  - internal switching unit (3), which provides data exchange between system elements;
- контроллер (5) доступа к памяти (6).  - memory access controller (5) (6).
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ  LIST OF DRAWINGS
Фиг. 1 — архитектура СнК с использованием заявленного устройства (7) шифрования (с использованием первого варианта устройства шифрования) на базе одного вычислительного модуля (8), когда память является внешней по отношению к СнК.  FIG. 1 - SoC architecture using the claimed encryption device (7) (using the first embodiment of the encryption device) based on one computing module (8), when the memory is external to the SoC.
Фиг. 2 — архитектура СнК с использованием заявленного устройства (7) шифрования (с использованием второго варианта устройства шифрования), включающего дополнительный вычислительный модуль (9) для выработки имитовставки, когда память является внешней по отношению к СнК.  FIG. 2 - architecture of the SoC using the claimed encryption device (7) (using the second version of the encryption device), including an additional computing module (9) for generating an insert when the memory is external with respect to the SoC.
Фиг. 3 — алгоритм функционирования устройства (7) шифрования, представленного в данном изобретении.  FIG. 3 is a diagram of the operation of the encryption device (7) of the present invention.
Фиг. 4— описание режима простой замены с зацеплением при зашифровывании (а) и расшифровывании (б).  FIG. 4 — description of the simple replacement mode with engagement during encryption (a) and decryption (b).
Фиг. 5 - архитектура СнК с использованием заявленного устройства (7) шифрования (с использованием первого варианта устройства шифрования) на базе одного вычислительного модуля (8), когда память является внутренней памятью, входящей в СнК.  FIG. 5 - SoC architecture using the claimed encryption device (7) (using the first embodiment of the encryption device) based on one computing module (8), when the memory is internal memory included in the SoC.
Фиг. 6 - архитектура СнК с использованием заявленного устройства (7) шифрования (с использованием второго варианта устройства шифрования), включающего дополнительный вычислительный модуль (9) для выработки имитовставки, когда память является внутренней памятью, входящей в СнК. ПРИМЕРЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ FIG. 6 - SoC architecture using the claimed encryption device (7) (using the second version of the encryption device), including an additional computing module (9) for generating an insert when the memory is internal memory included in the SoC. MODES FOR CARRYING OUT THE INVENTION
Заявленное устройство шифрования (7) данных по алгоритмам, простой замены, простой замены с зацеплением, гаммирования и гаммирования с обратной связью, а также вычисления имитовставки, включает в себя контроллер (4) прямого доступа к памяти (6), обеспечивающий передачу данных для шифрования из внешней по отношению к устройству шифрования памяти (6) (например, последовательного ОЗУ), которое может использоваться в частном случае осуществления изобретения, рассматриваемого ниже в двух вариантах, но не ограничивая его только рассмотренными случаями используемой памяти) в устройство (7) шифрования и зашифрованных или расшифрованных данных из устройства (7) шифрования обратно в память (6) (например, последовательное ОЗУ, которое может быть как внешним по отношению к СнК, так и входить в СнК), вычислительный модуль (8), обеспечивающий шифрование данных в соответствии с выбранным режимом работы, модуль вычисления имитовставки (9) (данный модуль не используется в устройстве (7) шифрования по первому варианту), а также управляющие регистры, хранящие информацию, необходимую для проведения шифрования, а именно: регистр (17) (например, 512-бит), в который загружается таблица замен, регистр ( 18) (например, 256-бит), в который загружается ключ для шифрования, регистр (19) (например, 64-бит), в который загружается инициализирующий вектор синхропосылки, используемый для шифрования в режимах гаммирования и гаммирования с обратной связью, а также регистр (20) (например, 64-бит), в который загружается инициализирующий вектор имитовставки. Указанные выше устройства соединяются между собой как показано на фиг. 1 , 5 (для первого варианта устройства (7) шифрования) и на фиг. 2, 6 (для второго варианта устройства (7) шифрования). В качестве контроллера (4) прямого доступа к памяти, одновременно обрабатывающего запросы на чтение/запись данных из/в память, может быть использовано известное (1Р)-решение от фирмы Synopsys или другое оборудование, основное требование к которому - это возможность одновременной работы канала чтения данных из памяти (6) (например, внутреннего или внешнего последовательного ОЗУ) в устройство (7) шифрования и канала записи криптопреобразованных данных из устройства (7) шифрования обратно в память (6) (например, последовательное ОЗУ). Для передачи данных для шифрования в вычислительные модули (8) и (9) может быть использована шина (14) адрес- данные, например, удовлетворяющая стандарту АНВ (Advanced High-performance Bus). Для передачи криптопреобразованных данных в контроллер (4) прямого доступа в память (6) может быть использована шина (15) адрес-данные, удовлетворяющая, например, стандарту АНВ (Advanced High-performance Bus). Вычислительный модуль (8) имеет возможность реализации алгоритмов, обеспечивающих реализацию режима простой замены, режима гаммирования и режима гаммирования с обратной связью, предусмотренных, например, ГОСТ 28147-89. The claimed device for encrypting (7) data according to algorithms, simple replacement, simple replacement with engagement, gamming and gamming with feedback, as well as calculating an insert, includes a direct memory access controller (4) (6), which provides data for encryption from memory external to the encryption device (6) (e.g., serial RAM), which can be used in the particular case of the invention considered in two ways below, but without limiting it only to the cases considered by the used memory) to the encryption device (7) and encrypted or decrypted data from the encryption device (7) back to the memory (6) (for example, serial RAM, which can be either external to the SoC, or enter the SoC), a computing module (8) that provides data encryption in accordance with the selected mode of operation, a module for calculating the self-insert (9) (this module is not used in the encryption device (7) according to the first embodiment), as well as control registers that store information necessary for the encryption register, (17) (for example, 512-bit), into which the substitution table is loaded, register (18) (for example, 256-bit), in which the encryption key is loaded, register (19) (for example, 64 -bit) into which the initialization clock vector is used, which is used for encryption in gamma and gamma modes with feedback, and also register (20) (for example, 64-bit) into which the initialization clock is loaded vector insertions. The above devices are interconnected as shown in FIG. 1, 5 (for the first embodiment of the encryption device (7)) and in FIG. 2, 6 (for the second embodiment of the encryption device (7)). As a controller (4) for direct memory access, which simultaneously processes requests for reading / writing data from / to memory, a well-known (1P) solution from Synopsys or other equipment can be used, the main requirement for which is the possibility of simultaneous operation of the channel reading data from the memory (6) (for example, internal or external serial RAM) to the encryption device (7) and the channel for writing crypto-converted data from the encryption device (7) back to the memory (6) (for example, serial RAM). To transfer data for encryption to the computing modules (8) and (9), the address-data bus (14) can be used, for example, satisfying the ANV (Advanced High-performance Bus) standard. To transfer crypto-converted data to the direct access controller (4) in memory (6), an address-data bus (15) can be used that satisfies, for example, the ANV (Advanced High-performance Bus) standard. Computing module (8) has the ability to implement algorithms that provide the implementation of simple replacement mode, gamma mode and gamma mode with feedback provided, for example, GOST 28147-89.
Для шифрования в режиме простой замены с зацеплением вычислительный (8) модуль дополняется оборудованием для сложения по модулю 2 (операция Θ - «исключающее ИЛИ»). Этот режим отличается от режима простой замены, который описан, например, в ГОСТ 28147-89, тем, что каждый следующий блок данных, перед началом обработки «зацепляется» с результатом, полученным при обработке предыдущего блока данных, путем сложения по модулю 2, как представлено на фиг. 4. For encryption in the simple replacement with engagement mode, the computing (8) module is supplemented with equipment for addition modulo 2 (operation Θ - “exclusive OR”). This mode is different from the simple replacement mode that is described, for example, in GOST 28147-89, in that each subsequent data block, before starting processing, is “hooked” with the result obtained by processing the previous data block by adding modulo 2, as shown in FIG. four.
Для оптимизации процесса шифрования устройство (7) шифрования по второму варианту дополняется вычислительным модулем (9), имеющим возможность параллельной реализации алгоритма выработки имитовставки (предусмотренного, например, ГОСТ 28147-89).  To optimize the encryption process, the encryption device (7) according to the second embodiment is supplemented by a computing module (9), which has the ability to parallelly implement the algorithm for generating an insert (provided, for example, GOST 28147-89).
В состав устройства шифрования входит блок (21 ) управления, который реализован в виде конечного автомата, находящегося в состоянии ожидания поступления команды, переводящей устройство (7) шифрования в один из рабочих режимов. Под выбором режима работы устройства (7) шифрования, представленного в данном изобретении, понимается установление в активное состояние одного из алгоритмов шифрования, путем программирования блока (21 ) управления, в устройстве (7) шифрования.  The encryption device includes a control unit (21), which is implemented as a state machine, which is in a state of waiting for a command to be transferred, which transfers the encryption device (7) to one of the operating modes. By selecting the operating mode of the encryption device (7) presented in this invention, it is understood that one of the encryption algorithms is activated by programming the control unit (21) in the encryption device (7).
После выставления одного из рабочих режимов работы начинается процесс шифрования. По окончании шифрования центральный процессор (2) переводит устройство (7) шифрования обратно в режим ожидания.  After setting one of the operating modes, the encryption process begins. At the end of the encryption, the central processor (2) puts the encryption device (7) back into standby mode.
Блок (21) управления вырабатывает также управляющие и статусные сигналы, необходимые для работы устройства (7) шифрования. По меньшей мере, вырабатываются следующие виды сигналов:  The control unit (21) also generates control and status signals necessary for the operation of the encryption device (7). At least the following types of signals are generated:
- статус работы устройства (7) шифрования (шифрование завершено/шифрование продолжается); - сигналы, управляющие передачей данных в вычислительные устройства (8), (9) из контроллера (4) и криптопреобразованных данных обратно в контроллер (4), удовлетворяющие, например, стандарту АНВ (Advanced High-performance Bus); - the status of the operation of the encryption device (7) (encryption is completed / encryption continues); - signals that control the transfer of data to computing devices (8), (9) from the controller (4) and cryptoconverted data back to the controller (4), satisfying, for example, the standard of the ANV (Advanced High-performance Bus);
- сигналы, управляющие записью и чтением данных в/из блок(а) (21) управления, удовлетворяющие, например, стандарту АРВ (Advanced Peripheral Bus).  - signals that control the writing and reading of data to / from the control unit (a) (21), satisfying, for example, the ARV standard (Advanced Peripheral Bus).
Для передачи данных для шифрования в вычислительные модули (8) и (9) может быть использована шина (14) адрес- данные, например, удовлетворяющая стандарту АНВ. Для передачи криптопреобразованных данных в контроллер прямого доступа в память может быть использована шина (15) адрес- данные, например, удовлетворяющая стандарту АНВ.  To transfer data for encryption to the computing modules (8) and (9), the address-data bus (14) can be used, for example, satisfying the ANV standard. To transfer crypto-converted data to the direct memory access controller, the address-data bus (15) can be used, for example, satisfying the ANV standard.
Вычислительные модули (8), (9) соединяются с регистрами (17), (18), ( 19), (20) и блоком (21) управления одно или двунаправленным шинам данных, например, шириной 64 бита.  Computing modules (8), (9) are connected to the registers (17), (18), (19), (20) and the control unit (21) for one or bidirectional data buses, for example, 64 bits wide.
В зависимости от требований к производительности устройство (7) шифрования может не содержать вычислительного устройства, выделенного только для вычисления имитовставки (9), как показано на фиг. 1 . Часть алгоритмов шифрования, реализованных в заявляемом изобретении устройства (7), не требует вычисления имитовставки, поэтому такая реализация может оказаться оптимальным вариантом.  Depending on the performance requirements, the encryption device (7) may not contain a computing device dedicated only to calculate the insert (9), as shown in FIG. one . Part of the encryption algorithms implemented in the claimed invention of the device (7) does not require the calculation of an insert, therefore, such an implementation may be the best option.
В случае, если пользователь желает осуществлять шифрование с вычислением имитовставки, то устройство (7) шифрования (фиг. 1) может быть переведено в режим, сопровождаемый вычислением имитовставки, а ее вычисление будет производиться в вычислительном устройстве (8) после окончания процесса основного процесса шифрования. Блок (21 ) управления перенаправляет соответствующие операнды в вычислительное устройство (8). Результат вычисления имитовставки, в независимости от конфигурации устройства (7) шифрования, сохраняется в регистре (20) данных. If the user wants to perform encryption with the calculation of the insert, then the encryption device (7) (Fig. 1) can be switched to the mode accompanied by the calculation of the insert, and its calculation will be performed in the computing device (8) after the end of the main encryption process. The control unit (21) redirects the corresponding operands to the computing device (8). The result of computing the insert, regardless of the configuration of the encryption device (7), is stored in the data register (20).
Алгоритм работы устройства (7) шифрования данных в общем виде представлен на фиг. 3. Устройство (7) шифрования находится в режиме ожидания прихода управляющих команд.  The operation algorithm of the data encryption device (7) is presented in general form in FIG. 3. The encryption device (7) is in the standby mode of the arrival of control commands.
Перед выставлением активного режима работы устройства (7) проверяется условие- 1 , относительно того, требуется ли обновление таблицы замен в регистре (17), используемой при шифровании в соответствии со стандартом ГОСТ 28147-89. По умолчанию блок (21) управления может хранить стандартное значение таблицы замен. Если «Да», то таблица загружается, если «Нет», то далее проверяется условие-2, относительно того, требуется ли загрузка шифровального ключа в регистр ( 18). В общем случае один и тот же ключ может использоваться для нескольких блоков данных и его обновление не требуется. Если «Да», то ключ загружается, если «Нет», то далее проверяется условие-3 относительно того, требуется ли загрузка инициализирующего вектора синхропосылки в регистр (19), используемого лишь в части рабочих режимов работы, предусмотренных стандартом ГОСТ 28147-89. Если «Да», то вектор синхропосылки загружается, если «Нет», то далее проверяется условие-4 относительно того, требуется ли загрузка инициализирующего вектора имитовставки в регистр (20), используемого лишь в части рабочих режимов, предусмотренных стандартом ГОСТ 28147-89. Если «Да», то вектор имитовставки загружается, если «Нет», то далее выставляется рабочий режим шифрования. Before setting the active operating mode of the device (7), condition-1 is checked as to whether updating the replacement table in the register (17) is used, which is used for encryption in accordance with the standard GOST 28147-89. By default, the control unit (21) can store the standard value of the replacement table. If “Yes”, then the table is loaded, if “No”, then condition-2 is further checked as to whether the encryption key needs to be loaded into the register (18). In the general case, the same key can be used for several data blocks and its updating is not required. If “Yes”, then the key is loaded, if “No”, then condition-3 is checked further as to whether it is necessary to load the initialization clock vector into register (19), which is used only in part of the operating modes provided for by the standard GOST 28147-89. If “Yes”, then the sync vector is loaded, if “No”, then condition-4 is checked further on whether loading the initialization vector of the insertion code into register (20), which is used only in part of the operating modes, is required standard GOST 28147-89. If “Yes”, then the insert vector is loaded, if “No”, then the encryption working mode is set further.
Далее проверяется условие-5 относительно того, установлен ли режим работы с прямым доступом в память.  Next, condition-5 is checked as to whether the operation mode with direct memory access is set.
Если выставлен режим работы с прямым доступом в память (6), то центральным процессором (2) производится программирование контроллера (4) с указанием, по крайней мере, адреса в памяти, откуда данные для шифрования должны быть загружены, адреса в памяти, по которым криптопреобразованные данные должны быть сохранены, и размер массива данных для шифрования. Затем, по мере поступления данных из памяти, они поступают блоками в вычислительное устройство (8) или устройства (8), (9), в зависимости от режима работы и конфигурации устройства (7) шифрования. После проведения шифрования данные передаются обратно в память по известному адресу. Затем проверяется условие-6 относительно того, является ли только что обработанных блок, последним в массиве данных. Если «Да», то устройство шифрования заканчивает работу и ожидает команды от центрального процессора (2), который переведет устройство (7) шифрования в режим ожидания, если «Нет», то следующий блок данных обрабатывается аналогично описанному выше.  If the mode of operation with direct access to memory is set (6), then the central processor (2) performs programming of the controller (4) with at least an address in memory from where the data for encryption must be downloaded, addresses in memory at which crypto-converted data must be saved, and the size of the data array for encryption. Then, as data is received from the memory, they arrive in blocks in a computing device (8) or device (8), (9), depending on the operating mode and configuration of the encryption device (7). After encryption, the data is transferred back to memory at a known address. Then, condition-6 is checked as to whether the block just processed is the last in the data array. If “Yes”, then the encryption device finishes its operation and waits for a command from the central processor (2), which puts the encryption device (7) into standby mode, if “No”, then the next data block is processed as described above.
Если выставлен режим без прямого доступа к памяти, то устройство (7) шифрования ожидает загрузки центральным процессором (2) блока данных для шифрования, по выставленному режиму работы. По окончании шифрования устройство (7) шифрования ожидает команды от центрального процессора (2) на чтение криптопреобразованных данных. После чтения результата устройство переводится в режим ожидания. If the mode is set without direct access to the memory, then the encryption device (7) expects the central processor (2) to download the data block for encryption, according to the set operation mode. At the end of the encryption, the encryption device (7) expects a command from the central processor (2) to read crypto-converted data. After reading the result, the device is put into standby mode.
Заявлено СнК (1 ) с использованием устройства шифрования (7) данных и с возможностью обращения к памяти, включенной в состав СнК (внутренней) или памяти, имеющей возможность подключения к СнК по стандартному протоколу (внешней), в частном случае в качестве любой памяти может быть использовано последовательное ОЗУ (6), помимо устройства (7) шифрования включает в себя центральный процессор (2), посредством которого могут исполняться программы и обрабатываться внешние прерывания, блок внутренней коммутации (3), обеспечивающий обмен информацией (данными) между функциональными блоками СнК (1) по единому протоколу между устройством (7) шифрования, центральным процессором (2), и памятью (6) через стандартный контроллер (5) памяти (6). В качестве блока внутренней коммутации (3) и в качестве контроллера памяти (5) могут быть использованы известные (IP)- решения от фирмы Synopsys. Обмен данными между центральным процессором и остальными узлами СнК осуществляется через блок внутренней коммутации с использованием шины адрес-данные, например, удовлетворяющей стандарту Advanced extensible Interface (AXI).  Claimed SoC (1) using a data encryption device (7) and with the ability to access the memory included in the SoC (internal) or memory having the ability to connect to SoC using the standard protocol (external), in the particular case as any memory can serial RAM (6) can be used, in addition to the encryption device (7), it includes a central processor (2), through which programs can be executed and external interrupts can be processed, an internal switching unit (3) that provides information exchange (yes) GOVERNMENTAL) between the functional blocks of SOC (1) according to a common protocol between the device (7) encryption, the central processor (2) and memory (6) through a standard controller (5) a memory (6). As an internal switching unit (3) and as a memory controller (5), well-known (IP) solutions from Synopsys can be used. Data exchange between the central processor and the rest of the SoC nodes is carried out through the internal switching unit using the address-data bus, for example, satisfying the Advanced extensible Interface (AXI) standard.
Функционирование СнК (1) осуществляется путем программирования центрального процессора (2), в качестве которого может использоваться, например, микропроцессорная система MIPS Р-5600 от фирмы Imagination Technologies, и команды от которого передаются через конфигурационный интерфейс (1 1 ), имеющей в своем составе, по крайней мере, шину адреса, данных и шину контроля передаваемой информации. Управляющие сигналы поступают в контроллер (4) прямого доступа к памяти и в блок (21) управления устройства (7) шифрования. The functioning of the SoC (1) is carried out by programming the central processor (2), which can be used, for example, the microprocessor system MIPS P-5600 from Imagination Technologies, and the commands from which are transmitted via the configuration interface (1 1), which includes , at least, bus address, data and control bus of transmitted information. The control signals are sent to the controller (4) direct access to the memory and to the control unit (21) of the encryption device (7).
Аналогично управлению режимами работы блока (21 ) управления, входящего в состав устройства шифрования (7), через команды от центрального процессора (2), программируется контроллер (4) прямого доступа к памяти, устанавливая адреса по которым необходимо взять данные для шифрования из памяти (6) (например, внешнего или входящего в состав Сн последовательного ОЗУ) и возвратить (сохранить, направить) обратно в память (6) данные, криптопреобразованные устройством (7) шифрования, а также программируются правила выработки прерываний по окончании передачи данных в/из памяти (6).  Similar to the control of the operating modes of the control unit (21), which is part of the encryption device (7), through the commands from the central processor (2), the controller (4) for direct access to the memory is programmed, setting the addresses for which it is necessary to take data for encryption from the memory ( 6) (for example, external or part of the SN serial RAM) and return (save, send) back to the memory (6) data crypto-converted by the encryption device (7), and the rules for generating interrupts at the end of the transfer are also programmed and data to / from the memory (6).
При использовании обоих вариантов устройства (7) шифрования в составе СнК результат шифрования накапливается в блоке (21) управления устройства (7) шифрования и в зависимости от выбранного режима работы направляется обратно в память (6) (например, внешнее или входящее в состав СнК последовательное ОЗУ) через контроллер (4) прямого доступа к памяти, либо хранится в блоке (21) управления, дожидаясь запроса на «чтение» из центрального процессора (2), при использовании устройства шифрования в составе вычислительной системы. Результат выработки имитовставки также считывается по запросу из центрального процессора (2) из соответствующего регистра (20). При этом может быть использована конфигурационная шина (11) адрес-данных для управления работой устройства шифрования, например, удовлетворяющая стандарту АРВ. Для передачи криптопреобразованных данных в блок внутренней коммутации может быть использована шина (12) адрес-данные, например, удовлетворяющая стандарту AXI. Для передачи данных для шифрования в контроллер (4) прямого доступа к памяти может быть использована шина (13) адрес-данные, например, удовлетворяющая стандарту AXI. Для передачи данных для шифрования в вычислительные модули (8) и (9) может быть использована шина (14) адрес-данные, например, удовлетворяющая стандарту АНВ. Для передачи криптопреобразованных данных в контроллер (4) прямого доступа в память может быть использована шина (15) адрес- данные, например, удовлетворяющая стандарту АНВ. Данные из памяти передаются в контроллер (5) памяти и обратно по стандартному интерфейсу. Для передачи данных в/из контроллера (5) памяти в/из блока (3) внутренней коммутации может быть использована шина (16) адрес-данные, например, удовлетворяющая стандарту AXI. When using both versions of the encryption device (7) as part of the SoC, the encryption result is accumulated in the control unit (21) of the encryption device (7) and, depending on the selected operating mode, is sent back to the memory (6) (for example, an external or sequential SoC component) RAM) through the controller (4) direct access to the memory, or stored in the control unit (21), waiting for a request to "read" from the central processor (2), when using an encryption device as part of a computing system. The result of the development of the insert is also read on request from the central processor (2) from the corresponding register (20). In this case, the configuration bus (11) of the address data for controlling the operation of the encryption device, for example, satisfying the ARV standard. To transfer crypto-converted data to the internal switching unit, the address-data bus (12) can be used, for example, satisfying the AXI standard. To transfer data for encryption to the direct memory access controller (4), the address-data bus (13), for example, satisfying the AXI standard, can be used. To transfer data for encryption to computing modules (8) and (9), the address-data bus (14) can be used, for example, which satisfies the ANV standard. To transfer crypto-converted data to the direct memory access controller (4), an address-data bus (15) can be used, for example, satisfying the ANV standard. Data from the memory is transferred to the memory controller (5) and back via the standard interface. To transfer data to / from the memory controller (5) to / from the internal switching unit (3), the address-data bus (16), for example, satisfying the AXI standard, can be used.
В зависимости от режима работы устройства (7) шифрования данные для шифрования могут либо поступать в потоковом виде напрямую из памяти (6) (например, последовательного ОЗУ) через контроллер (4) прямого доступа к памяти, либо поступать в виде одиночного блока данных по команде центрального процессора (2). В последнем случае результат криптопреобразования становится доступен центральному процессору для чтения через блок внутренней коммутации. В случае потокового режима работы требуется предварительное программирование контроллера (4), с указанием адреса, по которому данные располагаются в памяти (6) (во внешнем или входящем в состав СнК последовательном ОЗУ), адреса, по которому криптопреобразованные данные должны быть сохранены (направлены) обратно в память (6), а также размер данных для криптопреобразования. В случае одиночного блока данных, загружаемого в устройство (7) шифрования по команде центрального процессора, предварительного программирования контроллера (4) не требуется. Depending on the operating mode of the encryption device (7), the data for encryption can either be received in streaming form directly from the memory (6) (for example, serial RAM) through the direct memory access controller (4), or received as a single data block by command CPU (2). In the latter case, the result of the crypto conversion becomes available to the central processor for reading through the internal switching unit. In case of streaming operation, preliminary programming the controller (4), indicating the address at which data is located in memory (6) (in external or part of the SoC serial RAM), the addresses at which crypto-converted data should be stored (sent) back to memory (6), as well as the size of the data for crypto conversion. In the case of a single block of data loaded into the encryption device (7) by the command of the central processor, preliminary programming of the controller (4) is not required.
При использовании в составе СнК (1 ) первого варианта устройства шифрования, изображенного на фиг.1 , получаем первый вариант СнК, а при использовании в составе СнК ( 1 ) второго варианта устройства шифрования, изображенного на фиг. 2, получаем второй вариант СнК. Функционирование СнК в обоих вариантах осуществляется аналогично, за исключением процессов шифрования, происходящих в устройстве (7) шифрования. При этом второй вариант СнК предпочтительнее использовать для ускорения процесса шифрования в режимах, сопровождаемых вычислением имитовставки, с использованием вычислительного блока (9) устройства (7) шифрования, позволяющего осуществлять ее вычисление параллельно основному процессу шифрования, происходящему в вычислительном блоке (8).  When using in the composition of SoC (1) the first embodiment of the encryption device shown in FIG. 1, we obtain the first version of SoC, and when using in the composition of SoC (1) the second version of the encryption device shown in FIG. 2, we obtain the second version of SoC. The functioning of the SoC in both cases is carried out similarly, with the exception of the encryption processes occurring in the encryption device (7). In this case, the second version of SoC is preferable to use to speed up the encryption process in the modes accompanied by the calculation of the self-insert using the encryption unit (9) of the encryption device (7), which allows it to be computed in parallel with the main encryption process occurring in the computing unit (8).
В качестве памяти (6) при обоих вариантах осуществления устройства шифрования (7) и СнК с использованием этих вариантов может быть использовано внешнее последовательное ОЗУ (например, SRAM, DDR, DDR2, DDR3 и т.п.).  As the memory (6) for both embodiments of the encryption device (7) and the SoC using these options, an external serial RAM (for example, SRAM, DDR, DDR2, DDR3, etc.) can be used.
Основная сфера применения устройства - защищенные соединения с использованием TLS (Transport Layer Security— криптографический протокол, обеспечивающий защищенную передачу данных между узлами в сети Интернет). Изобретение также может широко применяться в СнК, управляющих контроллерах, выполняющих шифрование данных, поступающих из сети Интернет или находящихся на жестких дисках. The main scope of the device is protected connections using TLS (Transport Layer Security — a cryptographic protocol that provides secure data transfer between nodes on the Internet). The invention can also be widely applied in SoCs, controllers that encrypt data coming from the Internet or on hard drives.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ CLAIM
1. Устройство шифрования данных, характеризующееся тем, что включает в себя контроллер прямого доступа к памяти, обеспечивающий загрузку массива данных из памяти для шифрования устройством шифрования данных и сохранение криптопреобразованных данных обратно в память, вычислительный блок с возможностью реализации шифрования данных в соответствии с выбранным алгоритмом, регистры данных для хранения таблиц подстановки, регистры данных для хранения ключей для шифрования, регистры для хранения векторов синхропосылки и имитовставки, а также блок управления.  1. A data encryption device, characterized in that it includes a direct memory access controller that provides loading an array of data from the memory for encryption by the data encryption device and storing the crypto-converted data back to memory, a computing unit with the ability to implement data encryption in accordance with the selected algorithm , data registers for storing lookup tables, data registers for storing keys for encryption, registers for storing sync packets and imitation plug-in vectors, as well e control unit.
2. Устройство шифрования данных по п.1, отличающееся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу.  2. The data encryption device according to claim 1, characterized in that the memory uses serial RAM connected via a standard interface.
3. Устройство шифрования данных, характеризующееся тем, что включает в себя контроллер прямого доступа к памяти, обеспечивающий загрузку массива данных из памяти для шифрования устройством шифрования данных и сохранение криптопреобразованных данных обратно в память, вычислительный блок с возможностью реализации шифрования данных в соответствии с выбранным алгоритмом, дополнительный вычислительный блок, предназначенный для вычисления имитовставки параллельно основному процессу шифрования, регистры данных для хранения таблиц подстановки, регистры данных для хранения ключей для шифрования, регистры для хранения векторов синхропосылки и имитовставки, а также блок управления. 3. A data encryption device, characterized in that it includes a direct memory access controller that provides loading the data array from the memory for encryption by the data encryption device and storing the crypto-converted data back to memory, a computing unit with the ability to implement data encryption in accordance with the selected algorithm , an additional computing unit for calculating the simulated insert parallel to the main encryption process, data registers for storing substation tables new registers, data registers for storing keys for encryption, registers for storing sync sending vectors and imitation inserts, as well as a control unit.
4. Устройство шифрования данных по п.З, отличающееся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу. 4. A data encryption device according to claim 3, characterized in that serial memory is used as memory, connected via a standard interface.
5. Система на кристалле (СнК), характеризующаяся тем, что она включает в себя устройство шифрования по п.1 , центральный процессор, управляющий работой всей системы в целом, внутреннюю память, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внутренней памятью, при этом данные для шифрования поступают в устройство шифрования из внутренней памяти через контроллер памяти, преобразующий последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют во внутреннюю память из устройства шифрования через блок внутренней коммутации и контроллер памяти.  5. The system on a chip (SoC), characterized in that it includes an encryption device according to claim 1, a central processor that controls the operation of the entire system as a whole, internal memory, an internal switching unit that provides the ability to exchange data through a single protocol via buses the data address between the encryption device, the central processor and the internal memory, while the data for encryption is received in the encryption device from the internal memory through the memory controller, converting the serial data into a format, used by the internal switching unit, and the result of the crypto conversion is sent to the internal memory from the encryption device through the internal switching unit and the memory controller.
6. Система на кристалле по п. 5, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ  6. The system on a chip according to claim 5, characterized in that serial memory is used as memory
7. Система на кристалле (СнК), характеризующаяся тем, что она включает в себя устройство шифрования по п.1 , центральный микропроцессор, управляющий работой всей системы в целом, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес- данные между устройством шифрования, центральным процессором и внешней памятью, при этом данные для шифрования поступают в устройство шифрования из внешней памяти через контроллер памяти, входящий в состав СнК и преобразующий поступающие последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют из устройства шифрования во внешнюю память через блок внутренней коммутации и контроллер памяти. 7. The system on a chip (SoC), characterized in that it includes an encryption device according to claim 1, a central microprocessor that controls the operation of the entire system as a whole, an internal switching unit that provides the ability to exchange data through a single protocol via address-data buses between the encryption device, the central processor and the external memory, while the data for encryption is received in the encryption device from the external memory through the memory controller, which is part of the SoC and converting the incoming serial data into the format used by the internal switching unit, and the result of the crypto conversion is sent from the encryption device to the external memory through the internal switching unit and the memory controller.
8. Система на кристалле по п. 7, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу.  8. The system on a chip under item 7, characterized in that the memory used is a serial RAM connected via a standard interface.
9. Система на кристалле (СнК), характеризующаяся тем, что она включает в себя устройство шифрования по п.З, центральный микропроцессор, управляющий работой всей системы в целом, внутреннюю память, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внутренней памятью, при этом данные для шифрования поступают в устройство шифрования из внутренней памяти через контроллер памяти, преобразующий последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют во внутреннюю память из устройства шифрования через блок внутренней коммутации и контроллер памяти.  9. The system on a chip (SoC), characterized in that it includes an encryption device according to item 3, a central microprocessor that controls the operation of the entire system as a whole, internal memory, an internal switching unit, which provides the possibility of exchanging data via a single protocol via buses the data address between the encryption device, the central processor and the internal memory, while the data for encryption is transferred to the encryption device from the internal memory through the memory controller, which converts the serial data into The format used by the internal switching unit, and the result of the crypto conversion, is sent to the internal memory from the encryption device through the internal switching unit and the memory controller.
10. Система на кристалле по п. 9, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ.  10. The system on a chip according to claim 9, characterized in that serial memory is used as the memory.
1 1. Система на кристалле (СнК), характеризующаяся тем, что она включает в себя устройство шифрования по п.З, центральный микропроцессор, управляющий работой всей системы в целом, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес- данные между устройством шифрования, центральным процессором и внешней памятью, при этом данные для шифрования поступают в устройство шифрования из внешней памяти через контроллер памяти, входящий в состав СнК и преобразующий поступающие последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют из устройства шифрования во внешнюю память через блок внутренней коммутации и контроллер памяти. 1 1. The system on a chip (SoC), characterized in that it includes an encryption device according to item 3, a central microprocessor that controls the operation of the entire system as a whole, an internal switching unit, which provides the opportunity data exchange via a single protocol through the address-data bus between the encryption device, the central processor and external memory, while the data for encryption is transferred to the encryption device from the external memory through the memory controller, which is part of the SoC and converts the incoming serial data to the format used by the unit internal switching, and the result of cryptographic conversion is sent from the encryption device to external memory through the internal switching unit and the memory controller.
12. Система на кристалле по п. 11 , отличающаяся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу.  12. The system on a chip under item 11, characterized in that the memory used is a serial RAM connected via a standard interface.
PCT/RU2016/000123 2015-03-04 2016-03-04 Data encryption device (variants) and system-on-chip using same (variants) WO2016140596A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EA201700121A EA201700121A1 (en) 2015-03-04 2016-03-04 DEVICE FOR ENCRYPTION OF DATA (OPTIONS), SYSTEM ON CRYSTAL WITH ITS USE (OPTIONS)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2015107429/08A RU2585988C1 (en) 2015-03-04 2015-03-04 Device for encrypting data (versions), on-chip system using (versions)
RU2015107429 2015-03-04

Publications (1)

Publication Number Publication Date
WO2016140596A1 true WO2016140596A1 (en) 2016-09-09

Family

ID=56115223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2016/000123 WO2016140596A1 (en) 2015-03-04 2016-03-04 Data encryption device (variants) and system-on-chip using same (variants)

Country Status (3)

Country Link
EA (1) EA201700121A1 (en)
RU (1) RU2585988C1 (en)
WO (1) WO2016140596A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11784793B2 (en) 2016-07-29 2023-10-10 Permanent Privacy Ltd. Applications in connection with secure encryption
RU2765406C1 (en) * 2020-05-14 2022-01-28 Акционерное общество "Научно-производственный центр автоматики и приборостроения имени академика Н.А. Пилюгина" (АО "НПЦАП") Symmetrical data encryption apparatus using a strong authentication algorithm

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2287222C1 (en) * 2005-05-20 2006-11-10 Государственное унитарное предприятие г. Москвы Научно-производственный центр "СПУРТ" Method for generating cryptographic-algorithm sync pulses in communication systems incorporating provision for simulation protection and privacy of messages transferred
US7783037B1 (en) * 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2140709C1 (en) * 1997-12-16 1999-10-27 Молдовян Александр Андреевич Process of cryptographic conversion of blocks of digital data
DE102004004799B4 (en) * 2004-01-30 2010-02-18 Advanced Micro Devices, Inc., Sunnyvale Hardware / software partitioning for encrypted Wi-Fi connections
DE102004014435A1 (en) * 2004-03-24 2005-11-17 Siemens Ag Arrangement with an integrated circuit
US8130946B2 (en) * 2007-03-20 2012-03-06 Michael De Mare Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation
US8964554B2 (en) * 2012-06-07 2015-02-24 Broadcom Corporation Tunnel acceleration for wireless access points

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783037B1 (en) * 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher
RU2287222C1 (en) * 2005-05-20 2006-11-10 Государственное унитарное предприятие г. Москвы Научно-производственный центр "СПУРТ" Method for generating cryptographic-algorithm sync pulses in communication systems incorporating provision for simulation protection and privacy of messages transferred

Also Published As

Publication number Publication date
RU2585988C1 (en) 2016-06-10
EA201700121A1 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
US8069279B2 (en) Data flow control within and between DMA channels
US9954681B2 (en) Systems and methods for data encryption
US7496695B2 (en) Unified DMA
US7620746B2 (en) Functional DMA performing operation on DMA data and writing result of operation
US7707477B2 (en) Checksum calculation
KR20150143708A (en) Storage device assisted inline encryption and decryption
US9729309B2 (en) Securing data transmission between processor packages
EP2232363A2 (en) Co-processor for stream data processing
JP2008500638A (en) Data mover controller with multiple registers to support cryptographic operations
EP3803672A1 (en) Memory-efficient hardware cryptographic engine
US20080040805A1 (en) Methods and apparatus for providing a secure buffer
WO2016140596A1 (en) Data encryption device (variants) and system-on-chip using same (variants)
JP4960456B2 (en) Dual mode AES implementation supporting single and multiple AES operations
EP3758276B1 (en) Data processing method, circuit, terminal device storage medium
EA041824B1 (en) DATA ENCRYPTION DEVICE (VERSIONS), SYSTEM-ON-CHIP WITH ITS USE (VERSIONS)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16759207

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 201700121

Country of ref document: EA

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16759207

Country of ref document: EP

Kind code of ref document: A1