<!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>Application of Pseudo-Memory Finite Automata for Information Encryption</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gulmira Shakhmetova</string-name>
          <email>shakhmetova.gb@gmaill.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zhanat Saukhanova</string-name>
          <email>saukhanova@mail.ru</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nur Izura Udzir</string-name>
          <email>izura@upm.edu.my</email>
          <email>snurgazi@mail.ru</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Altynbek Sharipbay</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nurgazy Saukhanov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>K.Zhubanov Aktobe Regional University</institution>
          ,
          <addr-line>Aktobe, 030000</addr-line>
          ,
          <country country="KZ">Kazakhstan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>L.N.Gumilyov Eurasian National University</institution>
          ,
          <addr-line>Nur-Sultan, 010008</addr-line>
          ,
          <country country="KZ">Kazakhstan</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universiti Putra Malaysia</institution>
          ,
          <addr-line>Selangor, 43400</addr-line>
          ,
          <country country="MY">Malaysia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays the development of information technologies bring to cryptologists not only opportunities to solve the most difficult cryptography classical tasks, also they give capacity to hacked well-known cryptosystems. Therefore, applying other areas of mathematical for modifications of information security methods is relevant task of research in cryptography. The theory of automata was considered as an alternative model for creating high-speed cryptosystems. In this paper, we survey existing works and concepts of finite automata cryptosystems with open key, its background and general algorithm of encrypting and decrypting process. According to the research carried out, it can be noted that in existing cryptosystems, finite automata of various types are used: finite automata of a general form, structural automata, finite automata with input-output memory of a special type, finite automata with pseudo-memory of a special type. The authors of the article were interested in the pseudo-memory automata that were used in FAPKC4. For a better understanding of the application of this type of finite automata in cryptography, the authors demonstrated an example of their application for encryption and decryption of information.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Cryptography</kwd>
        <kwd>finite automata</kwd>
        <kwd>cryptosystem</kwd>
        <kwd>weakly invertible automata</kwd>
        <kwd>pseudo-memory automata</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Information technology has become an integral part of modern society life. The amount and value
of information transmitted via the Internet increases every year, but the medium for data transfer is
becoming more and more open, hence giving rise to the problem of protecting the information sent
over unprotected communication channels. Today, the most reliable methods of protecting
information are crypto-graphic methods [1]. The classic task of cryptographic methods is to hide the
content of transmitted and stored data from unauthorized access. This problem is solved by data
encryption, i.e. applying some mathematical transformations on the data, using a secret key, which is
known only to the legitimate user.</p>
      <p>Currently, there are many widely known cryptographic methods that are successfully used in
practice. Many of these techniques are very computationally efficient. However, the development of
quantum computers, which allow to solve most of the classically difficult tasks, as well as the
continuous improvement of cryptanalysis, lead to the emergence of new algorithms for hacking
classical cryptographic systems. For example, scientists from the USA, the Netherlands and Australia
discovered a serious vulnerability in the cryptographic library implemented in GnuPG, which allowed
them to crack the 1024-bit RSA encryption [2]. This trend is of interest to cryptologists in the use of
alternative mathematical models for the development of new and more advanced information security
systems. In this article, an alternative method for designing cryptosystems, i.e. the theory of automata
is considered. On the basis of various types of automata, such as Mealy automata, cellular automata,
L-systems and others, some cryptosystems were created.</p>
      <p>Automata theory, being a fundamental area of computer science, is engaged in the study of the
recognition mechanisms of languages. The concept of an automaton can serve as a model object in a
wide variety of problems, which makes it possible to apply the theory of automata in various scientific
and applied research. This led to the wide use of the theory of automata in physics and cybernetics,
chemistry and biology, economics and statistics, in cryptography and other sciences.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>The initiator of the use of finite automata in cryptography is a Chinese professor Tao Renji, who
since the beginning of the 80s, together with Professor Chen Shihua, has been studying the theory of
the invertibility of finite automata. This theory formed the basis of a new streaming cryptosystem with
a public key, so in 1985 the finite automaton public-key cryptosystem, named Finite Automation
Public Key Cryptosystems (FAPKC) was presented to the scientific world [3]. The first version of
FAPKC0 [4], published in Chinese, uses linear components and was more demonstrative
cryptoalgorithm. Versions of FAPKC1 and FAPKC2 using linear and nonlinear finite automata were
available in English [5].</p>
      <p>Ten years later, in 1995, some weaknesses in the open-text attacks, which were presented in [6] by
Feng Bao, and Yoshihide Igarashi from Japan, were discovered in public-key cryptosystems FAPKC0
and FAPKC1. In [7], the authors Dai et al. introduced another way to break the cryptosystem
FAPKC0. After the proposed options for attacks on the FAPKC0, FAPKC1, FAPKC2 cryptosystems
by the authors Tao et al. an advanced asymmetric cryptosystem called FAPKC3 was introduced [8].</p>
      <p>However, this algorithm was also cracked by the Finnish cryptologist Meskanen [9], whom
described two methods for hacking some instances of the FAPKC3 cryptosystem, as well as ways to
prevent these hacks. Finally, Tao and Chen presented a new version of the FAPKC4 public-key
cryptosystem algorithm [10], which is crypto-resistant and still retains the advantages of the
previously presented FAPKC, such as fast encrypting speed, a relatively short public key. This
algorithm can be easily implemented, since it includes only logical operations. FAPKC4 was
practically used in some local area networks in China [3].</p>
      <p>In 2010, Chopuryan and Margarov proves that FAPKC3 is vulnerable to the against the chosen
plaintext attack and to the exhaustive search attack as well. Therefore, modification version of
FAPKC system was proposed in [11].</p>
      <p>In 2011, a master student of De Montfort University, Leicester, UK, Sarshad Abubaker, under the
direction of Dr. Kui Wu, offered his version of using finite automata in a cryptosystem, which is
based on a 128-bit key using a DES-based key generation algorithm, known as DAFA (DES
Augmented Finite Automaton cryptosystem) [12].</p>
      <p>In 2012, a new cryptographic algorithms based on Mealy/Moore automata and recursive functions
were proposed [13] by S. Sri Lakshmi as a PhD work at the University of Technology named after
Jawaharlal Nehru, India under the leadership of Professor B. Krishna Gandhi.</p>
      <p>In 2016, Ivone de Fátima da Cruz Amorim published her doctoral thesis on “Linear Finite
Transformers (LFT)” [14], where all characteristics of linear finite transducers and their reversibility are
studied, and various examples are given in order to illustrate the proposed methods and concepts.
Later in 2017, under her supervision, a master's work of Joana Barão Vieira [15] was published, in
which the features of the formalization of the injectivity testing procedure and the construction of
inverse finite memory trans-formers (linear and quasilinear) were disclosed.</p>
      <p>In Russia, they also deal with the use of finite automata in cryptography. Agibalov [16] gives
examples of using finite automata as cryptographic algorithms and their components, describes
cellular automaton generators of pseudorandom sequences, cellular automaton hash functions, finite
automaton symmetric and asymmetric ciphers, demonstrates functional equivalence of flow and
automaton cryptosystems.</p>
      <p>In [17, 18], the hardware implementation of the FAPKC cryptosystem based on
fieldprogrammable gate array (FPGA) was described, and the results of the study of the influence of the
cryptosystem parameters on the dependence of the number of resources used and the performance of
the FPGA were shown.</p>
      <p>In Kazakhstan, scientists from the Eurasian National University were engaged in this research, and
they created the hardware implementation of a public-key automated-field cryptosystem [19].</p>
      <p>According to Figure 1 it can be noted that with each decade, interest in the use of an alternative
mathematical model in cryptosystems is increasing. This trend is due to the fact that in recent years
the growth of information technologies has been significantly increased, which leads to the need to
develop mechanisms for information protection.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Preliminaries</title>
      <p>A finite automata (FA) is a mathematical abstract device that operates in discrete automata time.
There are two types of automata: automata-recognizers and automata-transducers. We are only
interested in automata-transducers, which convert the input sequence of words into an output
sequence of the same length. In turn, the transforming automata can be divided into combinational
finite automata (automata without memory) and sequential finite automata (automata with memory)
[20]. This paper only considers the sequential finite automata.</p>
      <p>Sequential FA – is a deterministic finite automata with a finite sequence of internal states that in
any state reads an input symbol from the set X, outputs an output symbol from the set Y, and goes to
another state, denoted by the symbol from the set S. If the symbols denoting the internal states of the
automaton are stored in its internal memory, then this automaton is sometimes called a finite state
machine with memory [21, 5p]. The formal definition of a sequential finite automaton is as follows
[9]:</p>
      <p>FA is a quintuple M =&lt; X, Y, S, δ, λ &gt;, where: Х = {x1, x2, … xn} – finite set of input symbols, Y =
{y1, y2, … , ym} – finite set of output symbols, S = {s1, s2, … sl}– finite set of internal states, δ: S ×
X → S – next state function or transition; λ: S × X → Y – output function.</p>
      <p>Let X n be the set containing all finite words of length n in the alphabet X,
Xω be the set of words of infinite length in the alphabet X, and let ε be the empty word. Then the
transition function δ: S × Xn → S and the output function λ: S × (Xn ∪ Xω) → Y can be expanded
as:
δ(s, ε) = s, δ(s, αx) = δ(δ(s, α), x),
λ(s, ε) = ε, λ(s, xα′) = λ(s, x)λ(δ(s, x), α′),
where s ∈ S, x ∈ X, α ∈ Xn and α′ ∈ Xn ∪ Xω.</p>
      <p>i.e.</p>
      <p>
        In other words, FA M, being in the initial state s(0) by reading the input sequence
x(0)x(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). .. passes a sequence of states s(0)s(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). .. and produces an output sequence y(0)y(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ). .. . The
dependence between the input symbols, the states of the automaton M, and the output symbols in the
discrete time i can be shown using the system of canonical equations:
s(i + 1) = δ(s(i), x(i)) i= 0,1, 2, … .
      </p>
      <p>y(i) = λ(s(i), x(i))
where s(0) – initial state of the automaton, а x(0) = ε and y(0) = ε.</p>
      <p>Let there be given two finite automata М =&lt; X, Y, S, δ, λ &gt; and
М′ = &lt; X, Y, S′, δ′, λ′ &gt;. The FA М = &lt; X, Y, S, δ, λ &gt; is called weakly invertible with a delay τ,
where τ is a nonnegative integer, if ∀s ∈ S and ∀ x i ∈ X, i = 0, 1, … , τ, x0 can be uniquely
determined by the state s and the output function λ(s, x0 … xτ).</p>
      <p>For ∀s ∈ S and ∀s′ ∈ S′, if ∀α ∈ Xω, ∃α0 ∈ Xn:</p>
      <p>λ′(s′, λ(s, α)) = α0α and |α0| = τ,
then (s′, s) is a pair with a delay τ (τ − pair), or in other words, s′ corresponds to s with a delay τ.</p>
      <p>An automaton M′ is said to be inverse with a delay τ to the automaton M if
∀s ∈ S, ∃s′ ∈ S′ such that (s′, s) is a τ − pair in М′ × М.</p>
      <p>The finite-automaton model of a cryptosystem is based on the notion of a special form of weakly
invertible finite automaton with a delay τ and composition of these automata. Will be given the
following definitions, according to [22]:</p>
      <p>If the function φ: Y k × Xh+1 → Y for some integers k, h ≥ 0, and if FA
М = &lt; X, Y, Yk × Xh+1, δ, λ &gt; can be determined by</p>
      <p>y(i) = φ(y(i − 1), . . . , y(i − k), x(i), . . . , x(i − h)), i = 0,1, . . .,
δ(&lt; y−1, … , y−k, x−1, … , x−h &gt;, x0) = &lt; y0, … , y−k+1, x0, … , x−h+1 &gt;,
λ(&lt; y−1, … , y−k, x−1, … , x−h &gt;, x0) = y0,
y0 = φ(y−1, … , y−k , x0, x−1, … , x−h),
then М is called a (h, k) - order memory finite automaton and denoted by Мφ. Then h and k are
called the input and output memory of the automaton M, respectively. In the case where k = 0, the
automaton Мφ is called h-order input memory finite automaton.</p>
      <p>Let function f: Yk × Up+1 × Xh+1 → Y, and function g: Yk × Up+1 × Xh+1 → U for some integers
k, h ≥ 0, p ≥ −1 and if finite automata Mf,g =&lt; X, Y, Yk × Up+1 × Xh, δ, λ &gt; can be determined
y(i) = f y(i − 1), … , y(i − k), u(i), … , u(i − p), x(i), … , x(i − h) ,
u(i + 1) = g y(i − 1), … , y(i − k), u(i), … , u(i − p), x(i), … , x(i − h) ,i = 0,1, …
i.e.
δ &lt; y−1, … , y−k, u0, … , u−p, x−1, … , x−h &gt;, x0 =&lt; y0, … , y−k+1, u1, … , u−p+1, x0, … , x−h+1 &gt;,
y0 = f(y−1, … , y−k, u0, … , u−p, x0, … , x−h),
λ &lt; y−1, … , y−k, u0, … , u−p, x−1, … , x−h &gt;, x0 = y0,
u1 = g(y−1, … , y−k, u0, … , u−p, x0, … , x−h),
then М can be called (h, k, p) order pseudo-memory finite automata and denoted by Mf,g.</p>
      <p>The automaton with memory in turn can be linear and nonlinear. If the functions defining the state
machine are linear, then the state machine is linear. If any nonlinear function is added to the linear
automaton, we obtain a nonlinear finite state machine with memory.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Public key cryptosystem based on finite automata</title>
      <p>The basic concept of an asymmetric cryptosystem based on finite automaton is the use of a weakly
invertible automaton with delay τ, which allows reproduction of an input sequence of characters by
initial internal state and an output sequence of characters.</p>
      <p>In the FAPKC cryptosystem, the public key is the composition of weakly invertible finite
automata, whereas the private key contains their inverse automata. This cryptosystem can be used not
only to encrypt and decrypt information, but also to sign and authenticate transmitted messages.</p>
      <p>In the theory of numbers a large number can always be decomposed into simple factors, for which
the order of their mutual arrangement in the product is not important. However in the theory of finite
automata the order of arrangement of primitive automata in the composition is important. In other
words, the composition of finite automata does not have the property of commutativity. Consequently,
the problem of decomposition of compound finite automata into primitive components is as difficult
as the factorization of the product of two large numbers. For that reason, this property allows creating
ultra-reliable information security systems, which confirms the relevance and importance of creating
cryptosystems based on finite automata [23].</p>
      <p>As mentioned above, there are several versions of the asymmetric FAPKC cryptosystem. All
versions of FAPKC have one common algorithm of the cryptosystem, the differences between them
are in the generation of different types of finite automata that is used to encrypt/decrypt information,
as presented in more detail in [24]. Next, we describe a general algorithm for building a cryptosystem,
and take a closer look at the type of automata used in the version of FAPKC4.</p>
      <p>In describing the general scheme of FAPKC we will rely on the work of [22], as follows:
Suppose that two users A and B want to exchange secret information, for this user A needs to
generate a public key, which he will send to user B through an open channel for encrypting
information, and a secret key, with which user A will decrypt the encrypted text received from user B.
The public and private key are generated according to the following algorithm:</p>
      <p>Two automata M0 and M1 are chosen randomly, for which it is easy (in polynomial time) to
construct their inverse finite automata M0∗ and M1∗ with some delays τ0 and τ1, respectively. The
composition of M1 и M0 - C′(M1, M0) automata is constructed. Then τ = τ0 + τ1 is determined.
Select an arbitrary initial state of the automata C′(M1, M0), which will be used in the beginning of
encryption. The parts necessary for decryption are determined: s1o,udt and s0o,udt. After the user's public
key is composed, which consists of {C′(M1, M0), se, τ}. The user's private key consists of {M0∗, M1∗,
s1o,udt, s0o,udt, τ0, τ1}.</p>
      <p>Encryption: User B adds arbitrary characters of length xn+1 ⋯ xn+τ to the end of the given plaintext
x0 ⋯ xn and calculates the cipher text using the public key, y0 ⋯ yn+τ = λ(se, x0 ⋯ xn+τ). Then sends
it to user A.</p>
      <p>Decryption: User A receives the plain text in two steps. It first computes x0′ ⋯ xn′+τ−τ0 using M0∗
and s0o,udt and some part of se. Then finds x0 ⋯ xn using the automaton M1∗ and s1o,udt.</p>
      <p>The basic principles of encryption and decryption using a public key cryptosystem based on a state
machine are shown in Fig 2 and Fig 3, respectively.</p>
      <p>FAPKC have some advantages over widely used asymmetric cryptosystems, for instance, their
encrypting speed faster that RSA’s as their algorithm is based only on logical operations. In addition,
the FAPKC cryptosystem can be attributed to stream encryption, which gives it an advantage in the
encrypting and decrypting speed, because plaintext does not divided into blocks [4]. The
disadvantages of the cryptosystem include the large size of the public key, as well as the problem of
generating random and equally probable keys, since the key space of the FAPKC algorithm is
specified by the description of the properties of its elements [25].</p>
      <p>According to [16] in order to keep the size of the public key within acceptable limits, it is necessary
that the parameters of the cryptosystem are very small, as can be seen from the following Table 1
[26], where for some values of the parameters l,h0,h1 the corresponding sizes in bits N1 and N2 of
the public key in FAPKC with τ1 ≤ h1,τ0 ≤ h0 and, respectively, with linear and nonlinear finite
automata are demonstrated.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Pseudo-memory automation for encryption/decryption information</title>
      <p>In this section special types of automata is discussed, i.e. pseudo-memory automata that are used in
the FAPKC4 cryptosystem. All definitions will be given according to Tao R. notation [22].</p>
      <p>Let functions  0 and  0 single-valued mappings   0 ×   0+1 ×  ℎ0 →  and
  0 ×   0+1 ×  ℎ0 →  , respectively, for some integers  0,ℎ0 ≥ 0, 0 ≥ −1 defining automata
 0 =&lt;  , ,  0 ×   0+1 ×  ℎ0, 0, 0 &gt; with (ℎ0, 0, 0) pseudo-memory order:
 ( ) =  0  ( − 1),…, ( −  0), ( ),…, ( −  0), ( ),…, ( − ℎ0) ,
 ( + 1) =  0  ( − 1),…, ( −  0), ( ),…, ( −  0), ( ),…, ( − ℎ0) ,i= 0,1, …
 0 &lt;  −1,…, − 0, 0,…, − 0, −1,…, −ℎ0 &gt;, 0 =</p>
      <p>&lt;  0,…, − 0+1, 1,…, − 0+1, 0,…, −ℎ0+1 &gt;,
 0 =  0( −1,…, − 0, 0,…, − 0, 0,…, −ℎ0),
 0 &lt;  −1,…, − 0, 0,…, − 0, −1,…, −ℎ0 &gt;, 0 =  0,
 1 =  0( −1,…, − 0, 0,…, − 0, 0,…, −ℎ0).
 0∗ =&lt;  , , ℎ0 ×   0+1 ×   0+ 0, 0∗, ∗0 &gt; - finite automata with pseudo-memory order
( 0 +  0,ℎ0, 0) has the following form:</p>
      <p>( ) =  0∗  ( − 1),…, ( − ℎ0), ( ),…, ( −  0), ( ),…, ( −  0 −  0) ,
 ( + 1) =  0  ( −  0 − 1),…, ( −  0− 0), ( ),…, ( −  0), ( ),…, ( − ℎ0) ,i=0,1, …
i.е.
 0∗ &lt;  −1,…, −ℎ0, 0,…, − 0, −1,…, − − 0 &gt;, 0 =</p>
      <p>&lt;  0,…, −ℎ0+1, 1,…, − 0+1, 0,…, − − 0+1 &gt;,
 ∗0 &lt;  −1,…, −ℎ0, 0,…, − 0, −1,…, −−  0 &gt;, 0 =  0,
 0 =  0∗( −1,…, −ℎ0, 0,…, − 0, −1,…, − − 0),
 1 =  0( − 0−1,…, − 0− 0, 0,…, − 0, 0,…, −ℎ0).</p>
      <p>Next, we give the definition of the automata with the input memory:</p>
      <p>Let there be functions  1 and  1 single-valued mappings   1+1 ×  ℎ1 →  and
  1+1 ×  ℎ1 →  , respectively, for some integers ℎ1 ≥ 0, 1 ≥ −1 then the automaton
 1 =&lt;  , ,  1+1 ×  ℎ1, 1, 1 &gt; with a pseudo-memory of order (h1,0,p1) can be defined as:
 ( ) =  1  ( ),…, ( −  1), ( ),…, ( − ℎ1) ,
 ( + 1) =  1  ( ),…, ( −  1), ( ),…, ( − ℎ1) ,i = 0,1, …
i.е.</p>
      <p>1 &lt;  0,…, − 1, −1,…, −ℎ1 &gt;, 0 =&lt;  1,…, − 1+1, 0,…, −ℎ1+1 &gt;,
 1 &lt;  0,…, − 1, −1,…, −ℎ1 &gt;, 0 =  0,
 0 =  1( 0,…, − 1, 0,…, −ℎ1),
 1 =  1( 0,…, − 1, 0,…, −ℎ1),</p>
      <p>The automaton inverse to it is  1∗ =&lt;  , , ℎ1 ×   1+1 ×   1, 1∗, 1∗ &gt; with a pseudo-memory
of order ( 1,ℎ1, 1) has the following form:</p>
      <p>( ) =  1∗( ( − 1),…, ( − ℎ1), ( ),…, ( −  1), ( ),…, ( −  1)),
 ( + 1) =  1  ( ),…, ( −  1), ( ),…, ( − ℎ1) ,i = 0,1, …
i.е.
 1∗ &lt;  −1,…, −ℎ1 0,…, − 1, −1,…, − &gt;, 0 =</p>
      <p>&lt;  0,…, −ℎ1+1, 1,…, − 1+1, 0,…, − +1 &gt;,
 &lt;  0,…, − 1, −1,…, −ℎ1 &gt;, 0 =  0,
 0 =  1∗  0,…, −ℎ1, 0,…, − 1, 0,…, − 1 ,
 1 =  1( 0,…, − 1, 0,…, −ℎ1),</p>
      <p>Then the composition of two automata  1:  1+1 ×  ℎ1 →  and  0:  0 ×   0+1 ×  ℎ0 →  can
be represented as a finite automaton  ′( 1, 0) where the output of the automaton  1 is the input of
the automaton  0:</p>
      <p>1° 0:  0 ×   0+1 ×  ℎ0+ 1+1 ×  ℎ0+ℎ1 → 
Substituting the values of the automaton M1 into the automaton M0, we obtain the following:
 ( ) =  0  ( − 1),…, ( −  0), ( ),…, ( −  0),
 1  ( ),…, ( −  1), ( ),…, ( −ℎ1) ,… ,</p>
      <p>1( ( − ℎ0),…, ( − ℎ0 −  1), ( − ℎ0),…, ( −ℎ0−ℎ1)) ,
 ( + 1) =  0  ( − 1),…, ( −  0), ( ),…, ( −  0),
 1  ( ),…, ( −  1), ( ),…, ( − ℎ1) ,…,  1  ( − ℎ0),…, (
− ℎ0 −  1), ( − ℎ0),…, ( − ℎ0 − ℎ1) ,
 ( + 1) =  1  ( ),…, ( −  1), ( ),…, ( − ℎ1) ,i = 0,1, …
i.е.
 &lt;  −1,…, − 0, 0,…, − 0, 0,…, −ℎ0− 1, −1,…, −ℎ0−ℎ1 &gt;, 0 =</p>
      <p>&lt;  0,…, − 0+1, 1,…, − 0+1, 1,…, −ℎ0− 1+1 0,…, −ℎ0−ℎ1+1 &gt;,
 0 =  0( −1,…, − 0, 0,…, − 0, 0,…, −ℎ0− 1, −1,…, −ℎ0−ℎ1),
 1 =  0  −1,…, − 0, 0,…, − 0, 1  0,…, − 1, 0,…, −ℎ1 ,
 &lt;  −1,…, − 0, 0,…, − 0, 0,…, −ℎ0− 1, −1,…, −ℎ0−ℎ1 &gt;, 0 =  0,</p>
      <p>…, 1  −ℎ0,…, −ℎ0− 1, −ℎ0,…, −ℎ0−ℎ1 ,
 1 =  1  0,…, − 1, 0,…, −ℎ1 ,</p>
      <p>Considering this type of automaton, we can see that the function that determines the
pseudomemory of the automaton is not subjected to modifications when constructing the inverse automaton.
Next, consider the example of the automata with pseudo-memory in the encryption and decryption of
information.</p>
      <p>
        We will further illustrate an example on how to apply pseudo-memory automata on encryption and
decryption process. Take two linear pseudo-memory automata over a finite field F (F=GF(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )), and
take the parameters m, l, n = 3, in which  =   , =   , =   are the vector columns of
dimension m, l, n =3, respectively
      </p>
      <p>
        Let  1 =&lt;  , ,  1+1 ×  ℎ1, 1, 1 &gt; be a liner automata with pseudo-memory of order (4,0,0)
with delay  0 =1 and  0 =&lt;  , ,  0 ×   0+1 ×  ℎ0, 0, 0 &gt; be a linear automata with
pseudomemory of order (
        <xref ref-type="bibr" rid="ref1 ref1">1,1,0</xref>
        ) with delay  1 =1.  0 and  1 are defined as follows:
 ( − 2)
where  3 and  4 – the zero matrix, i = 0,1,2,3
[ 2, 1, 0]  &amp; [ 2, 1, 0] = [ 2&amp; 2, 1&amp; 1, 0&amp; 0]  , where   ,  ∈   (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) .
 ( − 3)=  1  ( − 3), ( − 4) =  ( − 3) ∙  ( − 4)
For functions  and  , operation (∙) means componentwise multiplication of vector elements, i.e.
Then, the public key is  ′( 1, 0) and some initial state s, for example,
0 0 1 0 0
 ( , ) = 1 1 0 1 1 .
      </p>
      <p>1 1 0 1 1</p>
      <p>For the decryption process, it is necessary to compute the inverses of the automata  0 and  1,
which will be the private key. Inverse automata  0 and  1 are constructed according to the rules of
Ra/Rb transformations [22]. The inverse transducers are defined by:
 ( − 2)=  1  ( − 2),  ( − 3) =  ( − 2) ∙  ( − 3)
 ( − 3)=  1  ( − 3),  ( − 4) =  ( − 3) ∙  ( − 4)
In the first step of decryption we use  0∗ and  0, .</p>
      <p>Calculate  0 1 2 3=  ∗0(&lt;  −1,  −1,  −2,  0,  −1 &gt;,  1 2 3 4).</p>
      <p>Calculate  0 1 2 =  1∗(&lt;  −1,  −2,  −3,  −4,  −2,  −3,  0 &gt;,  1 2 3 4).</p>
      <p>1 1 1
After which we will get plaint text: 0 1 1 .</p>
      <p>1 0 1</p>
      <p>The above example is given to illustrate the operation of the pseudo-memory machine. Obviously, in
practice, FA is much more complicated. Automatic linear or non-linear automata are used depending on
how it is built. In a nonlinear finite state machine, the degree of the polynomial constituting FA is greater
than one. For more information on how to build such types of automata, refer to work [22].</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>This paper considered applying classical automaton-theoretical models to cryptography problems.
The basic principle of constructing a finite-automaton cryptosystem with public keys and the history
of the development of this direction are considered, an example of the use of pseudo-memory
automata in information encryption is demonstrated. Summing up, it can be noted that the use of
highspeed automata allows creating a strong asymmetric cryptosystem based on finite automata with high
encrypting speed. However, using big parameters in cryptosystem will increase the size of public
keys. Thereby finite-automaton cryptosystem with size of the public key within acceptable limits,
could be used as part of a combination cryptosystem, which consists of several encryption algorithms
and models. An approach to designing a cryptographic algorithm using finite automata with
pseudomemory is analyzed, which, in contrast to existing algorithms, makes it possible to increase the
security of the designed asymmetric cryptosystem based on finite automata. In the future, it is planned
to develop software modules for generating pairs of cryptographic keys for an asymmetric
cryptosystem based on finite automata with pseudo-memory.</p>
    </sec>
    <sec id="sec-7">
      <title>7. References</title>
      <p>[4] R. Tao, Sh. Chen, A finite automaton public key cryptosystem and digital signatures. Chinese</p>
      <p>Journal of Computers 8 6 (1985) 401-409 [In Chinese]
[5] R. Tao, Sh. Chen, Two varieties of finite automaton public key cryptosystem and digital
signatures. Journal of computer science and technology 1 1 (1986) 9-18
[6] F. Bao, Y. Igarashi, Break finite automata public key cryptosystem. International Colloquiumon
Automata, Languages, and Programming, Springer Berlin Heidelberg, pp. 147-158, 1995.
doi: 10.1007/3-540-60084-1_70
[7] D. Dai, K. Wu, H. Zhang, Cryptanalysis on a finite automaton public key cryptosystem. Science
in China 39 (1996) 27–36
[8] R. Tao, Sh. Chen, X. Chen, FAPKC3: a new finite automaton public key cryptosystem. Journal
of Computer science and Technology 12 4 (1997) 289-305
[9] T. Meskanen, On finite automaton public key cryptosystems. TUCS Technical Report, Turku, 2001.
[10] R. Tao, Sh. Chen, The generalization of public key cryptosystem FAPKC4, Chinese science
bulletin 44 9 (1999) 784-790
[11] G. Margarov, S. Chopuryan, Modification of Finite Automata Public Key Cryptosystem. Journal
of Information Security Research 1 2 (2010) 39-54
[12] S. Abubaker, Wu. Kui, DAFA - A Lightweight DES Augmented Finite Automaton</p>
      <p>Cryptosystem. SecureComm, LNICST 106 (2013) 1–18
[13] S. Lakshmi, On finite state machines and recursive functions – applications to cryptosystems.</p>
      <p>PhD thesis. Jawaharlal Nehru Technological University, India, 2012.
[14] I. Amorim, Linear Finite Transducers Towards a Public Key Cryptographic System. PhD thesis.</p>
      <p>Porto University, Portugal, 2016.
[15] J. Vieira, Finite Transducers in Public Key Cryptography. Master thesis. Porto University,</p>
      <p>Portugal, 2017.
[16] G. Agibalov, State machines in cryptography. Applied Discrete Mathematics. Appendix</p>
      <p>Mathematical methods of cryptography 2 (2009) 45-73. [In Russian]
[17] D. Kovalev, Implementation on the FPGA cipher FAPKC, in: Proceeding of the 10th Siberian
Scientific School-Seminar with International Participation Computer Security and Cryptography,
SIBECRYPT’11, Tomsk, Russia, pp. 33-34, 2011[In Russian]
[18] D. Kovalev, Optimization of implementations of finite automaton encryption systems on the
FPGA, in: Proceedings of Multi-core processes, parallel programming, FPGA, signal processing
systems, Barnaul, 2014, pp. 38-45 [In Russian]
[19] D. Satybaldina, A. Sharipbayev, A. Adamova, Implementation of the Finite Automaton Public
Key Cryptosystem on FPGA, in: Proceeding of the 8th International Workshop on Security in
Information Systems, 2011, pp.167-173.
[20] A. Sharipbaj, Automata models in cryptography, Bulletin of Al-Farabi Kazakh National</p>
      <p>University 3/1 90 (2016) 96-104 [in Russian]
[21] A. Ozhiganov, Theory of automata: Textbook, NIU ITMO, Saint Petersburg, 2013.
[22] R. Tao, Finite Automata and Application to Cryptography. Tsinghua University Press, 2009.
[23] A. Sharipbay, Zh. Saukhanova, G. Shakhmetova, N. Saukhanov, Application of finite automata
in cryptography, in: Proceeding of the International Conference on Engineering &amp; MIS, ENU,
Nur-Sultan, Kazakhstan, 2019. doi: 10.1007/978-3-540-78257-5
[24] А. Sharipbay, Zh. Saukhanova, G. Shakhmetova, M. Saukhanova, Ontology of finite-automaton
cryptography. Ontology of designing l 31 (2019) 36-49. doi: 10.18287/2223-9537-2019-9-1-36-49.
[25] D. Satybaldina, A Sadykov, A. Adamova, Software and hardware implementation of a
cryptosystem based on finite automata, Bulletin of ENU. L.N. Gumilyov 2 (2011)
[26] X. Chen, The Invertability Theory and Application of Quadratic Finite Automata. Laboratory for
Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China, Doctoral
Thesis, 1996</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Brito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Soares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Villela</surname>
          </string-name>
          ,
          <article-title>Metaheuristics in the Project of Cellular Automata for Key Generation in Stream Cipher Algorithms</article-title>
          ,
          <source>in: Proceeding of the IEEE Congress on Evolutionary Computation (CEC)</source>
          , Rio de Janeiro, Brazil,
          <year>2018</year>
          . doi:
          <volume>10</volume>
          .1109/CEC.
          <year>2018</year>
          .8477658
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Breitner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Genkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bruinderink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Heninger</surname>
          </string-name>
          , T. Lange, Ch. Vredendaal,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yarom</surname>
          </string-name>
          ,
          <article-title>Sliding right into disaster: Left-to-right sliding windows leak</article-title>
          ,
          <source>in: Proceeding of the 19th International Conference on Cryptographic Hardware and Embedded Systems</source>
          , CHES, Taipei, Taiwan,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -66787-4 27
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Khaleel</surname>
          </string-name>
          , Sh.
          <string-name>
            <surname>Turaev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Al-Shaikhli</surname>
            ,
            <given-names>M. Mohd</given-names>
          </string-name>
          <string-name>
            <surname>Tamrin</surname>
          </string-name>
          ,
          <article-title>An overview of cryptosystems based on finite automata</article-title>
          ,
          <source>in: Proceeding of the Jour of Adv.Rev. on Scientific Research 27</source>
          <volume>1</volume>
          (
          <issue>2016</issue>
          )
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>