RU2607613C2 - Method of forming s-block - Google Patents

Method of forming s-block Download PDF

Info

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
Application number
RU2015121014A
Other languages
Russian (ru)
Other versions
RU2015121014A (en
Inventor
Александр Геннадьевич Иванов
Original Assignee
Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" filed Critical Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority to RU2015121014A priority Critical patent/RU2607613C2/en
Publication of RU2015121014A publication Critical patent/RU2015121014A/en
Application granted granted Critical
Publication of RU2607613C2 publication Critical patent/RU2607613C2/en

Links

Images

Classifications

    • 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
    • H04L9/06Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/766Generation of all possible permutations
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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/04Apparatus 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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/06Apparatus 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
    • 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
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution 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

FIELD: information technology.
SUBSTANCE: invention relates to information processing and cryptography and, in particular, to methods of forming S-blocks for replacement with minimum number of logic elements. Proposed method consists of an analytical step, which comprises successive decomposition of initial polynomials, setting S-block, into a sum and product of simpler polynomials, implementation of which requires less total circuit design costs, a synthesis phase, on which are created circuits for implementing said polynomials which cannot be simplified further and on basis of said circuits in reverse order of decomposition final logic circuit for implementation S-block is built, and a third step, during which final logic circuit is implemented in electronic circuit.
EFFECT: reduced circuit design costs when implementing S-block using logic elements & and ⊕ (XOR), providing possibility of taking into account various circuit design costs on implementation of elements & and ⊕ in process of minimising resultant logic circuit of S-block.
1 cl, 6 dwg

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

Операции замены

Figure 00000001
-битовых двоичных векторов на
Figure 00000002
-битовые двоичные вектора, реализуемые в блоках замены (S-блоках), широко используются для криптографического преобразования данных, для сжатия информации и/или защиты от помех при хранении и при передаче информации по каналам связи.Replacement operations
Figure 00000001
bit binary vectors on
Figure 00000002
-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]. Однако, известные методы предназначены для оптимизации одной булевой функции, а не набора из

Figure 00000002
булевых функций, задающих 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
Figure 00000002
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-блоков, задаваемых несколькими (небольшим числом) операций в конечном поле

Figure 00000003
, к которым и относиться S-блок стандарта криптографической защиты AES. Прототип непосредственно опирается на реализацию операции умножения в конечном поле
Figure 00000004
, поэтому он неприменим к произвольному 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
Figure 00000003
, which include the S-block cryptographic protection standard AES. The prototype directly relies on the implementation of the multiplication operation in the final field
Figure 00000004
, therefore, it does not apply to an arbitrary S-block that is not based on any algebraic system.

Другим недостатком (ограничением) прототипа является то, что он осуществляет минимизацию числа логических элементов {&, ⊕} для реализации S-блока в несколько тактов/шагов (для итеративной схемы реализации). При этом число итераций при вычислениях S-блока возрастает с увеличением размера m конечного поля

Figure 00000005
.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
Figure 00000005
.

Раскрытие изобретения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.

В заявленном способе также отсутствуют ограничения на значения

Figure 00000001
и
Figure 00000002
размерности S-блока.In the claimed method there are also no restrictions on the values
Figure 00000001
and
Figure 00000002
S-block dimensions.

S-блок осуществляет замену входного двоичного вектора

Figure 00000006
длины
Figure 00000001
на выходной двоичный вектор
Figure 00000007
длины
Figure 00000002
, где
Figure 00000008
для
Figure 00000009
и
Figure 00000010
.S-block replaces the input binary vector
Figure 00000006
lengths
Figure 00000001
to binary vector output
Figure 00000007
lengths
Figure 00000002
where
Figure 00000008
for
Figure 00000009
and
Figure 00000010
.

S-блок однозначно задается аналитически координатными булевыми функциями

Figure 00000011
от
Figure 00000001
переменных
Figure 00000012
, что можно записать в видеS-block is uniquely defined analytically by coordinate Boolean functions
Figure 00000011
from
Figure 00000001
variables
Figure 00000012
that can be written as

Figure 00000013
Figure 00000013

В предлагаемом способе рассматривается представление координатных булевых функций S-блока через приведенные многочлены Жегалкина: каждая функция

Figure 00000014
для
Figure 00000015
аналитически задана в видеIn the proposed method, we consider the representation of the coordinate Boolean functions of the S-block through the reduced Zhegalkin polynomials: each function
Figure 00000014
for
Figure 00000015
analytically given in the form

Figure 00000016
Figure 00000016

где

Figure 00000017
– множество переменных многочленов
Figure 00000018
,
Figure 00000019
;Where
Figure 00000017
- many variable polynomials
Figure 00000018
,
Figure 00000019
;

Figure 00000020
- моном многочлена
Figure 00000021
, который является произведением всех переменных
Figure 00000022
из подмножества
Figure 00000023
множества
Figure 00000024
, причем
Figure 00000025
при
Figure 00000026
для приведенного многочлена
Figure 00000027
.
Figure 00000020
- monomial polynomial
Figure 00000021
which is the product of all variables
Figure 00000022
from a subset
Figure 00000023
many
Figure 00000024
, and
Figure 00000025
at
Figure 00000026
for the reduced polynomial
Figure 00000027
.

Figure 00000028
- мощность (число элементов) множества
Figure 00000029
- мономов
Figure 00000030
, составляющих многочлен
Figure 00000031
.
Figure 00000028
- power (number of elements) of the set
Figure 00000029
- monomials
Figure 00000030
constituting the polynomial
Figure 00000031
.

Существуют и другие, отличные от приведенного многочлена Жегалкина, формы представления булевых функций, например: таблица истинности, дизъюнктивная нормальная форма (ДНФ), конъюнктивная нормальная форма (КНФ). Процессы перехода от одного вида представления к другому хорошо известны. Например, в известном способе [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:

Figure 00000032
Figure 00000032

Для построения оптимальной логической схемы реализации 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), заданного множеством приведенных многочленов Жегалкина

Figure 00000033
, состоит из двух этапов:Direct way to implement the S-block (1) given by the set of reduced Zhegalkin polynomials
Figure 00000033
consists of two stages:

1. Составляют множество

Figure 00000034
мономов, входящих в состав многочленов из множества
Figure 00000035
, по формуле1. Make up a lot
Figure 00000034
monomials in polynomials from the set
Figure 00000035
, according to the formula

Figure 00000036
,
Figure 00000036
,

где

Figure 00000037
– множество мономов, составляющих многочлен
Figure 00000038
.Where
Figure 00000037
- many monomials making up the polynomial
Figure 00000038
.

Каждый моном

Figure 00000039
реализуют через конъюнкцию & всех элементов множества
Figure 00000040
- подмножества множества
Figure 00000041
входных переменных S-блока, где
Figure 00000040
– множество переменных монома
Figure 00000042
.Every monom
Figure 00000039
implement through conjunction & all elements of the set
Figure 00000040
- subsets of the set
Figure 00000041
S-block input variables, where
Figure 00000040
- many monomial variables
Figure 00000042
.

2. Каждый многочлен

Figure 00000038
из множества
Figure 00000035
реализуют, как сумму ⊕ выходов из схем реализаций мономов
Figure 00000037
, полученных на предыдущем этапе.2. Each polynomial
Figure 00000038
out of many
Figure 00000035
realize as the sum of ⊕ outputs from monomial implementation schemes
Figure 00000037
obtained in the previous step.

В этом способе схема реализации монома

Figure 00000043
(свободному члену) требует
Figure 00000044
элементов &, где
Figure 00000045
– мощность множества
Figure 00000040
– множества переменных монома
Figure 00000042
.In this method, the monomial implementation scheme
Figure 00000043
(free member) requires
Figure 00000044
elements & where
Figure 00000045
Is the power of the set
Figure 00000040
- sets of monomial variables
Figure 00000042
.

Аналогично, схема реализации многочлена

Figure 00000046
требует
Figure 00000047
элементов ⊕, где
Figure 00000048
– мощность множества
Figure 00000037
- множества мономов, составляющих многочлен
Figure 00000038
.Similarly, a polynomial implementation scheme
Figure 00000046
requires
Figure 00000047
elements ⊕, where
Figure 00000048
Is the power of the set
Figure 00000037
- the set of monomials making up the polynomial
Figure 00000038
.

Тем самым, аддитивная сложность

Figure 00000049
и мультипликативная сложность
Figure 00000050
реализации множества многочленов
Figure 00000035
составляют:Thus, additive complexity
Figure 00000049
and multiplicative complexity
Figure 00000050
implementations of many polynomials
Figure 00000035
make up:

Figure 00000051
Figure 00000051

Figure 00000052
,
Figure 00000052
,

Figure 00000053
(1)
Figure 00000053
(one)

где

Figure 00000054
– множество мономов, входящих в состав многочленов множества
Figure 00000035
, за исключением свободного члена 1.Where
Figure 00000054
- the set of monomials that make up the polynomials of the set
Figure 00000035
, except for a free member 1.

Если схемотехнические затраты на реализацию операции & составляют

Figure 00000055
единиц, а затраты на реализацию операции ⊕ -
Figure 00000056
единиц, суммарные затраты
Figure 00000057
на реализацию S-блока составятIf the circuit costs for the operation & are
Figure 00000055
units, and the costs of the operation ⊕ -
Figure 00000056
units, total costs
Figure 00000057
for the implementation of the S-block will be

(2)(2)

Заявляемый способ состоит из аналитического этапа, на котором выполняется последовательная декомпозиция исходных многочленов, задающих 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 определяется парой многочленов

Figure 00000058
из рассматриваемого множества многочленов
Figure 00000059
, и состоит из следующих вычислений: Transformation 1 is determined by a pair of polynomials
Figure 00000058
from the considered set of polynomials
Figure 00000059
, and consists of the following calculations:

• выделяют множество

Figure 00000060
общих мономов многочленов
Figure 00000061
и
Figure 00000062
• emit many
Figure 00000060
common monomials of polynomials
Figure 00000061
and
Figure 00000062

Figure 00000063
Figure 00000063

• вычисляют мощность

Figure 00000064
;• calculate power
Figure 00000064
;

• если

Figure 00000065
(это равносильно тому, что многочлены
Figure 00000061
и
Figure 00000062
или не имеют общих мономов или имеют ровно один такой моном), то данное преобразование прекращают, так как оно не дает снижения схемотехнических затрат;• if
Figure 00000065
(this is equivalent to polynomials
Figure 00000061
and
Figure 00000062
either do not have common monomials or have exactly one such monomial), then this transformation is stopped, since it does not reduce circuit costs;

• если

Figure 00000066
, то из мономов множества
Figure 00000067
составляют многочлен
Figure 00000068
, а из мономов множеств
Figure 00000069
и
Figure 00000070
– многочлены
Figure 00000071
и
Figure 00000072
соответственно;• if
Figure 00000066
, then from the monomials of the set
Figure 00000067
make up the polynomial
Figure 00000068
, and from the monomials of sets
Figure 00000069
and
Figure 00000070
- polynomials
Figure 00000071
and
Figure 00000072
respectively;

• вычисляют, в качестве декомпозиции многочленов

Figure 00000061
и
Figure 00000062
, соотношения• calculate, as a decomposition of polynomials
Figure 00000061
and
Figure 00000062
relations

Figure 00000073
,
Figure 00000073
,

Figure 00000074
,
Figure 00000074
,

в которых слагаемые, равные 0, обозначают, что операцию ⊕ реализовывать не требуется;in which terms equal to 0 mean that the operation ⊕ is not required to be realized;

• формируют результирующее множество многочленов• form the resulting set of polynomials

Figure 00000075
Figure 00000075

• вычисляют эффективность преобразования (величину уменьшения схемотехнических затрат) в виде• calculate the conversion efficiency (the value of reducing circuit costs) in the form

Figure 00000076
Figure 00000076

Преобразование 2 определяется параметром

Figure 00000077
– переменной из множества
Figure 00000078
и состоит из следующих вычислений для каждого многочлена
Figure 00000079
из рассматриваемого множества многочленов
Figure 00000080
: Transformation 2 is determined by the parameter
Figure 00000077
- a variable from the set
Figure 00000078
and consists of the following calculations for each polynomial
Figure 00000079
from the considered set of polynomials
Figure 00000080
:

• для рассматриваемого многочлена

Figure 00000079
формируют множество
Figure 00000081
мономов, содержащих переменную
Figure 00000077
• for the polynomial in question
Figure 00000079
form a multitude
Figure 00000081
monomials containing a variable
Figure 00000077

Figure 00000082
Figure 00000082

• вычисляют мощность

Figure 00000083
множества
Figure 00000081
;• calculate power
Figure 00000083
many
Figure 00000081
;

• если

Figure 00000084
(это равносильно тому, что многочлен
Figure 00000079
или не зависит от переменной
Figure 00000077
, или имеет ровно один моном, содержащий переменную
Figure 00000077
), то
Figure 00000079
не подвергают декомпозиции, в неизменном виде включают в результирующее (формируемое) множество многочленов
Figure 00000085
, а сложность его декомпозиции
Figure 00000086
полагают равной нулю;• if
Figure 00000084
(this is equivalent to polynomial
Figure 00000079
or does not depend on a variable
Figure 00000077
, or has exactly one monomial containing a variable
Figure 00000077
) then
Figure 00000079
they are not decomposed; they are invariably included in the resulting (formed) set of polynomials
Figure 00000085
, and the complexity of its decomposition
Figure 00000086
set equal to zero;

• если

Figure 00000087
, то осуществляют декомпозицию многочлена
Figure 00000079
, выполняя следующие действия:• if
Figure 00000087
then decompose the polynomial
Figure 00000079
by following these steps:

◯ из мономов множества

Figure 00000088
исключают переменную
Figure 00000089
и формируют многочлен
Figure 00000090
◯ of monomials of the set
Figure 00000088
exclude variable
Figure 00000089
and form a polynomial
Figure 00000090

Figure 00000091
,
Figure 00000091
,

причем моном

Figure 00000092
, состоящий из единственной переменной
Figure 00000089
, переходит в свободный член 1 многочлена
Figure 00000090
;and monom
Figure 00000092
consisting of a single variable
Figure 00000089
goes into the free term of 1 polynomial
Figure 00000090
;

◯ из мономов множества

Figure 00000093
(мономов многочлена
Figure 00000079
, не содержащих переменную
Figure 00000077
) формируют многочлен
Figure 00000094
◯ of monomials of the set
Figure 00000093
(monomial polynomial
Figure 00000079
not containing a variable
Figure 00000077
) form a polynomial
Figure 00000094

Figure 00000095
Figure 00000095

◯ вычисляют многочлен◯ calculate the polynomial

Figure 00000096
Figure 00000096

◯ приводят подобные члены в

Figure 00000097
(исключают повторяющиеся мономы)◯ bring similar members to
Figure 00000097
(exclude repeating monomials)

Figure 00000098
Figure 00000098

◯ если число мономов многочлена

Figure 00000097
меньше числа мономов многочлена
Figure 00000094
на 2 и более, что равносильно условию на мощности множеств◯ if the number of monomials of the polynomial
Figure 00000097
less than the number of monomials of the polynomial
Figure 00000094
by 2 or more, which is equivalent to the condition on the cardinality of sets

Figure 00000099
,
Figure 00000099
,

то в качестве декомпозиции многочлена

Figure 00000079
используют выражениеthen as a decomposition of the polynomial
Figure 00000079
use expression

Figure 00000100
,
Figure 00000100
,

▪ включают в результирующее множество многочленов

Figure 00000101
многочлены
Figure 00000102
,
Figure 00000103
и
Figure 00000104
;▪ include in the resulting set of polynomials
Figure 00000101
polynomials
Figure 00000102
,
Figure 00000103
and
Figure 00000104
;

▪ принимают значение сложности декомпозиции

Figure 00000105
многочлена
Figure 00000106
равной
Figure 00000107
, если
Figure 00000108
, то увеличивают значение
Figure 00000109
на
Figure 00000110
▪ take on the importance of decomposition complexity
Figure 00000105
polynomial
Figure 00000106
equal
Figure 00000107
, if
Figure 00000108
then increase the value
Figure 00000109
on
Figure 00000110

Figure 00000111
;
Figure 00000111
;

◯ если же◯ if

Figure 00000112
,
Figure 00000112
,

то в качестве декомпозиции многочлена

Figure 00000079
используют выражениеthen as a decomposition of the polynomial
Figure 00000079
use expression

Figure 00000113
,
Figure 00000113
,

▪ включают в результирующее (формируемое) множество многочленов

Figure 00000114
многочлены
Figure 00000115
и
Figure 00000116
;▪ include in the resulting (generated) set of polynomials
Figure 00000114
polynomials
Figure 00000115
and
Figure 00000116
;

▪ принимают значение сложности декомпозиции

Figure 00000117
многочлена
Figure 00000118
равной
Figure 00000119
, если
Figure 00000120
, то увеличивают значение
Figure 00000121
на
Figure 00000122
▪ take on the importance of decomposition complexity
Figure 00000117
polynomial
Figure 00000118
equal
Figure 00000119
, if
Figure 00000120
then increase the value
Figure 00000121
on
Figure 00000122

Figure 00000123
Figure 00000123

Эффективность преобразования 2 (величину уменьшения схемотехнических затрат) для рассматриваемого множества многочленов

Figure 00000080
и переменной
Figure 00000124
рассчитывают по формуле:The conversion efficiency 2 (the amount of reduction of circuit costs) for the considered set of polynomials
Figure 00000080
and variable
Figure 00000124
calculated by the formula:

Figure 00000125
,
Figure 00000125
,

где значения

Figure 00000126
и
Figure 00000127
вычисляются по формулам (1) и (2).where are the values
Figure 00000126
and
Figure 00000127
are calculated by formulas (1) and (2).

Для минимизации схемотехнических затрат на реализацию мономов из множества

Figure 00000128
проводят разложение мономов
Figure 00000128
в произведение мономов с меньшим числом переменных, используя следующее преобразование.To minimize circuit costs for the implementation of monomials from the set
Figure 00000128
carry out the decomposition of monomials
Figure 00000128
into a product of monomials with fewer variables using the following transformation.

Преобразование 3 состоит из следующих вычислений и операций:Transformation 3 consists of the following calculations and operations:

• осуществляют во множестве мономов

Figure 00000128
поиск для обнаружения пары мономов
Figure 00000129
, причем
Figure 00000130
, с наибольшим числом общих переменных, путем последовательного перебора, то есть находят пару мономов с максимальным значением• carried out in many monomials
Figure 00000128
search to detect a pair of monomials
Figure 00000129
, and
Figure 00000130
, with the largest number of common variables, by sequential search, that is, find a pair of monomials with the maximum value

Figure 00000131
Figure 00000131

где

Figure 00000132
– множество переменных в мономе
Figure 00000133
Where
Figure 00000132
- many variables in a monomial
Figure 00000133

• если

Figure 00000134
(это равносильно тому, что у мономов рассматриваемого множества
Figure 00000128
нет общих переменных), то завершают преобразование• if
Figure 00000134
(this is equivalent to the fact that the monomials of the set under consideration
Figure 00000128
no shared variables) then complete the conversion

• если

Figure 00000135
, то выполняют следующие действия:• if
Figure 00000135
, then perform the following steps:

• составляют мономы

Figure 00000136
,
Figure 00000137
,
Figure 00000138
из переменных
Figure 00000139
,
Figure 00000140
и
Figure 00000141
, соответственно; в качестве разложения мономов
Figure 00000142
и
Figure 00000143
используют выражения• make up monomials
Figure 00000136
,
Figure 00000137
,
Figure 00000138
from variables
Figure 00000139
,
Figure 00000140
and
Figure 00000141
, respectively; as a decomposition of monomials
Figure 00000142
and
Figure 00000143
use expressions

Figure 00000144
,
Figure 00000144
,

Figure 00000145
,
Figure 00000145
,

в которых сомножители, равные 1, обозначают, что операцию & реализовывать не требуется;in which factors equal to 1 mean that the operation & is not required to be implemented;

• формируют результирующее множество мономов

Figure 00000146
, удаляя из множества
Figure 00000128
мономы
Figure 00000142
и
Figure 00000143
и добавляя мономы
Figure 00000136
,
Figure 00000137
,
Figure 00000147
, т.е. вычисляют• form the resulting set of monomials
Figure 00000146
removing from the set
Figure 00000128
monomials
Figure 00000142
and
Figure 00000143
and adding monomials
Figure 00000136
,
Figure 00000137
,
Figure 00000147
, i.e. calculate

Figure 00000148
Figure 00000148

Предлагаемый способ минимизации схемотехнических затрат на реализацию S-блока, заданного многочленами Жегалкина

Figure 00000149
, состоит из 7 этапов.The proposed method of minimizing circuit costs for the implementation of the S-block defined by Zhegalkin polynomials
Figure 00000149
consists of 7 stages.

1. Исходное множество многочленов1. The original set of polynomials

Figure 00000150
Figure 00000150

последовательно преобразовывают с использованием преобразований 1 и 2:sequentially converted using transformations 1 and 2:

Figure 00000151
Figure 00000151

где каждый переход имеет эффективность больше нуля (т.е. приводит к снижению оценки суммарных схемотехнических затрат и осуществляется к результирующему множеству многочленов, формируемому в ходе этих преобразований). Результирующее множество

Figure 00000152
характеризуется тем, что никакое из преобразований 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
Figure 00000152
characterized by the fact that none of the transformations 1 and 2 leads to a further decrease in the cost estimate for any parameters.

2. Затем, по результирующему множеству

Figure 00000152
формируют множество мономов
Figure 00000153
, входящих в многочлены множества
Figure 00000152
и добавляют к нему множество входных переменных
Figure 00000154
2. Then, according to the result set
Figure 00000152
form many monomials
Figure 00000153
included in the polynomials of the set
Figure 00000152
and add a lot of input variables to it
Figure 00000154

Figure 00000155
,
Figure 00000155
,

где

Figure 00000156
– множество мономов, составляющих многочлен
Figure 00000157
.Where
Figure 00000156
- many monomials making up the polynomial
Figure 00000157
.

3. Затем осуществляют разложение мономов множества

Figure 00000153
, многократно используя преобразование 3 до тех пор, пока преобразование станет неприменимым, и получают последовательность множеств3. Then carry out the decomposition of the monomials of the set
Figure 00000153
repeatedly using transformation 3 until the transformation becomes inapplicable and get a sequence of sets

Figure 00000158
Figure 00000158

Поскольку переменные

Figure 00000159
не удаляют в процессе преобразования множества мономов, то невозможность применения преобразования 3 к множеству
Figure 00000160
равносильно тому, что
Figure 00000160
состоит только из элементов
Figure 00000159
, которые и являются входами S-блока.Since the variables
Figure 00000159
do not delete during the transformation of the set of monomials, the impossibility of applying transformation 3 to the set
Figure 00000160
is equivalent to
Figure 00000160
consists only of elements
Figure 00000159
, which are the inputs of the S-block.

4. Построение логической схемы S-блока начинают проходом по цепочке

Figure 00000158
в обратном порядке, соединяя операцией & выходы схем мономов, участвующих в разложении, схемы которых, в свою очередь, были составлены на предыдущих шагах.4. The construction of the logical circuit of the S-block begins with a passage along the chain
Figure 00000158
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. После построения логических схем мономов из множества

Figure 00000153
формируют логические схемы многочленов из множества
Figure 00000152
, соединяя операцией ⊕ выходы схем мономов
Figure 00000153
, составляющих этот многочлен.5. After constructing the logic circuits of monomials from the set
Figure 00000153
form polynomial logic from the set
Figure 00000152
connecting operation ⊕ the outputs of the monomial circuits
Figure 00000153
making up this polynomial.

6. Далее осуществляют проход по цепочке

Figure 00000151
в обратном порядке, и составляют логические схемы очередных многочленов, соединяя операциями & и ⊕ выходы схем предшествующих многочленов в соответствии с формулами декомпозиции.6. Next, a passage through the chain
Figure 00000151
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. Выходы логических схем многочленов множества

Figure 00000161
используют в качестве выходов логической схемы S-блока.7. The outputs of the logic of polynomials of the set
Figure 00000161
used as outputs of the logic circuit of the S-block.

В описанном способе минимизации схемотехнических затрат не специфицированы параметры, которые используются для переходов

Figure 00000162
и
Figure 00000163
. Однако, от выбора этих параметров зависит получаемый эффект снижения схемотехнических затрат. Эффективный метод выбора наилучшего набора параметров, обеспечивающих наименьшее из возможных значений суммарных схемотехнических затрат, неизвестен, а полный перебор всех наборов требует экспоненциальных вычислительных затрат от величины
Figure 00000164
, что делает перебор неприемлемым для практически интересных значений
Figure 00000165
.In the described method for minimizing circuit costs, the parameters that are used for transitions are not specified
Figure 00000162
and
Figure 00000163
. 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
Figure 00000164
, which makes the search unacceptable for practically interesting values
Figure 00000165
.

В заявляемом способе предлагается выбирать параметры перехода так, чтобы на каждом переходе

Figure 00000162
и
Figure 00000163
уменьшение оценки схемотехнических затрат было максимально возможным, а среди параметров, обеспечивающих такое снижение оценки, использовать параметры, запись (представление) которых предшествует записям остальным в лексикографическом порядке.In the inventive method, it is proposed to select the transition parameters so that at each transition
Figure 00000162
and
Figure 00000163
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-блока, имеющий

Figure 00000166
= 4 входов и
Figure 00000167
= 4 выходов и заданного следующими многочленами Жегалкина от четырех переменных
Figure 00000168
Consider an example implementation of the proposed method for the S-block, having
Figure 00000166
= 4 inputs and
Figure 00000167
= 4 outputs and given by the following Zhegalkin polynomials in four variables
Figure 00000168

Figure 00000169
Figure 00000169

Прямой способ реализации этого S-блока требует 11 операций & для формирования мономов

Figure 00000170
,
Figure 00000171
,
Figure 00000172
,
Figure 00000173
,
Figure 00000174
,
Figure 00000175
и 13 операций
Figure 00000176
для составления из них многочленов.The direct way to implement this S-block requires 11 operations & for the formation of monomials
Figure 00000170
,
Figure 00000171
,
Figure 00000172
,
Figure 00000173
,
Figure 00000174
,
Figure 00000175
and 13 operations
Figure 00000176
for composing polynomials from them.

Рассмотрим применение предлагаемого способа в условиях, когда схемотехнические затраты на реализацию операций & и ⊕ совпадают, т.е.

Figure 00000177
=
Figure 00000178
= 1.Consider the application of the proposed method in conditions when the circuit costs for the implementation of the operations & and ⊕ coincide, i.e.
Figure 00000177
=
Figure 00000178
= 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:

Figure 00000179
Figure 00000179

Figure 00000180
Figure 00000180

Figure 00000181
Figure 00000181

У любых двух многочленов из множества

Figure 00000182
совпадает не более одного монома, что при
Figure 00000183
на этапе А1 (согласно обозначению в формуле изобретения), соответствует тому, что
Figure 00000184
. Поэтому на этапе А1 после присвоения значения
Figure 00000185
выполняют переход на этап А2, где вычисляют значение
Figure 00000186
, характеризующую сложность прямой реализации множества многочленов
Figure 00000187
Any two polynomials from the set
Figure 00000182
no more than one monomial coincides, which for
Figure 00000183
at step A1 (according to the designation in the claims), corresponds to the fact that
Figure 00000184
. Therefore, in step A1, after assigning a value
Figure 00000185
go to step A2 where the value is calculated
Figure 00000186
characterizing the complexity of the direct implementation of many polynomials
Figure 00000187

Figure 00000188
Figure 00000188

и величину имеющегося снижения сложностиand the amount of available reduction in complexity

Figure 00000189
Figure 00000189

С этапа А3 до этапа А4 по очереди перебирают переменные

Figure 00000190
из множества
Figure 00000191
. Для выбранного значения
Figure 00000190
каждый многочлен
Figure 00000192
из
Figure 00000193
представляют в одном из 2-х вариантов:From stage A3 to stage A4, variables are sorted through in turn
Figure 00000190
out of many
Figure 00000191
. For the selected value
Figure 00000190
each polynomial
Figure 00000192
of
Figure 00000193
present in one of 2 options:

Figure 00000194
Figure 00000194

илиor

Figure 00000195
,
Figure 00000195
,

в записи которого меньше операций

Figure 00000196
. Для полученного разложения многочленов
Figure 00000193
по переменной
Figure 00000190
подсчитывают значение
Figure 00000197
, характеризующую снижение сложности прямой реализации множества многочленов
Figure 00000193
за счет перехода к прямой реализации выделенных компонент разложения с последующим составлением исходных многочленов по выбранным формулам.which record has fewer operations
Figure 00000196
. For the obtained decomposition of polynomials
Figure 00000193
by variable
Figure 00000190
count the value
Figure 00000197
, characterizing the decrease in the complexity of direct implementation of many polynomials
Figure 00000193
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.

Для рассматриваемого множества многочленов

Figure 00000182
перебор переменных
Figure 00000190
дает следующие результаты разложения многочленов и соответствующие им оценки сложности использования такого разложения:For the considered set of polynomials
Figure 00000182
enumeration of variables
Figure 00000190
gives the following results of the decomposition of polynomials and the corresponding estimates of the complexity of using such a decomposition:

Для

Figure 00000198
:For
Figure 00000198
:

Figure 00000199
Figure 00000199

сложностьcomplexity

Figure 00000200
Figure 00000200

Figure 00000201
Figure 00000201

Для

Figure 00000202
:For
Figure 00000202
:

Figure 00000203
Figure 00000203

сложностьcomplexity

Figure 00000204
Figure 00000204

Figure 00000205
Figure 00000205

Для

Figure 00000206
:For
Figure 00000206
:

Figure 00000207
Figure 00000207

сложностьcomplexity

Figure 00000204
Figure 00000204

Figure 00000205
Figure 00000205

Для

Figure 00000208
:For
Figure 00000208
:

Figure 00000209
Figure 00000209

сложностьcomplexity

Figure 00000204
Figure 00000204

Figure 00000205
Figure 00000205

Наибольшее снижение сложности (значение

Figure 00000210
) имеет место при
Figure 00000198
. Поэтому на этапе А4 при переходе на этап А1 при
Figure 00000211
:The greatest decrease in difficulty (value
Figure 00000210
) takes place at
Figure 00000198
. Therefore, in step A4, when moving to step A1 for
Figure 00000211
:

Figure 00000212
Figure 00000212

Figure 00000213
Figure 00000213

Для множества многочленов

Figure 00000214
максимальная общая часть двух многочленов состоит из 3-х мономов
Figure 00000215
,
Figure 00000216
,
Figure 00000217
. Поэтому при переходе на этап А2 вычисляемые параметры имеют значения:For many polynomials
Figure 00000214
the maximum common part of two polynomials consists of 3 monomials
Figure 00000215
,
Figure 00000216
,
Figure 00000217
. Therefore, when proceeding to step A2, the calculated parameters have the values:

Figure 00000218
Figure 00000218

Figure 00000219
Figure 00000219

Figure 00000220
Figure 00000220

На этапе А2 вычисляют сложность прямой реализации множества многочленов

Figure 00000221
At step A2, the complexity of the direct implementation of the set of polynomials is calculated
Figure 00000221

Figure 00000222
Figure 00000222

и снижение сложности за счет выделения общего слагаемого

Figure 00000219
and reducing complexity by highlighting the common term
Figure 00000219

Figure 00000223
Figure 00000223

На этапах с А3 по А4 разложение многочленов множества

Figure 00000221
по переменным
Figure 00000215
,
Figure 00000224
,
Figure 00000225
из множества
Figure 00000226
дает следующие оценки сложности использования данного разложения по сравнению с сложностью прямой реализации множества
Figure 00000221
In steps A3 through A4, the decomposition of the polynomials of the set
Figure 00000221
by variables
Figure 00000215
,
Figure 00000224
,
Figure 00000225
out of many
Figure 00000226
gives the following estimates of the complexity of using this decomposition in comparison with the complexity of the direct implementation of the set
Figure 00000221

Для

Figure 00000202
:For
Figure 00000202
:

Figure 00000227
Figure 00000227

сложностьcomplexity

Figure 00000228
Figure 00000228

Figure 00000229
Figure 00000229

Для

Figure 00000230
:For
Figure 00000230
:

Figure 00000231
Figure 00000231

сложностьcomplexity

Figure 00000232
Figure 00000232

Figure 00000233
Figure 00000233

Для

Figure 00000234
:For
Figure 00000234
:

Figure 00000235
Figure 00000235

сложностьcomplexity

Figure 00000236
Figure 00000236

Figure 00000237
Figure 00000237

Наибольшее снижение сложности (значение

Figure 00000238
) имеет место при
Figure 00000202
, что меньше снижения сложности (значение
Figure 00000239
) при выделение многочлена
Figure 00000240
.The greatest decrease in difficulty (value
Figure 00000238
) takes place at
Figure 00000202
which is less than the reduction in complexity (value
Figure 00000239
) when isolating a polynomial
Figure 00000240
.

Поэтому на этапе А4 при переходе на этап А1 при

Figure 00000241
вычисляемые параметры имеют следующие значения:Therefore, in step A4, when moving to step A1 for
Figure 00000241
calculated parameters have the following meanings:

Figure 00000242
Figure 00000242

Figure 00000219
Figure 00000219

Figure 00000243
Figure 00000243

Число общих мономов у любой пары многочленов из множества

Figure 00000244
не превышает 1, поэтому при переходе на этап А3 при
Figure 00000241
вычисляемые параметры имеют следующие значенияThe number of common monomials in any pair of polynomials from the set
Figure 00000244
does not exceed 1, therefore, when moving to step A3 for
Figure 00000241
calculated parameters have the following meanings

Figure 00000245
Figure 00000245

и сложность прямой реализации

Figure 00000244
and the complexity of direct implementation
Figure 00000244

Figure 00000246
Figure 00000246

На этапах с А3 по А4 разложение многочленов множества

Figure 00000244
по переменным
Figure 00000215
,
Figure 00000224
,
Figure 00000225
из множества
Figure 00000247
дает следующие оценки сложности использования данного разложения по сравнению со сложностью прямой реализации множества
Figure 00000244
.In steps A3 through A4, the decomposition of the polynomials of the set
Figure 00000244
by variables
Figure 00000215
,
Figure 00000224
,
Figure 00000225
out of many
Figure 00000247
gives the following estimates of the complexity of using this decomposition in comparison with the complexity of the direct implementation of the set
Figure 00000244
.

Для

Figure 00000202
:For
Figure 00000202
:

Figure 00000248
Figure 00000248

сложностьcomplexity

Figure 00000249
Figure 00000249

Figure 00000250
Figure 00000250

Для

Figure 00000230
:For
Figure 00000230
:

Figure 00000251
Figure 00000251

сложностьcomplexity

Figure 00000252
Figure 00000252

Figure 00000253
Figure 00000253

Для

Figure 00000254
:For
Figure 00000254
:

Figure 00000255
Figure 00000255

сложностьcomplexity

Figure 00000252
Figure 00000252

Figure 00000253
Figure 00000253

Наибольшее снижение сложности имеет место при

Figure 00000202
. Поэтому на этапе А4 при переходе на этап А1 при
Figure 00000256
вычисляемые параметры имеют следующие значения:The greatest reduction in complexity occurs when
Figure 00000202
. Therefore, in step A4, when moving to step A1 for
Figure 00000256
calculated parameters have the following meanings:

Figure 00000257
Figure 00000257

Figure 00000258
Figure 00000258

Число общих мономов у любой пары многочленов из множества

Figure 00000259
не превышает 1, поэтому переходят на этап А3 - к анализу разложений многочленов множества
Figure 00000244
по переменным
Figure 00000224
,
Figure 00000225
из множества
Figure 00000260
.The number of common monomials in any pair of polynomials from the set
Figure 00000259
does not exceed 1, so go to step A3 - to analyze the decompositions of the polynomials of the set
Figure 00000244
by variables
Figure 00000224
,
Figure 00000225
out of many
Figure 00000260
.

Никакой из двух вариантов разложения не приводит к снижению оценки сложности, поэтому формируют множество мономовNone of the two decomposition options leads to a decrease in the complexity estimate; therefore, many monomials are formed

Figure 00000261
Figure 00000261

и переходят к этапу А5 при

Figure 00000262
.and go to step A5 with
Figure 00000262
.

На этапе А5 при

Figure 00000262
максимальное число общих переменных, равное 1, имеют мономы
Figure 00000263
и
Figure 00000264
из множества
Figure 00000265
. Для этих мономов вычисления дают результат:
Figure 00000266
и множество мономов
Figure 00000267
.At step A5, when
Figure 00000262
the maximum number of common variables equal to 1 are monomials
Figure 00000263
and
Figure 00000264
out of many
Figure 00000265
. For these monomials, the calculations give the result:
Figure 00000266
and many monomials
Figure 00000267
.

В множестве мономов

Figure 00000268
уже нет мономов с общими переменными, поэтому переходят на этап А6 - к синтезу схемы из элементов
Figure 00000269
и &. In many monomials
Figure 00000268
there are no monomials with common variables, so go to step A6 - to synthesize the circuit from elements
Figure 00000269
and &.

Схема для множества

Figure 00000268
проста: входы
Figure 00000270
,
Figure 00000271
,
Figure 00000224
,
Figure 00000225
соединены с одноименными выходами
Figure 00000270
,
Figure 00000271
,
Figure 00000224
,
Figure 00000225
и добавлен выход постоянного сигнала 1 (фиг. 1).Circuit for many
Figure 00000268
simple: inputs
Figure 00000270
,
Figure 00000271
,
Figure 00000224
,
Figure 00000225
connected to the outputs of the same name
Figure 00000270
,
Figure 00000271
,
Figure 00000224
,
Figure 00000225
and added the output of the constant signal 1 (Fig. 1).

Переход к схеме для множества

Figure 00000272
выполняют путем добавления к схеме
Figure 00000268
части, осуществляющей вычисления отсутствующих в
Figure 00000272
мономов
Figure 00000263
и
Figure 00000264
(фиг. 2).Transition to the scheme for the set
Figure 00000272
performed by adding to the circuit
Figure 00000268
part of the calculations missing in
Figure 00000272
monomials
Figure 00000263
and
Figure 00000264
(Fig. 2).

При переходе к схеме для множества многочленов

Figure 00000259
к схеме для
Figure 00000272
добавляют части, которые соответствуют многочленам
Figure 00000259
с двумя и более мономами, и которые осуществляют сложение выходов мономов этого многочлена в схеме
Figure 00000272
для формирования входа, соответствующего данному многочлену (фиг. 3).When passing to the scheme for many polynomials
Figure 00000259
to the scheme for
Figure 00000272
add parts that correspond to polynomials
Figure 00000259
with two or more monomials, and which add up the outputs of the monomials of this polynomial in the circuit
Figure 00000272
to form the input corresponding to this polynomial (Fig. 3).

При переходе от схемы для множества многочленов

Figure 00000259
к схеме для множества многочленов
Figure 00000273
добавляют часть, реализующую многочлен
Figure 00000274
: добавляют операцию & над выходом, соответствующем многочлену
Figure 00000275
, и входом переменной
Figure 00000276
и соединяют операцией ⊕ результат данной операции & с входом переменной
Figure 00000277
(фиг. 4).When passing from a scheme to a set of polynomials
Figure 00000259
to the scheme for many polynomials
Figure 00000273
add the part that implements the polynomial
Figure 00000274
: add the & operation on the output matching the polynomial
Figure 00000275
, and variable input
Figure 00000276
and connect by the operation ⊕ the result of this operation & with the input of the variable
Figure 00000277
(Fig. 4).

При переходе от схемы для множества многочленов

Figure 00000273
к схеме для множества многочленов
Figure 00000278
добавляют часть, реализующую многочлен
Figure 00000279
: соединяют через операцию ⊕ выход, соответствующий многочлену
Figure 00000280
, и вход переменной
Figure 00000281
(фиг. 5).When passing from a scheme to a set of polynomials
Figure 00000273
to the scheme for many polynomials
Figure 00000278
add the part that implements the polynomial
Figure 00000279
: through the operation ⊕ connect the output corresponding to the polynomial
Figure 00000280
, and variable input
Figure 00000281
(Fig. 5).

Переход от схемы для множества многочленов

Figure 00000278
к схеме для множества многочленов
Figure 00000282
полностью аналогичен переходу от схемы
Figure 00000283
к схеме
Figure 00000273
: добавляются части, являющиеся произведением (в смысле операции &) одного из выходов и одной из входящих переменных с последующим суммированием (в смысле операции ⊕) с другим выходом (фиг. 6).Transition from the scheme for many polynomials
Figure 00000278
to the scheme for many polynomials
Figure 00000282
completely analogous to switching from a circuit
Figure 00000283
to the scheme
Figure 00000273
: 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)

Способ формирования S-блока, заключающийся в том, чтоThe method of forming the S- block, which consists in the fact that задают исходный S-блок, имеющий
Figure 00000284
входов и
Figure 00000285
выходов, в виде
Figure 00000285
многочленов Жегалкина от
Figure 00000284
переменных
set the original S- block having
Figure 00000284
inputs and
Figure 00000285
outputs in the form
Figure 00000285
Zhegalkin polynomials from
Figure 00000284
variables
Figure 00000286
,
Figure 00000286
,
где
Figure 00000287
- моном многочлена
Figure 00000288
, причем
Where
Figure 00000287
- monomial polynomial
Figure 00000288
, and
Figure 00000289
,
Figure 00000290
;
Figure 00000289
,
Figure 00000290
;
задают вес (схемотехнические затраты) С1 для реализации операции & и С2 для реализации операции ⊕ (XOR);set the weight (circuit costs) C1 for the operation & & C2 for the implementation of the operation ⊕ (XOR); формируют множество многочленовform many polynomials
Figure 00000291
;
Figure 00000291
;
формируют множество переменныхform many variables
Figure 00000292
;
Figure 00000292
;
вычисляют количество выполненных преобразований множества многочленов
Figure 00000293
calculate the number of transformations of the set of polynomials
Figure 00000293
Figure 00000294
;
Figure 00000294
;
(А1) вычисляют максимальное снижение сложности прямой реализации множества многочленов
Figure 00000295
(A1) calculate the maximum reduction in complexity of the direct implementation of the set of polynomials
Figure 00000295
Figure 00000296
;
Figure 00000296
;
находят пару несовпадающих многочленов
Figure 00000297
,
Figure 00000298
из множества
Figure 00000299
с максимальным числом общих мономов
Figure 00000300
;
find a pair of mismatched polynomials
Figure 00000297
,
Figure 00000298
out of many
Figure 00000299
with the maximum number of common monomials
Figure 00000300
;
если
Figure 00000301
, то переходят к этапу (А2);
if
Figure 00000301
, Then the routine proceeds to step (A2);
формируют многочлен
Figure 00000302
в виде суммы мономов многочлена
Figure 00000297
, отличающихся от мономов многочлена
Figure 00000298
;
form a polynomial
Figure 00000302
as the sum of monomials of a polynomial
Figure 00000297
different from the monomials of the polynomial
Figure 00000298
;
формируют многочлен
Figure 00000303
в виде суммы мономов многочлена
Figure 00000298
, отличающихся от мономов многочлена
Figure 00000297
;
form a polynomial
Figure 00000303
as the sum of monomials of a polynomial
Figure 00000298
different from the monomials of the polynomial
Figure 00000297
;
формируют многочлен
Figure 00000304
в виде суммы общих мономов многочленов
Figure 00000297
,
Figure 00000298
;
form a polynomial
Figure 00000304
as a sum of common monomials of polynomials
Figure 00000297
,
Figure 00000298
;
вычисляютcalculate
Figure 00000305
;
Figure 00000305
;
формируют элемент множества
Figure 00000306
form an element of the set
Figure 00000306
Figure 00000307
;
Figure 00000307
;
вычисляютcalculate
Figure 00000308
;
Figure 00000308
;
формируют множество многочленов
Figure 00000309
из множества
Figure 00000310
, удаляя из него многочлены
Figure 00000297
и
Figure 00000298
и добавляя многочлены
Figure 00000304
,
Figure 00000311
и
Figure 00000312
;
form many polynomials
Figure 00000309
out of many
Figure 00000310
removing polynomials from it
Figure 00000297
and
Figure 00000298
and adding polynomials
Figure 00000304
,
Figure 00000311
and
Figure 00000312
;
(А2) вычисляют(A2) calculate
Figure 00000313
;
Figure 00000313
;
вычисляют сложность прямой реализации множества многочленов
Figure 00000295
calculate the complexity of the direct implementation of many polynomials
Figure 00000295
Figure 00000314
,
Figure 00000314
,
гдеWhere
Figure 00000315
- множество мономов многочлена
Figure 00000316
,
Figure 00000315
- many monomials of the polynomial
Figure 00000316
,
Figure 00000317
- множество мономов, входящих в многочлены из множества
Figure 00000318
,
Figure 00000317
- the set of monomials in polynomials from the set
Figure 00000318
,
Figure 00000319
- множество переменных монома
Figure 00000320
;
Figure 00000319
- many monomial variables
Figure 00000320
;
если в составе многочленов
Figure 00000318
имеется многочлен со свободным членом, то вычисляют
if in polynomials
Figure 00000318
there is a polynomial with a free term, then calculate
Figure 00000321
,
Figure 00000321
,
Figure 00000322
;
Figure 00000322
;
(А3) вычисляют(A3) calculate
Figure 00000323
,
Figure 00000323
,
вычисляют снижение сложности прямой реализации множества многочленов
Figure 00000295
calculate the reduction in complexity of the direct implementation of many polynomials
Figure 00000295
Figure 00000324
;
Figure 00000324
;
формируют пустое множество многочленов
Figure 00000325
;
form an empty set of polynomials
Figure 00000325
;
если
Figure 00000326
, то переходят к этапу А4;
if
Figure 00000326
then go to step A4;
если переменная
Figure 00000327
не входит в множество
Figure 00000328
то переходят к этапу А3;
if the variable
Figure 00000327
not included in many
Figure 00000328
then go to step A3;
каждый многочлен
Figure 00000297
из множества
Figure 00000329
представляют в виде
each polynomial
Figure 00000297
out of many
Figure 00000329
present as
Figure 00000330
,
Figure 00000330
,
где
Figure 00000331
является суммой мономов многочлена
Figure 00000297
, не содержащих переменную
Figure 00000327
;
Where
Figure 00000331
is the sum of monomials of the polynomial
Figure 00000297
not containing a variable
Figure 00000327
;
Figure 00000332
является суммой мономов многочлена
Figure 00000297
, не вошедших в многочлен
Figure 00000331
, в которых исключили переменную
Figure 00000327
;
Figure 00000332
is the sum of monomials of the polynomial
Figure 00000297
not included in the polynomial
Figure 00000331
in which the variable was excluded
Figure 00000327
;
формируют многочлен
Figure 00000333
как сумму многочленов
Figure 00000331
и
Figure 00000332
, в которой приведены подобные члены
form a polynomial
Figure 00000333
as the sum of polynomials
Figure 00000331
and
Figure 00000332
in which similar members are given
Figure 00000334
;
Figure 00000334
;
если многочлен
Figure 00000331
содержит не более одного монома, то к множеству
Figure 00000325
добавляют многочлен
Figure 00000297
;
if polynomial
Figure 00000331
contains no more than one monomial, then to the set
Figure 00000325
add polynomial
Figure 00000297
;
если многочлен
Figure 00000331
содержит более одного монома, то к множеству
Figure 00000325
добавляют многочлен
Figure 00000331
и вычисляют
if polynomial
Figure 00000331
contains more than one monomial, then to the set
Figure 00000325
add polynomial
Figure 00000331
and calculate
Figure 00000335
;
Figure 00000335
;
если многочлен
Figure 00000331
содержит более одного монома и число мономов в многочлене
Figure 00000336
меньше число мономов в многочлене
Figure 00000332
, то к множеству
Figure 00000325
добавляют многочлен
Figure 00000336
и многочлен
Figure 00000337
;
if polynomial
Figure 00000331
contains more than one monomial and the number of monomials in the polynomial
Figure 00000336
fewer monomials in the polynomial
Figure 00000332
to the set
Figure 00000325
add polynomial
Figure 00000336
and polynomial
Figure 00000337
;
если многочлен
Figure 00000331
содержит более одного монома и число мономов в многочлене
Figure 00000336
не меньше число мономов в многочлене
Figure 00000332
, то к множеству
Figure 00000325
добавляют многочлен
Figure 00000332
;
if polynomial
Figure 00000331
contains more than one monomial and the number of monomials in the polynomial
Figure 00000336
no less than the number of monomials in the polynomial
Figure 00000332
to the set
Figure 00000325
add polynomial
Figure 00000332
;
если многочлен
Figure 00000338
содержит более одного монома, многочлен
Figure 00000339
и
Figure 00000340
, то вычисляют
if polynomial
Figure 00000338
contains more than one monomial, polynomial
Figure 00000339
and
Figure 00000340
then calculate
Figure 00000341
;
Figure 00000341
;
вычисляютcalculate
Figure 00000342
,
Figure 00000342
,
гдеWhere
Figure 00000343
- множество мономов, входящих в многочлены из множества
Figure 00000344
,
Figure 00000343
- the set of monomials in polynomials from the set
Figure 00000344
,
Figure 00000345
- множество переменных монома
Figure 00000320
;
Figure 00000345
- many monomial variables
Figure 00000320
;
если в составе многочленов
Figure 00000344
имеется многочлен со свободным членом, то вычисляют
if in polynomials
Figure 00000344
there is a polynomial with a free term, then calculate
Figure 00000346
;
Figure 00000346
;
если
Figure 00000347
, то переходят к этапу А3;
if
Figure 00000347
then go to step A3;
выполняют следующие действия:perform the following actions: вычисляютcalculate
Figure 00000348
;
Figure 00000348
;
выбирают в качестве множества
Figure 00000349
множество
Figure 00000344
selected as a set
Figure 00000349
a bunch of
Figure 00000344
Figure 00000350
;
Figure 00000350
;
получают множество переменных
Figure 00000351
из множества
Figure 00000352
, удаляя из
Figure 00000353
переменную
Figure 00000354
get a lot of variables
Figure 00000351
out of many
Figure 00000352
removing from
Figure 00000353
variable
Figure 00000354
Figure 00000355
;
Figure 00000355
;
переходят к этапу А3;go to step A3; (А4) если
Figure 00000356
и множество
Figure 00000351
содержит более одного элемента, то вычисляют
(A4) if
Figure 00000356
and many
Figure 00000351
contains more than one element, then calculate
Figure 00000357
Figure 00000357
и переходят на этап А1;and go to step A1; вычисляютcalculate
Figure 00000358
;
Figure 00000358
;
формируют множество мономов
Figure 00000359
из мономов многочленов
Figure 00000360
;
form many monomials
Figure 00000359
of monomials polynomials
Figure 00000360
;
добавляют во множество мономов
Figure 00000359
мономы
Figure 00000361
;
add to many monomials
Figure 00000359
monomials
Figure 00000361
;
вычисляют количество выполненных преобразований множества мономов
Figure 00000362
calculate the number of transformations of the set of monomials
Figure 00000362
Figure 00000363
;
Figure 00000363
;
(А5) находят пару несовпадающих мономов
Figure 00000364
,
Figure 00000365
из множества
Figure 00000366
с максимальным числом
Figure 00000367
общих переменных;
(A5) find a pair of mismatched monomials
Figure 00000364
,
Figure 00000365
out of many
Figure 00000366
with the maximum number
Figure 00000367
common variables;
если
Figure 00000368
, то вычисляют
if
Figure 00000368
then calculate
Figure 00000369
Figure 00000369
и переходят к этапу А6and go to step A6 формируют моном
Figure 00000370
из общих переменных мономов
Figure 00000364
и
Figure 00000365
;
form monomial
Figure 00000370
of common monomial variables
Figure 00000364
and
Figure 00000365
;
формируют моном
Figure 00000371
из переменных монома
Figure 00000364
, отличающихся от переменных монома
Figure 00000365
;
form monomial
Figure 00000371
from monomial variables
Figure 00000364
different from monomial variables
Figure 00000365
;
формируют моном
Figure 00000372
из переменных монома
Figure 00000365
, отличающихся от переменных монома
Figure 00000364
;
form monomial
Figure 00000372
from monomial variables
Figure 00000365
different from monomial variables
Figure 00000364
;
формируют множество мономов
Figure 00000373
из множества
Figure 00000366
, удаляя мономы
Figure 00000364
и
Figure 00000365
и добавляя мономы
Figure 00000370
,
Figure 00000371
и
Figure 00000372
;
form many monomials
Figure 00000373
out of many
Figure 00000366
removing monomials
Figure 00000364
and
Figure 00000365
and adding monomials
Figure 00000370
,
Figure 00000371
and
Figure 00000372
;
вычисляютcalculate
Figure 00000374
;
Figure 00000374
;
переходят на этап А5;go to step A5; (А6) вычисляют(A6) calculate
Figure 00000375
;
Figure 00000375
;
составляют схемы для мономов
Figure 00000366
, являющихся переменными
Figure 00000361
make up schemes for monomials
Figure 00000366
being variables
Figure 00000361
(А7) если
Figure 00000376
, то переходят к этапу А8;
(A7) if
Figure 00000376
then go to step A8;
вычисляютcalculate
Figure 00000377
;
Figure 00000377
;
для каждого монома
Figure 00000364
из множества
Figure 00000366
, не содержащегося во множестве
Figure 00000373
, выполняют следующие действия:
for each monomial
Figure 00000364
out of many
Figure 00000366
not contained in the set
Figure 00000373
perform the following actions:
вычисляют моном
Figure 00000378
, состоящий из переменных монома
Figure 00000364
, не входящих в моном
Figure 00000370
;
calculated by monom
Figure 00000378
consisting of monomial variables
Figure 00000364
not included in monomial
Figure 00000370
;
составляют схемы для монома
Figure 00000364
, соединяя с помощью операции конъюнкции выходы схем мономов
Figure 00000378
и
Figure 00000370
;
make schemes for monom
Figure 00000364
connecting the outputs of the monomials using the conjunction operation
Figure 00000378
and
Figure 00000370
;
переходят на этап А7;go to step A7; (А8) (A8) вычисляютcalculate
Figure 00000379
;
Figure 00000379
;
составляют схемы для многочленов
Figure 00000380
, соединяя с помощью операции XOR выходы схем мономов, входящих в многочлен;
make diagrams for polynomials
Figure 00000380
connecting the outputs of the monomials included in the polynomial using the XOR operation;
(А9) если
Figure 00000381
, то переходят к этапу А10;
(A9) if
Figure 00000381
then go to step A10;
вычисляютcalculate
Figure 00000382
;
Figure 00000382
;
если множество
Figure 00000383
и множество
Figure 00000384
совпадают, то для каждого многочлена
Figure 00000385
из множества
Figure 00000380
, не входящего в множество
Figure 00000386
, выполняют следующие действия:
if the set
Figure 00000383
and many
Figure 00000384
match then for each polynomial
Figure 00000385
out of many
Figure 00000380
not included in the set
Figure 00000386
perform the following actions:
формируют многочлен
Figure 00000387
из мономов многочлена
Figure 00000388
, не входящих в многочлен
Figure 00000389
;
form a polynomial
Figure 00000387
of monomial polynomial
Figure 00000388
not included in the polynomial
Figure 00000389
;
составляют схему для многочлена
Figure 00000388
, соединяя с помощью операции XOR выходы схем многочленов
Figure 00000387
и
Figure 00000389
;
chart for polynomial
Figure 00000388
connecting the outputs of polynomial schemes using the XOR operation
Figure 00000387
and
Figure 00000389
;
переходят к этапу А9;proceed to step A9; находят переменную
Figure 00000390
, содержащуюся во множестве
Figure 00000383
и не содержащуюся во множество
Figure 00000384
;
find a variable
Figure 00000390
contained in the set
Figure 00000383
and not contained in many
Figure 00000384
;
каждый многочлен
Figure 00000388
из множества
Figure 00000391
, не входящий во множество
Figure 00000386
, представляют в виде
each polynomial
Figure 00000388
out of many
Figure 00000391
not included in the set
Figure 00000386
represent in the form
Figure 00000392
,
Figure 00000392
,
где
Figure 00000338
является суммой мономов многочлена
Figure 00000388
, не содержащих переменную
Figure 00000327
,
Where
Figure 00000338
is the sum of monomials of the polynomial
Figure 00000388
not containing a variable
Figure 00000327
,
Figure 00000393
является суммой мономов многочлена
Figure 00000388
, не вошедших в многочлен
Figure 00000338
, в которых исключили переменную
Figure 00000327
,
Figure 00000393
is the sum of monomials of the polynomial
Figure 00000388
not included in the polynomial
Figure 00000338
in which the variable was excluded
Figure 00000327
,
формируют многочлен
Figure 00000394
как сумму многочленов
Figure 00000338
и
Figure 00000393
, в которой приведены подобные члены
form a polynomial
Figure 00000394
as the sum of polynomials
Figure 00000338
and
Figure 00000393
in which similar members are given
Figure 00000395
;
Figure 00000395
;
если
Figure 00000396
, то составляют схему для многочлена
Figure 00000388
, соединяя с помощью операции конъюнкции выход схемы многочлена
Figure 00000338
и входа
Figure 00000327
;
if
Figure 00000396
then chart for the polynomial
Figure 00000388
connecting the output of the polynomial circuit using the conjunction operation
Figure 00000338
and entry
Figure 00000327
;
если
Figure 00000397
, то составляют схему для многочлена
Figure 00000388
, соединяя с помощью операции конъюнкции выход схемы многочлена
Figure 00000398
и выход схемы многочлена
Figure 00000399
;
if
Figure 00000397
then chart for the polynomial
Figure 00000388
connecting the output of the polynomial circuit using the conjunction operation
Figure 00000398
and polynomial circuit output
Figure 00000399
;
если
Figure 00000400
и многочлен
Figure 00000401
содержится в множестве
Figure 00000402
, то составляют схему для многочлена
Figure 00000388
, cоединяя с помощью операции XOR выход схемы многочлена
Figure 00000393
и выход операции конъюнкции над выходом схемы многочлена
Figure 00000338
и входа
Figure 00000327
;
if
Figure 00000400
and polynomial
Figure 00000401
contained in many
Figure 00000402
then chart for the polynomial
Figure 00000388
connecting the output of the polynomial circuit using the XOR operation
Figure 00000393
and the output of the conjunction operation on the output of the polynomial circuit
Figure 00000338
and entry
Figure 00000327
;
если
Figure 00000400
и многочлен
Figure 00000401
не содержится в множестве
Figure 00000402
, то составляют схему для многочлена
Figure 00000388
, cоединяя с помощью операции XOR выход схемы многочлена
Figure 00000403
и выход операции конъюнкции над выходом схемы многочлена
Figure 00000338
и над выходом схемы многочлена
Figure 00000404
;
if
Figure 00000400
and polynomial
Figure 00000401
not contained in the set
Figure 00000402
then chart for the polynomial
Figure 00000388
connecting the output of the polynomial circuit using the XOR operation
Figure 00000403
and the output of the conjunction operation on the output of the polynomial circuit
Figure 00000338
and above the output of the polynomial circuit
Figure 00000404
;
переходят к этапу А9;proceed to step A9; (А10) формируют на основе результирующей логической схемы электронную схему для реализации S-блока.(A10) form, based on the resulting logic circuitry, an electronic circuitry for implementing the S- block.
RU2015121014A 2015-06-03 2015-06-03 Method of forming s-block RU2607613C2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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