
implementation approaches: application-specific integrated circuits (ASICs) and field 
programmable gate arrays (FPGAs). 
In this paper we describe an implementation method of FAPKC. The method is 
based on realization of computational structure in GF(q). A project was implemented 
on the programmed matrix FPGA EP3C5E144C8N of the device family Cyclone III 
offered by Altera. 
2  FAPKC Principles 
2.1  Definitions and Denotations 
Let us introduce the basic terminology [5]: 
Definition 1.  Finite automaton  M – a quintuple <X, Y, S, 
δ
, 
λ
>, where we have the 
input alphabet X, the output alphabet Y and the state alphabet S which all are 
nonempty  finite sets and the transition function 
δ
:S
×
X→S and the output function 
λ
:S
×
X→Y which are single valued functions. 
If we denote by A
N
 the set of all finite words of alphabet A, by A
ω
 the set of all 
infinite words of alphabet A and by ϵ the empty word, we can expand the domains of δ 
and λ to S ×X
N
 and S × (X
N  
∪ X
ω
), respectively, as follows: 
δ(s, ϵ ) = s,   δ(s, αx) = δ(δ(s, α), x),     (1) 
λ(s, ϵ ) = ϵ,  λ(s, xα′) = λ(s, x) λ(δ(s, x), α′),   (2) 
where s ∈ S,  x ∈ X, α ∈ X
N
 and α′ ∈  X
N  
∪ X
ω
. 
Definition 2. Let M = <X,Y,S,K,
δ
,
λ
> be a finite automaton, X and Y are column 
vector spaces over GF(q) of dimension l and m, respectively, and τ be a nonnegative 
integer. M is a weakly invertible with delay τ if, for any x
i 
∈
 X, i =0, 1, …, τ and s 
∈
 
S, x
0
  can be uniquely determined by the state s and the output λ(s, x
0
…x
τ 
). 
For any states s ∈ S and s′ ∈ S, if ∀α ∈ X
ω
, ∃α
0
 ∈ X
N
 : 
λ′ (s′, λ(s, α)) = α
0
α  and    |α
0
| = τ,     (3) 
then (s′, s) is a matching pair with delay τ or  s′ matches s with delay τ . 
Definition 3. Let M = <X,  Y,  S, 
δ
  ,
λ
> and M′ = <Y,  X,  S′,  δ′,  λ′> be two finite 
automata and τ be a nonnegative integer. M′ is a weak inverse with delay τ of M if, for 
any s ∈ S, there exists s′ in S′ that (s′, s) is a matching pair with delay τ. 
Definition 3. Let M
1
 = <X, Y, S
1
, 
δ
1
 ,
λ
1
> and M
2
 = <X, Y, S
2
, 
δ
2
 ,
λ
2
> be two finite 
automata. Superposition of M
1
 and M
2
 is a finite automaton C(M
1
,M
2
) = <X
1
, Y
2
, S
1
 × 
S
2
, δ, λ >, where 
δ(<s
1
, s
2
>, x) =<δ
1
(s
1
, x), δ
2
(s
2
, λ
1
(s
1
, 
x
))>     (4) 
λ(< s
1
, s
2
 >, x) = λ
2
(s
2
, λ
1
(s
1
, x)),    (5) 
for any x ∈ X
1
 and s
1
 ∈ S
1
, s
2
 ∈ S
2
. 
Definition 4. Let 
ϕ
 be a mapping from Y
k 
×  X
h+1 
to  Y. This mapping defines 
M
ϕ
=<X,Y,Y
k 
×X
h
,δ,λ> to be an (h, k)-order memory finite automaton if  
y(i) = 
ϕ
(y(i − 1), . . . , y(i − k), x(i), . . . , x(i − h)), i = 0, 1, . . .   (6) 
168