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