Construction of a Reversible Full-cycle Transformation in a Threshold Basis

Cover Page

Cite item

Full Text

Abstract

The article describes a class of full-cycle transformations in the threshold basis, defined by matrices of coefficients of linear forms, and proves that the definition of the inverse transformation is carried out using a system of threshold functions, the coefficients of which form the transposed matrix with respect to the original one.

Full Text

В данной работе будет доказана обратимость полноцикловой подстановки, построенной авторами в работе [1]. Напомним определения и обозначения.

Пусть Gn – таблица размером 2n × n, строки которой суть – векторы размером n над полем GF(2), записанные в следующем порядке:

G1=01;     G2=01011110, ;     Gn=0Gn11G¯n1, (1)

где G̅n – 1 – таблица, полученная из таблицы Gn – 1 инвертированием всех элементов.

Определим с помощью таблицы Gn = (εij)2n × n отображение g : GF(2)nGF(2)n по правилу:

gi1, … , εin) = (ε(i + 1)1, … , ε(i + 1)n).

Пример 1. В качестве примера рассмотрим G2:

g(0, 0) = (0, 1); g(0, 1) = (1, 1);

g(1, 1) = (1, 0); g(1, 0) = (0, 0).

Утверждение 1. Для любых векторов x = (x1, … , xn), y = (y1, … , yn) из Gn верно, что если g(x) = y, то g(x̄) = ȳ, где x̄ – вектор, полученный из вектора x инвертированием координат.

Доказательство. Докажем это утверждение методом математической индукции по n.

База индукции, очевидно, следует из задания (1).

Предположим, что утверждение верно для любого n < k. Докажем его для n = k.

По предположению индукции если в Gk – 1 существуют строки вида

x2xky2yk,

то существуют строки вида

x¯2x¯ky¯2y¯k.

Тогда Gk принимает следующий вид:

Gk=x2xk0y2ykx¯2x¯k0y¯2y¯k1x¯2x¯ky¯2y¯kx2yk1y2yk, (2)

Далее утверждение следует из построения Gk (см. (2)):

  • если g(0, x2, … , xk) = (0, y2, … , yk), то g(1, x̄2, … , x̄k) = = (1, ȳ2, … , ȳk);
  • если g(1, x2, … , xk) = (1, y2, … , yk), то g(0, x̄2, … , x̄k) = = (0, ȳ2, … , ȳk).

Определение 1. Пусть A = (aij)n × n матрица размером n × n над полем ℝ. Тогда нейропреобразованием, порожденным матрицей A, назовем вектор-функцию f : GF(2)nGF(2)n, f = (f1, … , fn), где fi : GF(2)nGF(2)n координатные функции, задаваемые каждой координатой i-й строки

матрицы A, для любого i 1, n¯, такие что:

fix1, , xn=1, если ai1x112++ainxn12>0;0, в противном случае. 

Утверждение 2. Пусть (x2, … , xn) ∈ GF(2)n – 1.

Неравенство

n2+x212x312+ + 1nxn12 >0

выполняется тогда и только тогда, когда (x2, … , xn) = = (1, 0, 1, 0, 1, …).

Доказательство. Пусть n = 2k, тогда левая часть неравенства принимает вид:

k+12+x2x3+x2k1+x2k,

и если перегруппировать слагаемые:

k+12+x2+x4++x2kк штукx3+x5+ + x2k1,

то утверждение становится очевидным.

Для n = 2k + 1 доказательство проводится аналогично.

Утверждение 3. Пусть A = (aij)n × n матрица размера n × n над полем GF(2) и πA : GF(2)nGF(2)n – нейропреобразование, порожденное матрицей A. Тогда если πA(x) = y, то πA(x̄) = ȳ, где x̄ – вектор, полученный из вектора x инвертированием координат.

Доказательство. Рассмотрим

πA(x) = f(x) = (f1(x), … , fn(x)).

Тогда достаточно показать, что если fi(x) = yi то fi(x̄) = ȳ, для любого i 1, n¯.

Последнее следует из того, что если

ai1x112++ainxn12>0,

то

ai1 x¯112++ainx¯n12==ai11x112++ain1xn12== ai1x112++ainxn120.

Теорема 1. Таблица Gn задает полный цикл, который может быть задан нейропреобразованием, порожденным матрицей An, где An строится по индукции:

A1=1;    A2=0110;An=n111n1n11n+11111An+An+12, , n+12, , n+1,

где An+12, , n+12, , n+1 – подматрица матрицы An + 1, полученная из An + 1 удалением всех строк, кроме строк с номерами 2, … , n + 1, и всех столбцов, кроме столбцов с номерами 2, … , n + 1.

Доказательство. Обозначим gn : GF(2)nGF(2)n – отображение, полученное с помощью цикла Gn, отображение πAn : GF(2)nGF(2)n – нейропреобразование, порожденное матрицей An.

Через

Lmnx1, , xn=am, 1x112++am, nxn12

будем обозначать линейную форму, порожденную m-й строкой матрицы An.

Индукцией по n покажем, что отображения πAn и gn совпадают при n = 1. Из формулы (1) следует, что  и G1=01, g1(1) = 0. Так как A1 = (–1), то L11(x1) = –x1 + 1/2 и получаем, что πA1 = (0, 1). База индукции доказана.

Предположим, что утверждение верно для любого kn + 1. Докажем его при k = n + 2.

Рассмотрим сначала первые две координаты отображений gn + 2 и πAn + 2. По предложению 2 линейная форма

L1n+20, x2, , xn+2==n012+1x212++1n+2xn+212 > 0,

тогда и только тогда, когда (x1, … , xn + 2) = (0, 1, 0, 1, …), и L1n + 2 (1, x2, … , xn + 2) ≤ 0 и тогда и только тогда, когда (x1, … , xn + 2) = (1, 0, 1, 0, …). То же самое наблюдается и для отображения gn + 2 по построению Gn + 2.

Рассуждая аналогично, можно получить, что πAn + 2 совпадает с gn + 2 и по второй координате. Таким образом получили, что

πAn+20,0,*,,*==0,1,1,,1,x1,,xn+2=0,0,1,0,1,0,;0,0,*,,*,иначе;πAn+20,1,*,,*==1,1,1,,1,x1,,xn+2=0,1,0,1,0,1,;0,0,*,,*,иначе;πAn+21,1,*,,*==1,0,0,,0,x1,,xn+2=1,1,0,1,0,1,;1,1,*,,*,иначе;πAn+21,0,*,,*==0,0,0,,0,x1,,xn+2=1,0,1,0,1,0,;1,0,*,,*,иначе.

Для дальнейшего доказательства воспользуемся следующей леммой.

Лемма 1. Для линейных форм Li+1n+1 (x1, … , xn + 1) и Lin(x2, … , xn + 1) верно, что

sgnLi+1n+1x1, , xn+1=sgnLinx2, , xn+1

тогда и только тогда, когда (x1, … , xn + 1) ∉ {(0, 1, 0, 1, …), (1, 0, 1, 0, …)}.

Доказательство леммы. Доказательство проведем индукцией по n.

При n = 1 линейные формы равны L22(x1, x2) = = –x1 + 1/2, L11(x2) = –x2 + 1/2 и утверждение леммы верно (табл. 1).

Таблица 1. Значение линейных форм L22(x1, x2)L11(x2) [Meaning of linear forms L22(x1, x2)L11(x2)]

x1

x2

L22(x1, x2)

L11(x2)

0

0

1/2

1/2

0

1

1/2

–1/2

1

0

–1/2

1/2

1

1

–1/2

–1/2

 

Пусть утверждение верно для любого kn + 1. Докажем при k = n + 2.

По построению матрицы An+2=ai, jn+2n+2n+2 можно сказать, что

ai+2,2n+2= ai+1,1n+1;    ai+2,jn+2=ai+1,j1n+1+ai,j2n,    j3, n+2¯,

а значит

Li+2n+2x1, , xn+2==1x112+ Li+1n+1x2, , xn+2 + Linx3, , xn+2.

По предположению индукции

sgnLi+1n+1x2, , xn+2=sgnLinx3, , xn+2 

тогда и только тогда, когда (x2, … , xn + 1) ∉ {(0, 1, 0, 1, …), (1, 0, 1, 0, …)} и учитывая, что

sgnLi+2n+20, 0, 1, 0, 1, ==sgn12+1212= sgnLi+1n+10, 1, 0, 1, ;sgnLi+2n+21, 0, 1, 0, ==sgn12sgn12= sgnLi+1n+10, 1, 0, 1, ;sgnLi+2n+20, 1, 0, 1, ==sgn12sgn12= sgnLi+1n+11, 0, 1, 0, ;sgnLi+2n+21, 1, 0, 1, 0, 1, ==sgn12= sgnLi+1n+11, 0, 1, 0, ,

получаем, что утверждение леммы верно.

Перейдем к заключительному этапу доказательства теоремы. По лемме и предложению 3 имеем:

1) πAn + 2(x1, … , xn + 2) = (y1, … , yn + 2) ⇒ ⇒ πAn + 2(x̄1, … , x̄n + 2) = (ȳ1, … , ȳn + 2);

2) πAn + 2(0, x2, … , xn + 2) = πAn + 1(x2, … , xn + 2), за исключением (x1, … , xn + 2) = (0, 1, 0, 1, …), а πAn + 2(0, 1, 0, 1, …) = 1.

Из выше сказанного следует, что преобразование πAn + 2 совпадает с gn + 2.

Пример 2. Приведем примеры матриц An:

A1=1;    A2=0110;A3=111111111;    A4= 2112111111111221;A7=5111511171111112221121121121128333853553581123585.

Естественный вопрос, возникающий при изучении подстановок – это вопрос обратимости. Дать на него ответ может дать следующая теорема.

Теорема 2. Если An – матрица из теоремы 1, то цикл, обратный к πAn, задается нейропреобразованием, порожденным матрицей ATn.

Доказательство. Рассмотрим таблицу Hn, строящуюся по индукции

H1=10;    H2=11010010,  ;    Hn=1H¯n10Hn1, (3)

где H̅n – 1 – таблица, полученная из таблицы Hn – 1 инвертированием всех элементов.

Таблица Hn = (εij)2n × n задает отображение hn : GF(2)nGF(2)n по правилу:

hni1, … , εin) = (ε(i + 1)1, … , ε(i + 1)n).

По построению Hn, очевидно, что h = g–1, где g – отображение, задаваемое формулой (1).

Индукцией по n покажем, что отображения πTAn и hn совпадают.

Через

Lmnx1, , xn=am,1x112++am,nxn12

будем обозначать линейную форму, порожденную m-й строкой матрицы ATn.

При n = 1. Из задания (3) следует, что

H1=10

и h1(0) = 1, h1(1) = 0. Так как AT1 = (–1), то L11(x1) = –x1 + 1/2 и получаем, что πA1 = (0, 1). База индукции доказана.

Предположим, что утверждение верно для любого kn + 1. Докажем его при k = n + 2.

Сначала докажем равенство первых двух координатных функций отображений hn + 2 и πTAn +2. Для этого рассмотрим линейную форму

L1n+2x1, x2, , xn+2==nx112+1x212++1xn+212== nx1 x2++xn+2n+1 штук + 12.

При x1 = 0, L1n + 2(0, x2, … , xn + 2) > 0 тогда и только тогда, когда (x1, … , xn + 2) = (0, … , 0). При x1 = 1, L1n + 2(1, x2, … , xn + 2) > 0 тогда и только тогда, когда (x1, … , xn + 2) = (1, … , 1). Тоже самое наблюдается и для отображения gn + 2 по построению Gn + 2.

Рассуждая аналогично, можно получить, что πTAn +2 совпадает с hn + 2 и по второй координате. Таким образом получили, что

πAn+2T1,0,*,,*==1,1,0,1,0,1,,x1,,xn+2=1,0,0,0;1,0,*,,*,иначе;πAn+2T1,1,*,,*==0,1,0,1,,x1,,xn+2=1,1,1,1;1,1,*,,*,иначе;πAn+2T0,1,*,,*==0,0,1,0,1,0,,x1,,xn+2=0,1,1,1,,1;1,0,*,,*,иначе;πAn+2T0,0,*,,*==1,0,1,0,,x1,,xn+2=0,0,0,0;0,0,*,,*,иначе.

Для дальнейшего доказательства воспользуемся следующей леммой.

Лемма 2. Для линейных форм Li+1n+1 (x1, … , xn + 1) и Lin(x2, … , xn + 1) верно, что

sgnLi+1n+1x1, , xn+1=sgnLinx2, , xn+1

тогда и только тогда, когда (x1, … , xn + 1) ∉ {(0, … , 0), (1, … , 1)}.

Доказательство леммы. Доказательство проведем индукцией по n.

При n = 1 линейные формы равны L22(x1, x2) = x1 – 1/2, L11(x2) = –x2 + 1/2 и утверждение леммы верно (табл. 2).

 

Таблица 2. Значение линейных форм L22(x1, x2)L11(x2) [Meaning of linear forms L22(x1, x2)L11(x2)]

x1

x2

L22(x1, x2)

L11(x2)

0

0

–1/2

1/2

0

1

–1/2

–1/2

1

0

1/2

1/2

1

1

1/2

–1/2

 

Пусть утверждение верно для любого kn + 1. Докажем при k = n + 2.

По построению матрицы An+2T=ai,jT,n+2n+2n+2 можно сказать, что

ai+2,2T,n+2= ai+1,1T,n+1;ai+2,jT,n+2=ai+1,j1T,n+1+ai,j2T,n,    j3, n+2¯,

а значит

Li+2n+2x1, , xn+2==1n+2x112+ Li+1n+1x2, , xn+2 + Linx3, , xn+2.

По предположению индукции

sgnLi+1n+1x2, , xn+2=sgnLinx3, , xn+2 

тогда и только тогда, когда (x2, … , xn + 1) ∉ {(0, … , 0), (1, … , 1)} и учитывая, что

sgnLi+2n+20, , 0 sgnLi+1n+10, , 0;sgnLi+2n+20, 1, 1, , 1= sgnLi+1n+11, 1, , 1;sgnLi+2n+21, 0, 0, , 0= sgnLi+1n+10, , 0;sgnLi+2n+21, 1, , 1 sgnLi+1n+11, 1, , 1,

получаем, что утверждение леммы верно.

Перейдем к заключительному этапу доказательства теоремы. По лемме и предложению 3 имеем:

1) πTAn +2(x1, … , xn + 2) = (y1, … , yn + 2) ⇒ ⇒ πTAn +2 (x̅1, … , x̅n + 1) = (y̅1, … , y̅n + 2);

2) πTAn +2(0, x2, … , xn + 2) = πTAn +1(x2, … , xn + 2), за исключением (x1, … , xn + 2) = (0, … , 0), а πTAn +2 = (0, … , 0) = 1.

Из вышесказанного следует, что преобразование πTAn +2 совпадает с hn + 2.

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

×

About the authors

Anton I. Zobov

Russian Academy of Natural Sciences

Author for correspondence.
Email: zobowai@gmail.com

research employee of Foundation for the Promotion of Secure Information Technologies

Russian Federation, Moscow

Vladimir G. Nikonov

Foundation for the Promotion of Secure Information Technologies

Email: zobowai@gmail.com

Doctor of Engineering, Professor; member at the Presidium of the Russian Academy of Natural Sciences

Russian Federation, Moscow

References

  1. Zobov A.I., Nikonov V.G. On the possibility of applying fractal models in the construction of information security systems. Comp. nanotechnol. 2017. No. 1. Pp. 39–49. (In Rus.)
  2. Logachev O.A., Salnikov A.A., Smyshlyaev S.V., Yashchenko V.V. Boolean functions in coding theory and cryptography. 2nd ed., add. Moscow: MCCME, 2012. 584 p.
  3. Logachev O.A., Fedorov S.N., Yashchenko V.V. Boolean functions as points on the hypersphere in Euclidean space. Discrete Mathematics. 2018. Vol. 30. No. 1. Pp. 39–55. (In Rus.)
  4. Nikonov V.G., Sarantsev A.V. Methods for compact implementation of bijective mappings defined by regular systems of identical Boolean functions. Bulletin of the Peoples’ Friendship University of Russia. Series: Applied Mathematics and Industrial Mathematics. 2003. Vol. 2. No. 1. Pp. 94–105. (In Rus.)
  5. Yablonsky S.V. Introduction to discrete mathematics: textbook for universities. 2nd ed., rev. and add. Moscow: Nauka; Chief Ed. of Phys.-Math. Lit. 384 p.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2023 Yur-VAK

License URL: https://journals.eco-vector.com/2313-223X/about/editorialPolicies