<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Research of Reversible Cellular Automata with a Finite Lattice</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexey Chilikov</string-name>
          <email>chilikov@passware.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexey Zhukov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexey Verkhovsky</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Information Security department Bauman Moscow State Technical University, Moscow Institute of Physics and Technology Moscow</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>12</fpage>
      <lpage>15</lpage>
      <abstract>
        <p>The work contains a research about a reversibility property of cellular automata. Using computational methods, local connection functions, that provide a property of reversibility to cellular one-dimensional and two-dimensional automata of different dimensions, were explicitly obtained. Reversibility criteria were obtained for simple cases, as well as properties for which reversibility is preserved. Authors provided several directions for theoretical analysis, such as polynomial and group model and gain several results, which could be relatively easy extended and generalized. The property of cyclicity represent interest for developing a theory, similar to theory of LFSR. Reversible cellular automata with non-linear local function contains properties of cyclicity and non-linearity, which could be interesting for cryptographic applications.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>cellular automata</kwd>
        <kwd>reversible transformations</kwd>
        <kwd>nonlinear transformations</kwd>
        <kwd>cryptographic primitive</kwd>
        <kwd>algebraic models</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
      <p>For the first time cellular automata were
mentioned by John von Neumann in the 40s of the
twentieth century. In 1985 Steven Wolfram
described the first stream encryption algorithm on
cellular automata [1]. A classical cellular automaton
is an ordered set of memory cells forming some
regular n-dimensional lattice. Many theoretical
studies, especially concerning the theory of
dynamical systems, mostly consider infinite lattice.
In practice, the most widespread cellular automata
of small dimension-with one-, two- and
threedimensional lattices, usually infinite. In
cryptography, as shown in the review [2] – [5],
onedimensional and two-dimensional finite-lattice
automata, or models based on generalized cellular
automata, have so far found their application. On
the basis of a two-dimensional cellular automaton, a
high-performance stream cipher was obtained [6].</p>
      <p>Based on the second model, a hash function was
recently obtained [7]. A reversible cellular
automaton such that each of its states has only
one antecedent. In a recent review [8] it is shown
that the main results of studies of reversible cellular
automata affect only automata with infinite lattice.
For cryptographic applications, it makes no sense to
consider such automata. Authors have found
examples of reversible cellular automata with finite
lattice, as well as proposed areas of theoretical
research and obtained some results.</p>
      <p>II.</p>
    </sec>
    <sec id="sec-2">
      <title>FORMAL STATEMENT OF PROBLEM</title>
      <p>
        An autonomous finite automaton (1) is called a
cellular automaton over a set with
d-dimensional lattices, which has size ,
with a radius of locality  , a neighborhood local coupling
function  that specifies the transition rule.
where  is the set of possible States of the automaton,
is the initial state of the automaton,  is the transition function.
Denote by the lattice cell of the cellular
automaton with coordinates . Denote by
this value if we need to specify its value at the
time  . Each internal state  of the automaton corresponds to
the filling of its lattice. It is described by an ordered set whose
components are the values of memory cells, as shown in the
formula (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
      </p>
    </sec>
    <sec id="sec-3">
      <title>Consider a one-dimensional</title>
      <p>
        coefficients from .
cellular
automaton
with
Cellular automaton is called a one-dimensional Boolean
cellular automaton (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) with a lattice of size , locality
radius , neighborhood and the local communication
function 
described by an autonomous finite state machine
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ):
      </p>
      <p>is a set of internal states,  0 ∈  is an initial state,
is a transition function.</p>
      <p>The internal state is described by the set</p>
      <p>
        The action of is to apply a local
communication function to the neighborhood of each cell of
the cellular automaton, as shown in (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
, 0 ≤  &lt; 
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
      </p>
      <p>
        Let the lattice is finite. In this case we should
understand how acts near boundaries of lattice. We consider
2 cases. In the first cells near boundary are neighbors to each
other, i.e. in the one-dimensional case, the neighbor of the
rightmost cell is the leftmost cell (shown at figure 1).
In the second case we assume that beyond the boundaries of
the finite lattice there are cells filled with zeros, and they do
not change when the cellular automata works. We call such
situations a nonzero and zero boundary, respectively. A
cellular automaton is called reversible if each of its states has
the only one preceding state such that .
Obviously this condition is equivalent to the periodicity of the
cellular automaton: for each there is such that .
For cryptography, there are two interesting questions: how to
calculate the period efficiently and how to construct automata
with maximal possible period (or almost maximal). Let a
lattice be finite and a set of cell states is . It’s easy to see
that the reversibility is guaranteed if a local communication
function of automaton is a shift. In the two-dimensional case,
the cell takes the value of its neighbor, or its inversion. That is,
a function of the form (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ):
In order to identify nontrivial local communication functions,
we wrote a program in C++. This program reveals functions
that provide reversibility to a cellular automaton with a given
number of cells by the method of brute force. The source code
and the results can be found in the repository [9].
      </p>
      <p>In the course of the program, a large number of
functions were obtained that provide reversibility to automata
of dimension 1 and the number of cells from 7 to 23 in the
case of a function of three variables, and up to 19 for
equilibrium functions of 5 variables. Among them were a
large number of the aforementioned shift functions as well as
linear functions. Linear functions are a fairly simple case, they
provide reversibility to the automaton if and only if the matrix
of the corresponding linear operator acting on the vector
representing the current state of the automaton is not
degenerate. In addition to linear functions as well as shift
functions, 542 functions with a nonlinear local communication
function were obtained. Among them, the following facts are
noticed: the inversion of each function providing reversibility
also provides reversibility.</p>
      <p>The non-obvious results prompted a detailed
theoretical analysis of the reversible cellular automaton as a
model. The following will list the properties that hold for
cellular automata.</p>
      <p>Property 1. If is a local communication function that
provides reversibility for given Boolean cellular automata
then also provides reversibility.</p>
      <p>Proof: We will use rule of contraries. For simplicity, consider
the one-dimensional case ( ). Let be some state of the
cellular automaton . And let the
transition function translate the automaton into a state
Then will translate
to - state with inverted coordinates.
Suppose that after applying the inverted function, the state
has another predecessor . But then in the original
automaton, . will be translated by into (its own
inversion), and it has only one predecessor, and that is . That
is, coincides with . Similarly, it is proved for large
dimensions.</p>
      <p>The following 2 properties are essentially an adaptation of the
classical results from [9] to the case of a finite lattice.
Property 2. A map over a vector space is a cellular automaton
if and only if it commutes with a cyclic shift operator.
Proof: For one-dimensional cellular automata with a nonzero
boundary, there is a fact, which is also true for automata with
an infinite lattice, namely, commutativity with a shift
operation. That is, if is the function of the
cellular automaton, and
is the function of the
cyclic shift vector
, then
. This
statement is quite obvious, because when applying the cyclic
shift, the content of the neighborhood of each cell will not
change, and therefore its value will not change when applying
the transformation of the cellular automaton. The converse is
also true, if a map over a vector space commutes with a shift
operator, then this map is a cellular automaton with a nonzero
boundary. To do this, we show that shift invariance means the
homogeneity of the transformation. Let be a boolean
function showing the change of the -th coordinate of an -bit
vector when the function</p>
      <p>
        acts on it, depending on the value
of neighboring coordinates. Since we work with binary
vectors, we can get it explicitly by applying to each set of
neighboring coordinates (and itself). Having received a
column of values, we write the function f through Zhegalkin
polynom:
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
Since the value after the shift does not change for any such
coordinates, and the values of all neighboring cells do not
change, then the function does not change during the shift. For
example, if you shift by , the coordinate value is (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ):
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
(
        <xref ref-type="bibr" rid="ref10">10</xref>
        )
(
        <xref ref-type="bibr" rid="ref11">11</xref>
        )
(
        <xref ref-type="bibr" rid="ref12">12</xref>
        )
Thus, for any coordinate we have the same function depending
on the neighboring coordinates of the vector, which means
that this map is a cellular automaton. It is worth noting that the
function may not be local – it may well depend on all the
values of all cells of the lattice. The influence of the
parameters of the local communication function on the
distribution of values was studied in [10].
      </p>
      <p>Property 3. For a reversible binary one-dimensional cellular
automaton with a nonzero boundary, there is an inverse
cellular automaton.</p>
      <p>We write the commutativity condition with shift in terms of
functions:</p>
    </sec>
    <sec id="sec-4">
      <title>Applying right and left , we get: That is, the inverse map also commutes with shifts, and therefore is a cellular automaton.</title>
      <p>Theorem 1. A substitutional polynomial written using a
normal basis will have coefficients from the field .
By normal bases we mean such that each element of the field
is represented as below:</p>
    </sec>
    <sec id="sec-5">
      <title>The shift condition in this case is written as</title>
      <p>
        An reversible cellular automaton is a substitution, so we write
for it a substitution polynomial in the normal basis:
Then the condition of commutativity with shift will be written
as:
(
        <xref ref-type="bibr" rid="ref13">13</xref>
        )
      </p>
    </sec>
    <sec id="sec-6">
      <title>Combining with (14), we obtain: So and .</title>
      <p>This approach allows us to work with cellular automata as
mappings over the extension field, which are also
representable as polynomials. More about the properties of
such a construction is written in [10].</p>
      <p>Definition 1. Let’s determine a graph by the following rule.
Let be a finite group</p>
      <p>, and each vertex of the graph is
bijectively mapped to some element of the group. Let also be
fixed
some
subset
(not necessarily
subgroup), and the following property holds: the edge number
leading to the vertex
comes from the vertex
. on the
graph thus described, one can specify a cellular automaton
(both homogeneous and inhomogeneous). We will call such an
automaton a group automaton, and a group
a carrier
automaton. The connection function will take the form
, and the equation describing the operation of the
automaton will have the form:
(15)
A quasi-group automaton can be defined similarly by
replacing the word "group" with "quasi-group". Recall that in
a quasigroup, the associativity property is not necessarily,
unlike a group. This definition can be very useful for studying
the periodicity properties of the cellular automaton. In
addition, the considered classical automata can be considered
as automata whose carrier is a cyclic group, which naturally
leads to the idea of generalizing the developed theory by
transferring it to a wider class of groups (for example, finite
Abelian).
Reversible cellular automata are a fairly simple described
transformation. They can provide the properties of
nonlinearity and dispersion (the value of the cell on the
next cycle affects the entire neighborhood). These
properties are very useful for construction of symmetric
cryptosystems. In addition, [13] and [14] show ways to
construct asymmetric cryptosystems based on reversible
cellular automata. The theoretical basis of cellular automata
with finite lattice is not yet fully developed. Authors have
taken steps in this direction. Obtained results may well
serve as the beginning of the construction of a theory
similar to the theory of linear feedback shift registers
(LFSR).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>Wolfram S. Cryptography with cellular automata // Lecture Notes in Computer Science</source>
          .
          <year>1986</year>
          . Vol.
          <volume>218</volume>
          . P.
          <volume>429</volume>
          -
          <fpage>432</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Klyucharev</surname>
            <given-names>P.</given-names>
          </string-name>
          <article-title>Methods of designing cryptographic hash-functions based on iteration of the uniform cellular automat</article-title>
          .
          <source>Voprosy kiberbezopasnosti [Cybersecurity issues]</source>
          ,
          <source>2017. No</source>
          <volume>1</volume>
          (
          <issue>19</issue>
          ), pp.
          <fpage>45</fpage>
          -
          <lpage>50</lpage>
          . DOI:
          <volume>10</volume>
          .21681/
          <fpage>2311</fpage>
          -3456-2017-1-
          <fpage>45</fpage>
          -50.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Zhukov</surname>
            <given-names>A.E.</given-names>
          </string-name>
          <article-title>Kletochnye avtomaty v kriptografii</article-title>
          .
          <source>Chast' 1</source>
          ,
          <string-name>
            <surname>Voprosy</surname>
            <given-names>kiberbezopasnosti</given-names>
          </string-name>
          [Cybersecurity issues].
          <source>2017, No</source>
          <volume>3</volume>
          (
          <issue>21</issue>
          ). P.
          <volume>70</volume>
          -
          <fpage>76</fpage>
          . DOI:
          <volume>10</volume>
          .21581/
          <fpage>2311</fpage>
          -3456-2017-2-
          <fpage>70</fpage>
          -76.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Zhukov</surname>
            <given-names>A.E.</given-names>
          </string-name>
          <article-title>Kletochnye avtomaty v kriptografii</article-title>
          .
          <source>Chast' 1</source>
          ,
          <string-name>
            <surname>Voprosy</surname>
            <given-names>kiberbezopasnosti</given-names>
          </string-name>
          [Cybersecurity issues].
          <source>2017, No</source>
          <volume>4</volume>
          (
          <issue>22</issue>
          )
          <article-title>-</article-title>
          2017 P.
          <fpage>47</fpage>
          -
          <lpage>66</lpage>
          . DOI:
          <volume>10</volume>
          .21681/
          <fpage>2311</fpage>
          -3456-2017-4-
          <fpage>47</fpage>
          -66
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Zotov</given-names>
            <surname>Ya</surname>
          </string-name>
          .
          <article-title>Usage of cellular automaton in symmetric-key algorithm</article-title>
          .
          <source>Voprosy kiberbezopasnosti [Cybersecurity issues]</source>
          ,
          <source>2015. No</source>
          <volume>3</volume>
          (
          <issue>11</issue>
          ) , pp.
          <fpage>43</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Suhinin</surname>
            <given-names>B.M.</given-names>
          </string-name>
          <article-title>Vysokoskorostnye generatory psevdosluchajnyh posledovatel'nostej na osnove kletochnyh avtomatov, Prikladnaya diskretnaya matematika</article-title>
          .
          <source>- 2010</source>
          . -
          <fpage>No2</fpage>
          . - S.
          <fpage>34</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Klyucharev</surname>
            <given-names>P.G.</given-names>
          </string-name>
          <article-title>Metod postroeniya kriptograficheskikh khesh-funktsiy na osnove iteratsiy obobshchennogo kletochnogo avtomata</article-title>
          ,
          <source>Voprosy kiberbezopasnosti [Cybersecurity issues]</source>
          .
          <source>2017. N</source>
          <volume>1</volume>
          (
          <issue>19</issue>
          ). P.
          <volume>45</volume>
          -
          <fpage>50</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Kari</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>Reversible Cellular Automata: From Fundamental Classical Results to Recent Developments.: New Generation Computing</source>
          <volume>36</volume>
          ,
          <fpage>145</fpage>
          -
          <lpage>172</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>[9] Bitbucket: repository https://bitbucket.org/KleshIvanovich/bruterca/src/master/</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Suhinin</surname>
            <given-names>B.M.</given-names>
          </string-name>
          <article-title>O vliyanii parametrov lokal'noj funkcii svyazi na raspredelenie znachenij yacheek dvoichnyh kletochnyh avtomatov, Obedinennyj nauchnyj zhurnal</article-title>
          .
          <source>- 2010</source>
          . - No. 8. - S.
          <fpage>39</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Hedlund</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          :
          <article-title>Endomorphisms and automorphisms of the shift dynamical systems</article-title>
          .
          <source>Math. Syst. Theory</source>
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <fpage>320</fpage>
          -
          <lpage>375</lpage>
          (
          <year>1969</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Lidl</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Niederreiter</surname>
            <given-names>H.</given-names>
          </string-name>
          (
          <year>1997</year>
          ),
          <source>Finite Fields (2nd ed.)</source>
          , Cambridge University Press, ISBN 0-521-39231-4
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Puhua</given-names>
            <surname>Guan.: Cellular Automaton Public-Key Cryptosystem</surname>
          </string-name>
          .
          <source>Complex Systems</source>
          <volume>1</volume>
          <fpage>51</fpage>
          -
          <lpage>57</lpage>
          (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Xing</surname>
            <given-names>Zhang</given-names>
          </string-name>
          , Rongxing Lu, Hong Zhang, and Chungen Xu:
          <article-title>A New Public Key Encryption Scheme based on Layered Cellular Automata</article-title>
          .
          <source>KSII Transactions on internet and information systems</source>
          . Vol.
          <volume>8</volume>
          , No.
          <volume>10</volume>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>