RU2607613C2 - Method of forming s-block - Google Patents
Method of forming s-block Download PDFInfo
- Publication number
- RU2607613C2 RU2607613C2 RU2015121014A RU2015121014A RU2607613C2 RU 2607613 C2 RU2607613 C2 RU 2607613C2 RU 2015121014 A RU2015121014 A RU 2015121014A RU 2015121014 A RU2015121014 A RU 2015121014A RU 2607613 C2 RU2607613 C2 RU 2607613C2
- Authority
- RU
- Russia
- Prior art keywords
- polynomial
- monomials
- polynomials
- many
- calculate
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/766—Generation of all possible permutations
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
- G09C1/04—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
- G09C1/06—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Предполагаемое изобретение относится к области обработки информации и криптографии и, в частности, к способам формирования S-блоков замены с минимальным количеством логических элементов, для последующего использования в аппаратуре систем обработки данных и криптографической защиты информации.The alleged invention relates to the field of information processing and cryptography, and, in particular, to methods of forming S-replacement blocks with a minimum number of logic elements, for subsequent use in the equipment of data processing systems and cryptographic information protection.
Уровень техникиState of the art
Операции замены -битовых двоичных векторов на -битовые двоичные вектора, реализуемые в блоках замены (S-блоках), широко используются для криптографического преобразования данных, для сжатия информации и/или защиты от помех при хранении и при передаче информации по каналам связи.Replacement operations bit binary vectors on -bit binary vectors implemented in replacement blocks (S-blocks) are widely used for cryptographic data conversion, for data compression and / or protection against interference during storage and transmission of information over communication channels.
Способы формирования S-блоков с минимальным количеством логических элементов известны и зависят от состава логических элементов схемотехнической реализации.Methods of forming S-blocks with a minimum number of logical elements are known and depend on the composition of the logical elements of the circuitry implementation.
Так, для набора логических элементов, реализующих логические операции И (&), ИЛИ (V), НЕ (¬), известны метод Квайна-МакКласки, алгоритм Блейка – Порецкого и др. [1]. Однако, известные методы предназначены для оптимизации одной булевой функции, а не набора из булевых функций, задающих S-блок. Кроме того, эти методы неприменимы к набору логических элементов, реализующих логические операции & и XOR (⊕, исключающее ИЛИ).So, for a set of logical elements that implement the logical operations AND (&), OR (V), NOT (¬), the Quine – McCluskey method, the Blake – Poretsky algorithm, etc. are known [1]. However, well-known methods are designed to optimize one Boolean function, and not a set of Boolean functions defining an S-block. In addition, these methods are not applicable to a set of logic elements that implement the logical operations & and XOR (⊕, exclusive OR).
Известен способ минимизации булевой функции для набора логических элементов {&, ⊕}, предложенный как составная часть процесса запоминания цифровой информации [2]. Однако, этот способ также предназначен для минимизации только одной булевой функции и не учитывает возможности совместной оптимизации нескольких булевых функций, представляющих S-блок. При этом, в данном способе оптимизируется суммарное число элементов & и ⊕ и не принимается во внимание, что схемотехнические затраты на реализацию операций & и ⊕ могут существенно отличаться друг от друга.There is a method of minimizing the Boolean function for a set of logical elements {&, ⊕}, proposed as an integral part of the process of storing digital information [2]. However, this method is also intended to minimize only one Boolean function and does not take into account the possibility of joint optimization of several Boolean functions representing an S-block. Moreover, in this method, the total number of elements & and ⊕ is optimized and it is not taken into account that the circuitry costs for the implementation of operations & and ⊕ can differ significantly from each other.
Наиболее близким по своей технической сущности к заявляемому является известный способ эффективной реализации S-блока, используемого в стандарте криптографической защиты информации AES [3], в котором, наряду с оптимизацией времени вычисления S-блока, решается и задача минимизации числа логических элементов {&, ⊕} при реализации данного S-блока.Closest in technical essence to the claimed one is a well-known method for efficiently implementing the S-block used in the AES cryptographic information protection standard [3], in which, along with optimizing the calculation time of the S-block, the problem of minimizing the number of logical elements {&, ⊕} when implementing this S-block.
Известный способ [3] выбирается в качестве прототипа.The known method [3] is selected as a prototype.
Основным недостатком прототипа является то, что он предназначен исключительно для S-блоков частного вида, а именно, для S-блоков, задаваемых несколькими (небольшим числом) операций в конечном поле , к которым и относиться S-блок стандарта криптографической защиты AES. Прототип непосредственно опирается на реализацию операции умножения в конечном поле , поэтому он неприменим к произвольному S-блоку, не основанному на какой-либо алгебраической системе.The main disadvantage of the prototype is that it is intended exclusively for private S-blocks, namely, for S-blocks specified by several (a small number) of operations in the final field , which include the S-block cryptographic protection standard AES. The prototype directly relies on the implementation of the multiplication operation in the final field , therefore, it does not apply to an arbitrary S-block that is not based on any algebraic system.
Другим недостатком (ограничением) прототипа является то, что он осуществляет минимизацию числа логических элементов {&, ⊕} для реализации S-блока в несколько тактов/шагов (для итеративной схемы реализации). При этом число итераций при вычислениях S-блока возрастает с увеличением размера m конечного поля .Another disadvantage (limitation) of the prototype is that it minimizes the number of logical elements {&, ⊕} for implementing the S-block in several clock cycles / steps (for an iterative implementation scheme). Moreover, the number of iterations in the calculations of the S-block increases with increasing size m of the final field .
Раскрытие изобретенияDisclosure of invention
Техническим результатом предлагаемого способа являетсяThe technical result of the proposed method is
1) уменьшение схемотехнических затрат при реализации S-блока с помощью логических элементов & и ⊕,1) reduction of circuit costs during the implementation of the S-block using the logical elements & and ⊕,
2) возможность учета различных схемотехнических затрат на реализацию элементов & и ⊕ в процессе минимизации результирующей логической схемы S-блока.2) the ability to account for various circuit costs for the implementation of the elements & and ⊕ in the process of minimizing the resulting logical circuit of the S-block.
В заявленном способе также отсутствуют ограничения на значения и размерности S-блока.In the claimed method there are also no restrictions on the values and S-block dimensions.
S-блок осуществляет замену входного двоичного вектора длины на выходной двоичный вектор длины , где для и .S-block replaces the input binary vector lengths to binary vector output lengths where for and .
S-блок однозначно задается аналитически координатными булевыми функциями от переменных , что можно записать в видеS-block is uniquely defined analytically by coordinate Boolean functions from variables that can be written as
В предлагаемом способе рассматривается представление координатных булевых функций S-блока через приведенные многочлены Жегалкина: каждая функция для аналитически задана в видеIn the proposed method, we consider the representation of the coordinate Boolean functions of the S-block through the reduced Zhegalkin polynomials: each function for analytically given in the form
где – множество переменных многочленов , ;Where - many variable polynomials , ;
- моном многочлена , который является произведением всех переменных из подмножества множества , причем при для приведенного многочлена . - monomial polynomial which is the product of all variables from a subset many , and at for the reduced polynomial .
- мощность (число элементов) множества - мономов , составляющих многочлен . - power (number of elements) of the set - monomials constituting the polynomial .
Существуют и другие, отличные от приведенного многочлена Жегалкина, формы представления булевых функций, например: таблица истинности, дизъюнктивная нормальная форма (ДНФ), конъюнктивная нормальная форма (КНФ). Процессы перехода от одного вида представления к другому хорошо известны. Например, в известном способе [4] приведена последовательность перехода от таблицы истинности к представлению булевой функции через приведенный многочлен Жегалкина. В заявляемом способе не имеет значения, каким образом формируется исходное аналитическое представление S-блока через приведенные многочлены Жегалкина:There are other forms of representation of Boolean functions other than the reduced Zhegalkin polynomial, for example: truth table, disjunctive normal form (DNF), conjunctive normal form (CNF). The processes of transition from one view to another are well known. For example, in the known method [4], the sequence of transition from the truth table to the representation of a Boolean function through the reduced Zhegalkin polynomial is given. In the claimed method, it does not matter how the initial analytical representation of the S-block is formed through the reduced Zhegalkin polynomials:
Для построения оптимальной логической схемы реализации S-блока через операции & и ⊕ в заявляемом способе используются предварительные аналитические вычисления, использующие операции над множествами. Для получаемого в результате схемотехнического решения не имеет значения, какие используются представления множеств (характеристический вектор, список элементов, в том числе упорядоченный список, и т.д.) и с помощью каких преобразований осуществляются операции над множествами.To construct the optimal logical scheme for the implementation of the S-block through the operations & and ⊕ in the present method, preliminary analytical calculations using operations on sets are used. For the resulting circuitry solution it does not matter which representations of the sets are used (the characteristic vector, the list of elements, including the ordered list, etc.) and with the help of which transformations the operations on the sets are carried out.
Прямой способ реализации S-блока (1), заданного множеством приведенных многочленов Жегалкина , состоит из двух этапов:Direct way to implement the S-block (1) given by the set of reduced Zhegalkin polynomials consists of two stages:
1. Составляют множество мономов, входящих в состав многочленов из множества , по формуле1. Make up a lot monomials in polynomials from the set , according to the formula
, ,
где – множество мономов, составляющих многочлен .Where - many monomials making up the polynomial .
Каждый моном реализуют через конъюнкцию & всех элементов множества - подмножества множества входных переменных S-блока, где – множество переменных монома .Every monom implement through conjunction & all elements of the set - subsets of the set S-block input variables, where - many monomial variables .
2. Каждый многочлен из множества реализуют, как сумму ⊕ выходов из схем реализаций мономов , полученных на предыдущем этапе.2. Each polynomial out of many realize as the sum of ⊕ outputs from monomial implementation schemes obtained in the previous step.
В этом способе схема реализации монома (свободному члену) требует элементов &, где – мощность множества – множества переменных монома .In this method, the monomial implementation scheme (free member) requires elements & where Is the power of the set - sets of monomial variables .
Аналогично, схема реализации многочлена требует элементов ⊕, где – мощность множества - множества мономов, составляющих многочлен .Similarly, a polynomial implementation scheme requires elements ⊕, where Is the power of the set - the set of monomials making up the polynomial .
Тем самым, аддитивная сложность и мультипликативная сложность реализации множества многочленов составляют:Thus, additive complexity and multiplicative complexity implementations of many polynomials make up:
, ,
(1) (one)
где – множество мономов, входящих в состав многочленов множества , за исключением свободного члена 1.Where - the set of monomials that make up the polynomials of the set , except for a
Если схемотехнические затраты на реализацию операции & составляют единиц, а затраты на реализацию операции ⊕ - единиц, суммарные затраты на реализацию S-блока составятIf the circuit costs for the operation & are units, and the costs of the operation ⊕ - units, total costs for the implementation of the S-block will be
Заявляемый способ состоит из аналитического этапа, на котором выполняется последовательная декомпозиция исходных многочленов, задающих S-блок, на суммы и произведения более простых многочленов, для реализации которых требуется меньше суммарных схемотехнических затрат, этапа синтеза, на котором создаются схемы реализации этих, далее не упрощаемых, многочленов и на основе этих схем в порядке обратном декомпозиции строится итоговая логическая схема реализации S-блока, и третьего этапа, в ходе которого итоговая логическая схема реализуется в электронной схеме.The inventive method consists of an analytical stage, in which a sequential decomposition of the initial polynomials defining an S-block is performed into sums and products of simpler polynomials, the implementation of which requires less total circuit costs, the synthesis stage, which creates schemes for the implementation of these, not further simplified , polynomials, and on the basis of these schemes, in the reverse decomposition order, the final logical circuit of the S-block implementation is constructed, and the third stage, during which the final logical circuit implements I'm in an electronic circuit.
На каждом шаге декомпозицию множества многочленов осуществляют одним из двух следующих преобразований.At each step, the decomposition of the set of polynomials is carried out by one of the following two transformations.
Преобразование 1 определяется парой многочленов из рассматриваемого множества многочленов , и состоит из следующих вычислений:
• выделяют множество общих мономов многочленов и • emit many common monomials of polynomials and
• вычисляют мощность ;• calculate power ;
• если (это равносильно тому, что многочлены и или не имеют общих мономов или имеют ровно один такой моном), то данное преобразование прекращают, так как оно не дает снижения схемотехнических затрат;• if (this is equivalent to polynomials and either do not have common monomials or have exactly one such monomial), then this transformation is stopped, since it does not reduce circuit costs;
• если , то из мономов множества составляют многочлен , а из мономов множеств и – многочлены и соответственно;• if , then from the monomials of the set make up the polynomial , and from the monomials of sets and - polynomials and respectively;
• вычисляют, в качестве декомпозиции многочленов и , соотношения• calculate, as a decomposition of polynomials and relations
, ,
, ,
в которых слагаемые, равные 0, обозначают, что операцию ⊕ реализовывать не требуется;in which terms equal to 0 mean that the operation ⊕ is not required to be realized;
• формируют результирующее множество многочленов• form the resulting set of polynomials
• вычисляют эффективность преобразования (величину уменьшения схемотехнических затрат) в виде• calculate the conversion efficiency (the value of reducing circuit costs) in the form
Преобразование 2 определяется параметром – переменной из множества и состоит из следующих вычислений для каждого многочлена из рассматриваемого множества многочленов :
• для рассматриваемого многочлена формируют множество мономов, содержащих переменную • for the polynomial in question form a multitude monomials containing a variable
• вычисляют мощность множества ;• calculate power many ;
• если (это равносильно тому, что многочлен или не зависит от переменной , или имеет ровно один моном, содержащий переменную ), то не подвергают декомпозиции, в неизменном виде включают в результирующее (формируемое) множество многочленов , а сложность его декомпозиции полагают равной нулю;• if (this is equivalent to polynomial or does not depend on a variable , or has exactly one monomial containing a variable ) then they are not decomposed; they are invariably included in the resulting (formed) set of polynomials , and the complexity of its decomposition set equal to zero;
• если , то осуществляют декомпозицию многочлена , выполняя следующие действия:• if then decompose the polynomial by following these steps:
◯ из мономов множества исключают переменную и формируют многочлен ◯ of monomials of the set exclude variable and form a polynomial
, ,
причем моном , состоящий из единственной переменной , переходит в свободный член 1 многочлена ;and monom consisting of a single variable goes into the free term of 1 polynomial ;
◯ из мономов множества (мономов многочлена , не содержащих переменную ) формируют многочлен ◯ of monomials of the set (monomial polynomial not containing a variable ) form a polynomial
◯ вычисляют многочлен◯ calculate the polynomial
◯ приводят подобные члены в (исключают повторяющиеся мономы)◯ bring similar members to (exclude repeating monomials)
◯ если число мономов многочлена меньше числа мономов многочлена на 2 и более, что равносильно условию на мощности множеств◯ if the number of monomials of the polynomial less than the number of monomials of the polynomial by 2 or more, which is equivalent to the condition on the cardinality of sets
, ,
то в качестве декомпозиции многочлена используют выражениеthen as a decomposition of the polynomial use expression
, ,
▪ включают в результирующее множество многочленов многочлены , и ;▪ include in the resulting set of polynomials polynomials , and ;
▪ принимают значение сложности декомпозиции многочлена равной , если , то увеличивают значение на ▪ take on the importance of decomposition complexity polynomial equal , if then increase the value on
; ;
◯ если же◯ if
, ,
то в качестве декомпозиции многочлена используют выражениеthen as a decomposition of the polynomial use expression
, ,
▪ включают в результирующее (формируемое) множество многочленов многочлены и ;▪ include in the resulting (generated) set of polynomials polynomials and ;
▪ принимают значение сложности декомпозиции многочлена равной , если , то увеличивают значение на ▪ take on the importance of decomposition complexity polynomial equal , if then increase the value on
Эффективность преобразования 2 (величину уменьшения схемотехнических затрат) для рассматриваемого множества многочленов и переменной рассчитывают по формуле:The conversion efficiency 2 (the amount of reduction of circuit costs) for the considered set of polynomials and variable calculated by the formula:
, ,
где значения и вычисляются по формулам (1) и (2).where are the values and are calculated by formulas (1) and (2).
Для минимизации схемотехнических затрат на реализацию мономов из множества проводят разложение мономов в произведение мономов с меньшим числом переменных, используя следующее преобразование.To minimize circuit costs for the implementation of monomials from the set carry out the decomposition of monomials into a product of monomials with fewer variables using the following transformation.
Преобразование 3 состоит из следующих вычислений и операций:
• осуществляют во множестве мономов поиск для обнаружения пары мономов , причем , с наибольшим числом общих переменных, путем последовательного перебора, то есть находят пару мономов с максимальным значением• carried out in many monomials search to detect a pair of monomials , and , with the largest number of common variables, by sequential search, that is, find a pair of monomials with the maximum value
где – множество переменных в мономе Where - many variables in a monomial
• если (это равносильно тому, что у мономов рассматриваемого множества нет общих переменных), то завершают преобразование• if (this is equivalent to the fact that the monomials of the set under consideration no shared variables) then complete the conversion
• если , то выполняют следующие действия:• if , then perform the following steps:
• составляют мономы , , из переменных , и , соответственно; в качестве разложения мономов и используют выражения• make up monomials , , from variables , and , respectively; as a decomposition of monomials and use expressions
, ,
, ,
в которых сомножители, равные 1, обозначают, что операцию & реализовывать не требуется;in which factors equal to 1 mean that the operation & is not required to be implemented;
• формируют результирующее множество мономов , удаляя из множества мономы и и добавляя мономы , , , т.е. вычисляют• form the resulting set of monomials removing from the set monomials and and adding monomials , , , i.e. calculate
Предлагаемый способ минимизации схемотехнических затрат на реализацию S-блока, заданного многочленами Жегалкина , состоит из 7 этапов.The proposed method of minimizing circuit costs for the implementation of the S-block defined by Zhegalkin polynomials consists of 7 stages.
1. Исходное множество многочленов1. The original set of polynomials
последовательно преобразовывают с использованием преобразований 1 и 2:sequentially converted using
где каждый переход имеет эффективность больше нуля (т.е. приводит к снижению оценки суммарных схемотехнических затрат и осуществляется к результирующему множеству многочленов, формируемому в ходе этих преобразований). Результирующее множество характеризуется тем, что никакое из преобразований 1 и 2 не приводит к дальнейшему снижению оценки затрат ни при каких параметрах.where each transition has an efficiency greater than zero (i.e., it leads to a decrease in the estimate of the total circuit costs and is carried out to the resulting set of polynomials formed during these transformations). Result set characterized by the fact that none of the
2. Затем, по результирующему множеству формируют множество мономов , входящих в многочлены множества и добавляют к нему множество входных переменных 2. Then, according to the result set form many monomials included in the polynomials of the set and add a lot of input variables to it
, ,
где – множество мономов, составляющих многочлен .Where - many monomials making up the polynomial .
3. Затем осуществляют разложение мономов множества , многократно используя преобразование 3 до тех пор, пока преобразование станет неприменимым, и получают последовательность множеств3. Then carry out the decomposition of the monomials of the set repeatedly using
Поскольку переменные не удаляют в процессе преобразования множества мономов, то невозможность применения преобразования 3 к множеству равносильно тому, что состоит только из элементов , которые и являются входами S-блока.Since the variables do not delete during the transformation of the set of monomials, the impossibility of applying
4. Построение логической схемы S-блока начинают проходом по цепочке в обратном порядке, соединяя операцией & выходы схем мономов, участвующих в разложении, схемы которых, в свою очередь, были составлены на предыдущих шагах.4. The construction of the logical circuit of the S-block begins with a passage along the chain in the reverse order, connecting by operation & the outputs of the circuits of the monomials involved in the decomposition, the circuits of which, in turn, were compiled in the previous steps.
5. После построения логических схем мономов из множества формируют логические схемы многочленов из множества , соединяя операцией ⊕ выходы схем мономов , составляющих этот многочлен.5. After constructing the logic circuits of monomials from the set form polynomial logic from the set connecting operation ⊕ the outputs of the monomial circuits making up this polynomial.
6. Далее осуществляют проход по цепочке в обратном порядке, и составляют логические схемы очередных многочленов, соединяя операциями & и ⊕ выходы схем предшествующих многочленов в соответствии с формулами декомпозиции.6. Next, a passage through the chain in the reverse order, and make up the logical circuits of the next polynomials, connecting with the operations & and ⊕ the outputs of the circuits of the previous polynomials in accordance with the decomposition formulas.
7. Выходы логических схем многочленов множества используют в качестве выходов логической схемы S-блока.7. The outputs of the logic of polynomials of the set used as outputs of the logic circuit of the S-block.
В описанном способе минимизации схемотехнических затрат не специфицированы параметры, которые используются для переходов и . Однако, от выбора этих параметров зависит получаемый эффект снижения схемотехнических затрат. Эффективный метод выбора наилучшего набора параметров, обеспечивающих наименьшее из возможных значений суммарных схемотехнических затрат, неизвестен, а полный перебор всех наборов требует экспоненциальных вычислительных затрат от величины , что делает перебор неприемлемым для практически интересных значений .In the described method for minimizing circuit costs, the parameters that are used for transitions are not specified and . However, the effect of reducing circuit costs depends on the choice of these parameters. An effective method for choosing the best set of parameters that provide the smallest possible value of the total circuit costs is unknown, and a complete search of all sets requires exponential computational costs of , which makes the search unacceptable for practically interesting values .
В заявляемом способе предлагается выбирать параметры перехода так, чтобы на каждом переходе и уменьшение оценки схемотехнических затрат было максимально возможным, а среди параметров, обеспечивающих такое снижение оценки, использовать параметры, запись (представление) которых предшествует записям остальным в лексикографическом порядке.In the inventive method, it is proposed to select the transition parameters so that at each transition and a decrease in the estimate of circuit costs was the maximum possible, and among the parameters that provide such a decrease in the estimate, use parameters whose record (presentation) precedes the others in the lexicographic order.
Необходимо отметить, что построение (формирование) логической схемы, реализующей соответствующую булеву функцию, является известным процессом (этот процесс описан, например, в [1, 4]).It should be noted that the construction (formation) of a logic circuit that implements the corresponding Boolean function is a known process (this process is described, for example, in [1, 4]).
Реализация электронной схемы на основе полученной логической схемы также является известным процессом и может быть выполнена как на дискретных элементах, так и с использованием интегральных микросхем, в том числе программируемых логических интегральных микросхем (ПЛИС), по выбору разработчика.The implementation of an electronic circuit based on the obtained logic circuit is also a well-known process and can be performed both on discrete elements and using integrated circuits, including programmable logic integrated circuits (FPGAs), as chosen by the developer.
Краткое описание чертежейBrief Description of the Drawings
На фиг. 1 показана начальная логическая схема для примера реализации способа.In FIG. 1 shows an initial logic diagram for an example implementation of the method.
На фиг. 2 показана промежуточная логическая схема для примера реализации способа.In FIG. 2 shows an intermediate logic diagram for an example implementation of the method.
На фиг. 3 показана промежуточная логическая схема для примера реализации способа.In FIG. 3 shows an intermediate logic diagram for an example implementation of the method.
На фиг. 4 показана промежуточная логическая схема для примера реализации способа.In FIG. 4 shows an intermediate logic diagram for an example implementation of the method.
На фиг. 5 показана промежуточная логическая схема для примера реализации способа.In FIG. 5 shows an intermediate logic diagram for an example implementation of the method.
На фиг. 6 показана финальная логическая схема для примера реализации способа.In FIG. 6 shows the final logic diagram for an example implementation of the method.
Осуществление изобретенияThe implementation of the invention
Рассмотрим пример реализации предложенного способа для S-блока, имеющий = 4 входов и = 4 выходов и заданного следующими многочленами Жегалкина от четырех переменных Consider an example implementation of the proposed method for the S-block, having = 4 inputs and = 4 outputs and given by the following Zhegalkin polynomials in four variables
Прямой способ реализации этого S-блока требует 11 операций & для формирования мономов , , , , , и 13 операций для составления из них многочленов.The direct way to implement this S-block requires 11 operations & for the formation of monomials , , , , , and 13 operations for composing polynomials from them.
Рассмотрим применение предлагаемого способа в условиях, когда схемотехнические затраты на реализацию операций & и ⊕ совпадают, т.е. = = 1.Consider the application of the proposed method in conditions when the circuit costs for the implementation of the operations & and ⊕ coincide, i.e. = = 1.
Число общих мономов у любой пары многочленов не превышает 1, поэтому способ из прототипа не дает выигрыша по количеству операций, т.е. не приводит к снижению схемотехнических затрат.The number of common monomials in any pair of polynomials does not exceed 1, therefore, the method from the prototype does not give a gain in the number of operations, i.e. does not reduce circuit costs.
В предлагаемом способе этому S-блоку соответствуют исходные значения:In the proposed method, this S-block corresponds to the initial values:
У любых двух многочленов из множества совпадает не более одного монома, что при на этапе А1 (согласно обозначению в формуле изобретения), соответствует тому, что . Поэтому на этапе А1 после присвоения значения выполняют переход на этап А2, где вычисляют значение , характеризующую сложность прямой реализации множества многочленов Any two polynomials from the set no more than one monomial coincides, which for at step A1 (according to the designation in the claims), corresponds to the fact that . Therefore, in step A1, after assigning a value go to step A2 where the value is calculated characterizing the complexity of the direct implementation of many polynomials
и величину имеющегося снижения сложностиand the amount of available reduction in complexity
С этапа А3 до этапа А4 по очереди перебирают переменные из множества . Для выбранного значения каждый многочлен из представляют в одном из 2-х вариантов:From stage A3 to stage A4, variables are sorted through in turn out of many . For the selected value each polynomial of present in one of 2 options:
илиor
, ,
в записи которого меньше операций . Для полученного разложения многочленов по переменной подсчитывают значение , характеризующую снижение сложности прямой реализации множества многочленов за счет перехода к прямой реализации выделенных компонент разложения с последующим составлением исходных многочленов по выбранным формулам.which record has fewer operations . For the obtained decomposition of polynomials by variable count the value , characterizing the decrease in the complexity of direct implementation of many polynomials due to the transition to direct implementation of the selected decomposition components with the subsequent compilation of the original polynomials according to the selected formulas.
Для рассматриваемого множества многочленов перебор переменных дает следующие результаты разложения многочленов и соответствующие им оценки сложности использования такого разложения:For the considered set of polynomials enumeration of variables gives the following results of the decomposition of polynomials and the corresponding estimates of the complexity of using such a decomposition:
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Наибольшее снижение сложности (значение ) имеет место при . Поэтому на этапе А4 при переходе на этап А1 при :The greatest decrease in difficulty (value ) takes place at . Therefore, in step A4, when moving to step A1 for :
Для множества многочленов максимальная общая часть двух многочленов состоит из 3-х мономов , , . Поэтому при переходе на этап А2 вычисляемые параметры имеют значения:For many polynomials the maximum common part of two polynomials consists of 3 monomials , , . Therefore, when proceeding to step A2, the calculated parameters have the values:
На этапе А2 вычисляют сложность прямой реализации множества многочленов At step A2, the complexity of the direct implementation of the set of polynomials is calculated
и снижение сложности за счет выделения общего слагаемого and reducing complexity by highlighting the common term
На этапах с А3 по А4 разложение многочленов множества по переменным , , из множества дает следующие оценки сложности использования данного разложения по сравнению с сложностью прямой реализации множества In steps A3 through A4, the decomposition of the polynomials of the set by variables , , out of many gives the following estimates of the complexity of using this decomposition in comparison with the complexity of the direct implementation of the set
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Наибольшее снижение сложности (значение ) имеет место при , что меньше снижения сложности (значение ) при выделение многочлена .The greatest decrease in difficulty (value ) takes place at which is less than the reduction in complexity (value ) when isolating a polynomial .
Поэтому на этапе А4 при переходе на этап А1 при вычисляемые параметры имеют следующие значения:Therefore, in step A4, when moving to step A1 for calculated parameters have the following meanings:
Число общих мономов у любой пары многочленов из множества не превышает 1, поэтому при переходе на этап А3 при вычисляемые параметры имеют следующие значенияThe number of common monomials in any pair of polynomials from the set does not exceed 1, therefore, when moving to step A3 for calculated parameters have the following meanings
и сложность прямой реализации and the complexity of direct implementation
На этапах с А3 по А4 разложение многочленов множества по переменным , , из множества дает следующие оценки сложности использования данного разложения по сравнению со сложностью прямой реализации множества .In steps A3 through A4, the decomposition of the polynomials of the set by variables , , out of many gives the following estimates of the complexity of using this decomposition in comparison with the complexity of the direct implementation of the set .
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Для :For :
сложностьcomplexity
Наибольшее снижение сложности имеет место при . Поэтому на этапе А4 при переходе на этап А1 при вычисляемые параметры имеют следующие значения:The greatest reduction in complexity occurs when . Therefore, in step A4, when moving to step A1 for calculated parameters have the following meanings:
Число общих мономов у любой пары многочленов из множества не превышает 1, поэтому переходят на этап А3 - к анализу разложений многочленов множества по переменным , из множества .The number of common monomials in any pair of polynomials from the set does not exceed 1, so go to step A3 - to analyze the decompositions of the polynomials of the set by variables , out of many .
Никакой из двух вариантов разложения не приводит к снижению оценки сложности, поэтому формируют множество мономовNone of the two decomposition options leads to a decrease in the complexity estimate; therefore, many monomials are formed
и переходят к этапу А5 при .and go to step A5 with .
На этапе А5 при максимальное число общих переменных, равное 1, имеют мономы и из множества . Для этих мономов вычисления дают результат: и множество мономов .At step A5, when the maximum number of common variables equal to 1 are monomials and out of many . For these monomials, the calculations give the result: and many monomials .
В множестве мономов уже нет мономов с общими переменными, поэтому переходят на этап А6 - к синтезу схемы из элементов и &. In many monomials there are no monomials with common variables, so go to step A6 - to synthesize the circuit from elements and &.
Схема для множества проста: входы , , , соединены с одноименными выходами , , , и добавлен выход постоянного сигнала 1 (фиг. 1).Circuit for many simple: inputs , , , connected to the outputs of the same name , , , and added the output of the constant signal 1 (Fig. 1).
Переход к схеме для множества выполняют путем добавления к схеме части, осуществляющей вычисления отсутствующих в мономов и (фиг. 2).Transition to the scheme for the set performed by adding to the circuit part of the calculations missing in monomials and (Fig. 2).
При переходе к схеме для множества многочленов к схеме для добавляют части, которые соответствуют многочленам с двумя и более мономами, и которые осуществляют сложение выходов мономов этого многочлена в схеме для формирования входа, соответствующего данному многочлену (фиг. 3).When passing to the scheme for many polynomials to the scheme for add parts that correspond to polynomials with two or more monomials, and which add up the outputs of the monomials of this polynomial in the circuit to form the input corresponding to this polynomial (Fig. 3).
При переходе от схемы для множества многочленов к схеме для множества многочленов добавляют часть, реализующую многочлен : добавляют операцию & над выходом, соответствующем многочлену , и входом переменной и соединяют операцией ⊕ результат данной операции & с входом переменной (фиг. 4).When passing from a scheme to a set of polynomials to the scheme for many polynomials add the part that implements the polynomial : add the & operation on the output matching the polynomial , and variable input and connect by the operation ⊕ the result of this operation & with the input of the variable (Fig. 4).
При переходе от схемы для множества многочленов к схеме для множества многочленов добавляют часть, реализующую многочлен : соединяют через операцию ⊕ выход, соответствующий многочлену , и вход переменной (фиг. 5).When passing from a scheme to a set of polynomials to the scheme for many polynomials add the part that implements the polynomial : through the operation ⊕ connect the output corresponding to the polynomial , and variable input (Fig. 5).
Переход от схемы для множества многочленов к схеме для множества многочленов полностью аналогичен переходу от схемы к схеме : добавляются части, являющиеся произведением (в смысле операции &) одного из выходов и одной из входящих переменных с последующим суммированием (в смысле операции ⊕) с другим выходом (фиг. 6).Transition from the scheme for many polynomials to the scheme for many polynomials completely analogous to switching from a circuit to the scheme : parts are added that are the product (in the sense of the & operation) of one of the outputs and one of the input variables, followed by summing (in the sense of the operation ⊕) with the other output (Fig. 6).
В полученной финальной схеме реализации S-блока (фиг. 8) использовано 11 операций ⊕ и 6 операций &, что меньше исходных значений 13 операций ⊕ и 11 операций &.In the resulting final implementation scheme of the S-block (Fig. 8), 11 operations ⊕ and 6 operations & were used, which is less than the initial values of 13 operations ⊕ and 11 operations &.
Таким образом, предлагаемый способ уменьшает схемотехнические затраты – количество элементов, реализующих операции & и ⊕ при формировании заданного S-блока.Thus, the proposed method reduces circuit costs - the number of elements that implement the operations & and ⊕ in the formation of a given S-block.
В случае исходного S-блока большой размерности процедуру построения логической схемы, согласно предложенному способу, целесообразно автоматизировать путем составления программы для ЭВМ, что вполне может выполнить специалист по программированию (программист) на основе знания действий способа.In the case of the original S-block of large dimension, the procedure for constructing a logical circuit, according to the proposed method, it is advisable to automate by compiling a computer program, which can be done by a programming specialist (programmer) based on knowledge of the method.
Последующая схемотехническая реализация полученного S-блока может быть осуществлена известными методами, предпочтительной формой для использования в современной компьютерной технике является реализация на ПЛИС, но это необязательно. Конкретный выбор варианта схемотехнической реализации зависит от разработчика.The subsequent circuitry implementation of the obtained S-block can be carried out by known methods, the preferred form for use in modern computer technology is the implementation on the FPGA, but this is not necessary. The specific choice of circuitry implementation option depends on the developer.
Источники информации, принятые во внимание при формировании заявкиSources of information taken into account when forming the application
1. Самофалов К.Г. и др. Прикладная теория цифровых автоматов (учебник), Киев, Вища Школа, 1987.1. Samofalov K.G. et al. Applied Theory of Digital Automata (textbook), Kiev, Vishcha School, 1987.
2. Патент РФ № 2331937, приоритет от 24.08.2006 г.2. RF patent No. 2331937, priority 24.08.2006
3. Патент США № 7421076, приоритет от 17.09.2003 г.3. US Patent No. 7421076, priority of September 17, 2003.
4. Спирин П.А. Спирина М.С. Дискретная математика (учебник), Издательский центр “Академия”, 20044. Spirin P.A. Spirina M.S. Discrete Mathematics (textbook), Academy Publishing Center, 2004
Claims (127)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015121014A RU2607613C2 (en) | 2015-06-03 | 2015-06-03 | Method of forming s-block |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015121014A RU2607613C2 (en) | 2015-06-03 | 2015-06-03 | Method of forming s-block |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015121014A RU2015121014A (en) | 2016-12-20 |
RU2607613C2 true RU2607613C2 (en) | 2017-01-10 |
Family
ID=57759217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015121014A RU2607613C2 (en) | 2015-06-03 | 2015-06-03 | Method of forming s-block |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2607613C2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778074A (en) * | 1995-06-29 | 1998-07-07 | Teledyne Industries, Inc. | Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes |
US6031911A (en) * | 1996-07-18 | 2000-02-29 | Entrust Technologies, Ltd. | Practical S box design |
US20050058285A1 (en) * | 2003-09-17 | 2005-03-17 | Yosef Stein | Advanced encryption standard (AES) engine with real time S-box generation |
RU2331937C2 (en) * | 2006-08-24 | 2008-08-20 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method of digital information storage |
RU120303U1 (en) * | 2012-06-04 | 2012-09-10 | Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" | DEVICE FOR TRANSFORMING DATA BLOCKS DURING ENCRYPTION |
RU2502201C2 (en) * | 2006-09-01 | 2013-12-20 | Сони Корпорейшн | Encryption/decryption device, encryption/decryption method, information processing device and computer programme |
-
2015
- 2015-06-03 RU RU2015121014A patent/RU2607613C2/en active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778074A (en) * | 1995-06-29 | 1998-07-07 | Teledyne Industries, Inc. | Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes |
US6031911A (en) * | 1996-07-18 | 2000-02-29 | Entrust Technologies, Ltd. | Practical S box design |
US20050058285A1 (en) * | 2003-09-17 | 2005-03-17 | Yosef Stein | Advanced encryption standard (AES) engine with real time S-box generation |
RU2331937C2 (en) * | 2006-08-24 | 2008-08-20 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method of digital information storage |
RU2502201C2 (en) * | 2006-09-01 | 2013-12-20 | Сони Корпорейшн | Encryption/decryption device, encryption/decryption method, information processing device and computer programme |
RU120303U1 (en) * | 2012-06-04 | 2012-09-10 | Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" | DEVICE FOR TRANSFORMING DATA BLOCKS DURING ENCRYPTION |
Also Published As
Publication number | Publication date |
---|---|
RU2015121014A (en) | 2016-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alur et al. | Search-based program synthesis | |
van derWerf et al. | Process discovery using integer linear programming | |
Leemans et al. | Discovering block-structured process models from event logs-a constructive approach | |
Gabbay et al. | Equilibrium states in numerical argumentation networks | |
US9152390B1 (en) | Generating modular and hierarchical execution code from untimed and timed block diagrams | |
Diekert et al. | Efficient algorithms for highly compressed data: The Word Problem in Higman's group is in P | |
Mittmann | Independence in algebraic complexity theory | |
Moraglio et al. | Evolving recursive programs using non-recursive scaffolding | |
RU2607613C2 (en) | Method of forming s-block | |
Homobono et al. | Connectivity of Imase and Itoh digraphs | |
Grebennik et al. | Generating combinatorial sets with given properties | |
Luba et al. | Evolutionary multi-level network synthesis in given design style | |
Sternagel et al. | Formalizing monotone algebras for certification of termination and complexity proofs | |
Geerts | Walk message passing neural networks and second-order graph neural networks | |
Prihozhy | If-diagrams: theory and application | |
Teslenko et al. | Computing a perfect input assignment for probabilistic verification | |
Kahramanli et al. | A new method based on cube algebra for the simplification of logic functions | |
Baldoni et al. | Fuzzy Petri Net Modeling and Simulation: Toward Enhanced Direct Reasoning Algorithms | |
Brickenstein et al. | Gröbner-free normal forms for Boolean polynomials | |
Butera et al. | Sums of permanental minors using Grassmann algebra | |
Tarau et al. | Boolean evaluation with a pairing and unpairing function | |
Hasanvand | Packing spanning partition-connected subgraphs with small degrees | |
Accettella et al. | Inversion of two level circulant matrices over Zp | |
Sule | Implicant based parallel all solution solver for Boolean satisfiability | |
Delgado-Eckert et al. | Discrete time systems with event-based dynamics: Recent developments in analysis and synthesis methods |