RU2585988C1 - Device for encrypting data (versions), on-chip system using (versions) - Google Patents

Device for encrypting data (versions), on-chip system using (versions) Download PDF

Info

Publication number
RU2585988C1
RU2585988C1 RU2015107429/08A RU2015107429A RU2585988C1 RU 2585988 C1 RU2585988 C1 RU 2585988C1 RU 2015107429/08 A RU2015107429/08 A RU 2015107429/08A RU 2015107429 A RU2015107429 A RU 2015107429A RU 2585988 C1 RU2585988 C1 RU 2585988C1
Authority
RU
Russia
Prior art keywords
data
memory
encryption
encryption device
gost
Prior art date
Application number
RU2015107429/08A
Other languages
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 RU2015107429/08A priority Critical patent/RU2585988C1/en
Priority to PCT/RU2016/000123 priority patent/WO2016140596A1/en
Priority to EA201700121A priority patent/EA201700121A1/en
Application granted granted Critical
Publication of RU2585988C1 publication Critical patent/RU2585988C1/en

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

FIELD: information technology; cryptography.
SUBSTANCE: device for encrypting data according to GOST 28147-89 is characterised by that it includes direct memory access controller for loading data array of memory for encrypting data encryption device and preservation of crypto converted data back into memory, computing unit with possibility of implementing data encryption in accordance with selected algorithm, data registers for storing lookup table, data registers for storage of encryption keys, registers for initialisation vectors storing and message authentication code, as well as control unit.
EFFECT: faster data crypto conversion processes.
12 cl, 6 dwg

Description

Изобретение относится к устройствам шифрования данных, которые могут использоваться в составе вычислительных систем, например в системах на кристалле (СнК) для шифрования данных, поступающих из сети Интернет, с жестких дисков или из других хранилищ информации.The invention relates to data encryption devices that can be used as part of computing systems, for example, systems on a chip (SoC) for encrypting data coming from the Internet, from hard drives or from other information storages.

Уровень техникиState of the art

Известно изобретение по патенту РФ 2412479 (правообладатель Сименс, МПК G06F 21/00 G06F 1/00, 2006), относящееся к комплексной системе защиты данных, содержащей функциональный модуль шифрования, посредством которого данные или программные коды могут зашифровываться и расшифровываться, при этом схема предполагает как возможность, так и отсутствие возможности хранения в ней ключей, встроенные часы реального времени для контроля изменения частоты, встроенный источник питания для уничтожения ключей. В известном решении для шифрования используют отдельные вычислительные устройства в составе единой интегральной схемы. Известное решение является наиболее близким к заявляемому изобретению устройством того же назначения, однако в нем есть существенные недостатки, обусловленные тем, что:The invention is known according to the patent of the Russian Federation 2412479 (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 assumes both the possibility and the lack of the ability to store 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.

Раскрытие изобретенияDisclosure of invention

Заявленное решение представляет собой устройство шифрования данных (2 варианта), реализованное в виде интегральной схемы с функциональными модулями, и СнК с его использованием (2 варианта).The claimed solution is a data encryption device (2 options), implemented as an integrated circuit with functional modules, and SoC using it (2 options).

Устройство шифрования работает в следующих режимах криптопреобразований, а именно: в режиме простой замены, в режимах гаммирования и гаммирования с обратной связью, в режиме замены с зацеплением, а также в режиме выработки имитовставки. Данные режимы можно использовать для реализации блочного симметричного шифратора, использующего технологию замены открытых данных другими элементами по определенным правилам (например, в соответствии с ГОСТ 28147-89).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 the technology of replacing 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) (получателю, например, в последовательное ОЗУ), подключаемую по стандартному интерфейсу.The encryption device (7) can receive data from any available information storage in a format that meets 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 the end of the operation, the encryption device (7) sends the crypto-converted data back to the memory (6) (to the recipient, for example, to serial RAM) 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. When using the claimed encryption device (7) as part of the SoC, the central processor plays the role of a system arbiter when the device is turned on and off, controls interrupts and is responsible for managing its operation 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), или два независимых вычислительных модуля (8) и (9) (Фиг. 2, 6). Вычислительный модуль (8) используется для реализации базового цикла шифрования в соответствии с выбранным режимом работы, если только он один присутствует в устройстве (7) шифрования, при этом он используется последовательно как для вычисления результата шифрования блока данных, так и для вычисления имитовставки (Фиг. 1, 5). При использовании двух независимых вычислительных модулей (8) и (9) одновременно вычисляются как результат шифрования блока данных с использованием модуля (8) базового цикла, так и результат выработки имитовставки, с использованием модуля (9) выработки имитовставки (ИВ) (Фиг. 2, 6). Использование отдельного вычислительного блока (9) для выработки имитовставки позволяет дополнительно повысить быстродействие всего устройства (7) шифрования благодаря тому, что основной вычислительный модуль (8), в этом случае, используется только для процесса шифрования.5) To provide encryption, either one computing module (8) (Fig. 1, 5) or two independent computing modules (8) and (9) (Figs. 2, 6) can be included in the encryption device (7). 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 computational modules (8) and (9), both the result of encrypting the data block using the base cycle module (8) and the result of generating the insert using the module (9) to generate the insert (II) are simultaneously 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 keys used in the process of data encryption from crypto attacks and usually stored in main memory on a universal 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) общего назначения, который может исполнять программы;- a general purpose central processing unit (2) that can execute programs;

- устройство шифрования (7), благодаря которому данные могут зашифровываться и расшифровываться;- 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).

Краткое описание чертежейBrief Description of the 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 a 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.

Осуществление изобретенияThe implementation of 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) прямого доступа к памяти, одновременно обрабатывающего запросы на чтение/запись данных из/в память, может быть использовано известное (IР)-решение от фирмы 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 using the used memory, into the encryption device (7) and encrypted or decrypted data from the encryption device (7) back to the memory (6) (for example, sequential 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 the gamming and gamming modes with feedback, as well as register (20) (for example, 64-bit), into which the initialization vector of the insertion code is loaded. 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 (IP) 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 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 (операция

Figure 00000001
- «исключающее ИЛИ»). Этот режим отличается от режима простой замены, который описан, например, в ГОСТ 28147-89, тем, что каждый следующий блок данных перед началом обработки «зацепляется» с результатом, полученным при обработке предыдущего блока данных, путем сложения по модулю 2, как представлено на фиг. 4.For encryption in the simple replacement with engagement mode, the computing (8) module is supplemented by equipment for addition modulo 2 (operation
Figure 00000001
- “exclusive OR”). This mode differs from the simple replacement mode, which is described, for example, in GOST 28147-89, in that each subsequent data block before the start of 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) шифрования (шифрование завершено/шифрование продолжается);operation status of the encryption device (7) (encryption completed / encryption continues);

- сигналы, управляющие передачей данных в вычислительные устройства (8), (9) из контроллера (4) и криптопреобразованных данных обратно в контроллер (4), удовлетворяющие, например, стандарту АНВ (Advanced High-performance Bus);- 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 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, the data-address 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 unidirectional or bi-directional 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. 1. 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 carry out encryption with the calculation of the insert, 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 mode of operation of the device (7), condition-1 is checked as to whether updating the replacement table in the register (17), which is used for encryption in accordance with the standard GOST 28147-89, is required. 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 further checked as to whether the initialization vector of the insert must be loaded into register (20), used only in part of the operating modes provided for by the 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 the 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 that can be connected to SoC using the standard protocol (external), in the particular case as any memory 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 CPU (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 и команды от которого передаются через конфигурационный интерфейс (11), имеющий в своем составе, по крайней мере, шину адреса, данных и шину контроля передаваемой информации. Управляющие сигналы поступают в контроллер (4) прямого доступа к памяти и в блок (21) управления устройства (7) шифрования.The functioning of the SoC (1) is carried out by programming the central processor (2), for which, for example, the MIPS P-5600 microprocessor system from Imagination Technologies can be used and the commands from which are transmitted through the configuration interface (11), which includes at least the address bus, data bus and control bus of the 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 where it is necessary to take data for encryption from the memory (6) (for example, external or part of the SoC of 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 chi 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 address-data configuration bus (11) can be used to control 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 the case of a streaming operation mode, preliminary programming of the controller (4) is required with the address at which the data is located in memory (6) (in external or part of the SoC serial RAM), the address at which the crypto-converted data should be stored (sent) back into memory (6), as well as data size 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 the first embodiment of the encryption device shown in FIG. 1, we obtain the first variant of SoC, and when using 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 secure 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 (12)

1. Устройство шифрования данных согласно ГОСТ 28147-89, характеризующееся тем, что включает в себя контроллер прямого доступа к памяти, обеспечивающий загрузку массива данных из памяти для шифрования устройством шифрования данных и сохранение криптопреобразованных данных обратно в память, вычислительный блок с возможностью реализации шифрования данных в соответствии с выбранным алгоритмом, регистры данных для хранения таблиц подстановки, регистры данных для хранения ключей для шифрования, регистры для хранения векторов синхропосылки и имитовставки, а также блок управления.1. The data encryption device according to GOST 28147-89, characterized in that it includes a direct memory access controller that provides loading of 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, data registers for storing lookup tables, data registers for storing keys for encryption, registers for storing synchronization vectors and and plug-ins, as well as the 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. Устройство шифрования данных согласно ГОСТ 28147-89, характеризующееся тем, что включает в себя контроллер прямого доступа к памяти, обеспечивающий загрузку массива данных из памяти для шифрования устройством шифрования данных и сохранение криптопреобразованных данных обратно в память, вычислительный блок с возможностью реализации шифрования данных в соответствии с выбранным алгоритмом, дополнительный вычислительный блок, предназначенный для вычисления имитовставки параллельно основному процессу шифрования, регистры данных для хранения таблиц подстановки, регистры данных для хранения ключей для шифрования, регистры для хранения векторов синхропосылки и имитовставки, а также блок управления.3. A data encryption device according to GOST 28147-89, characterized in that it includes a direct memory access controller that provides loading an array of data from memory for encryption by a data encryption device and storing 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 designed to calculate the insertion parallel to the main encryption process, data registers for storage eniya lookup tables, data registers for storing keys for encrypting registers for storing vectors and sinhroposylki authentication code, and a control unit. 4. Устройство шифрования данных согласно ГОСТ 28147-89 по п. 3, отличающееся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу.4. A data encryption device according to GOST 28147-89 according to claim 3, characterized in that a serial RAM connected via a standard interface is used as memory. 5. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89, характеризующаяся тем, что она включает в себя устройство шифрования данных согласно ГОСТ 28147-89 по п. 1, центральный процессор, управляющий работой всей системы в целом, внутреннюю память, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внутренней памятью, при этом данные для шифрования поступают в устройство шифрования из внутренней памяти через контроллер памяти, преобразующий последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют во внутреннюю память из устройства шифрования через блок внутренней коммутации и контроллер памяти.5. The system on a chip (SoC) for data encryption according to GOST 28147-89, characterized in that it includes a data encryption device according to GOST 28147-89 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 via a single protocol through the address-data bus 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 MODULES memory, converts the serial data into a format used inside the switching unit, and the result kriptopreobrazovaniya directed into the internal memory of the encrypting device through an internal switching unit and a memory controller. 6. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89 по п. 5, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ.6. The system on a chip (SoC) for data encryption according to GOST 28147-89 according to claim 5, characterized in that serial memory is used as memory. 7. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89, характеризующаяся тем, что она включает в себя устройство шифрования данных согласно ГОСТ 28147-89 по п. 1, центральный микропроцессор, управляющий работой всей системы в целом, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внешней памятью, при этом данные для шифрования поступают в устройство шифрования из внешней памяти через контроллер памяти, входящий в состав СнК и преобразующий поступающие последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют из устройства шифрования во внешнюю память через блок внутренней коммутации и контроллер памяти.7. A system on a chip (SoC) for data encryption according to GOST 28147-89, characterized in that it includes a data encryption device according to GOST 28147-89 according to claim 1, a central microprocessor that controls the operation of the entire system as a whole, an internal unit switching, providing the ability to exchange data 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 received in the encryption device from the external memory through the memory controller, odyaschy SoC part and converting the received serial data into a format used inside the switching unit, and kriptopreobrazovaniya result is sent from the encryption device into the external memory via internal switching unit and a memory controller. 8. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89 по п. 7, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу.8. The system on a chip (SoC) for data encryption according to GOST 28147-89 according to claim 7, characterized in that the memory uses a serial RAM connected via a standard interface. 9. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89, характеризующаяся тем, что она включает в себя устройство шифрования данных согласно ГОСТ 28147-89 по п. 3, центральный микропроцессор, управляющий работой всей системы в целом, внутреннюю память, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внутренней памятью, при этом данные для шифрования поступают в устройство шифрования из внутренней памяти через контроллер памяти, преобразующий последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют во внутреннюю память из устройства шифрования через блок внутренней коммутации и контроллер памяти.9. The system on a chip (SoC) for data encryption according to GOST 28147-89, characterized in that it includes a data encryption device according to GOST 28147-89 according to claim 3, a central microprocessor that controls the operation of the entire system as a whole, internal memory , an internal switching unit that provides the ability to exchange data via a single protocol through the address-data bus 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 a memory controller that converts serial data to 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. 11. Система на кристалле (СнК) для шифрования данных согласно ГОСТ 28147-89, характеризующаяся тем, что она включает в себя устройство шифрования данных согласно ГОСТ 28147-89 по п. 3, центральный микропроцессор, управляющий работой всей системы в целом, блок внутренней коммутации, обеспечивающий возможность обмена данными по единому протоколу через шины адрес-данные между устройством шифрования, центральным процессором и внешней памятью, при этом данные для шифрования поступают в устройство шифрования из внешней памяти через контроллер памяти, входящий в состав СнК и преобразующий поступающие последовательные данные в формат, применяемый блоком внутренней коммутации, а результат криптопреобразования направляют из устройства шифрования во внешнюю память через блок внутренней коммутации и контроллер памяти.11. The system on a chip (SoC) for data encryption according to GOST 28147-89, characterized in that it includes a data encryption device according to GOST 28147-89 according to claim 3, a central microprocessor that controls the operation of the entire system as a whole, an internal unit switching, providing the ability to exchange data 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 received in 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 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. 12. Система на кристалле для шифрования данных согласно ГОСТ 28147-89 по п. 11, отличающаяся тем, что в качестве памяти используют последовательное ОЗУ, подключаемое по стандартному интерфейсу. 12. A system on a chip for encrypting data according to GOST 28147-89 according to claim 11, characterized in that the memory uses serial RAM connected via a standard interface.
RU2015107429/08A 2015-03-04 2015-03-04 Device for encrypting data (versions), on-chip system using (versions) RU2585988C1 (en)

Priority Applications (3)

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)
PCT/RU2016/000123 WO2016140596A1 (en) 2015-03-04 2016-03-04 Data encryption device (variants) and system-on-chip using same (variants)
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 (1)

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)

Publications (1)

Publication Number Publication Date
RU2585988C1 true RU2585988C1 (en) 2016-06-10

Family

ID=56115223

Family Applications (1)

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

Country Status (3)

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

Cited By (3)

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

Citations (7)

* 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
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
US7627747B2 (en) * 2004-01-30 2009-12-01 Advanced Micro Devices, Inc. Hardware/software partitioning for encrypted WLAN communications
US7783037B1 (en) * 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher
RU2412479C2 (en) * 2004-03-24 2011-02-20 Сименс Акциенгезелльшафт Device having integrated circuit
US8130946B2 (en) * 2007-03-20 2012-03-06 Michael De Mare Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation
EP2672669A1 (en) * 2012-06-07 2013-12-11 Broadcom Corporation Tunnel acceleration for wireless access points

Patent Citations (7)

* 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
US7627747B2 (en) * 2004-01-30 2009-12-01 Advanced Micro Devices, Inc. Hardware/software partitioning for encrypted WLAN communications
RU2412479C2 (en) * 2004-03-24 2011-02-20 Сименс Акциенгезелльшафт Device having integrated circuit
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
US8130946B2 (en) * 2007-03-20 2012-03-06 Michael De Mare Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation
EP2672669A1 (en) * 2012-06-07 2013-12-11 Broadcom Corporation Tunnel acceleration for wireless access points

Cited By (3)

* 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
RU2792871C2 (en) * 2021-04-22 2023-03-28 Акционерное общество "Научно-технический центр ЭЛИНС" Information encryption device in gamma mode

Also Published As

Publication number Publication date
EA201700121A1 (en) 2017-10-31
WO2016140596A1 (en) 2016-09-09

Similar Documents

Publication Publication Date Title
US9954681B2 (en) Systems and methods for data encryption
US20090183161A1 (en) Co-processor for stream data processing
US7953221B2 (en) Method for processing multiple operations
CN109656839B (en) Electronic device for accessing encrypted data and corresponding method
KR20150143708A (en) Storage device assisted inline encryption and decryption
US20080222317A1 (en) Data Flow Control Within and Between DMA Channels
US9729309B2 (en) Securing data transmission between processor packages
US8429426B2 (en) Secure pipeline manager
JP2003216591A (en) Interface for security coprocessor
JP2005532604A (en) Stream processor with cryptographic coprocessor
TW200830327A (en) System and method for encrypting data
JP2008500638A (en) Data mover controller with multiple registers to support cryptographic operations
US10341087B2 (en) Techniques for cipher system conversion
EP3758276B1 (en) Data processing method, circuit, terminal device storage medium
WO2019229192A1 (en) Memory-efficient hardware cryptographic engine
US8938072B2 (en) Cryptographic key derivation device and method therefor
US8271805B2 (en) Methods and apparatus for providing a secure buffer
RU2585988C1 (en) Device for encrypting data (versions), on-chip system using (versions)
Homsirikamol et al. A universal hardware API for authenticated ciphers
US8930681B2 (en) Enhancing performance by instruction interleaving and/or concurrent processing of multiple buffers
JP4960456B2 (en) Dual mode AES implementation supporting single and multiple AES operations
Danczul et al. Cuteforce analyzer: A distributed bruteforce attack on pdf encryption with gpus and fpgas
Chen et al. saes: A high throughput and low latency secure cloud storage with pipelined dma based pcie interface
Lupescu et al. Commodity hardware performance in AES processing
EA041824B1 (en) DATA ENCRYPTION DEVICE (VERSIONS), SYSTEM-ON-CHIP WITH ITS USE (VERSIONS)

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner