274 8. One Key Cryptosystems and Latin Arrays
8.1 Canonical Form for Finite Automaton One Key
Cryptosystems
From a mathematical viewpoint, a cryptographic system,orcryptosystem for
short, is a family of transformations {f
k
,k ∈ K} depended on a parameter k
called the key,whereK is called the key space, f
k
is called the cryptographic
transformation which is an injective mapping from a set P (the plaintext
space) to a set C (the ciphertext space). For sending a message α which is re-
ferred to as plaintext through an insecure channel, where it may be tapped by
an adversary, using this cryptosystem, the sender first encrypts α by applying
f
k
to it and then sends the result f
k
(α) which is referred to as ciphertext
over the channel. The receiver decrypts the ciphertext f
k
(α) by applying f
−1
k
to it and retrieves the plaintext α,wheref
−1
k
is an inverse transformation of
f
k
. The receiver and the sender share the key k; this cryptosystem is referred
to as a one key cryptosysyem.
An example of cryptosystems is the stream cipher of which the key string
is a pseudorandom sequence generated by a binary shift register of order n.
The key space is the vector space of dimension n over GF (2), the plaintext
space and the ciphertext space consist of all words over GF (2), and the cryp-
tographic transformation f
k
is defined by f
k
(x
0
x
1
...x
l−1
)=y
0
y
1
...y
l−1
,
where y
i
= s
i
⊕ x
i
, i =0, 1,...,l− 1, and the key string s
0
s
1
...s
l−1
is the
first l digits of the output of the shift register for the initial state k.Itis
well known that shift register sequences have received extensive attentions in
cryptology community since the 1950s. Although shift registers are impor-
tant sequence generators in stream ciphers, they are merely a special kind of
autonomous finite automata. Finite automata have been regarded as a nat-
ural mathematical model of cryptosystems from an implementing viewpoint,
where the plaintext space and the ciphertext space consist of all words over
some finite sets, and the cryptographic transformation f
k
(α)equalsλ(k, α),
λ being the output function of some weakly invertible finite automaton, and
the key space is a set of weakly invertible finite automata and their initial
states.
Assume that a finite automaton M = X, Y, S, δ,λ is chosen as an en-
coder to implement encryption. Then M must satisfy some conditions on
invertibility. In the case where M is invertible with delay τ,wemaychoose
its inverse finite automaton with delay τ,sayaτ-order input-memory finite
automaton M
= Y, X, S
,δ
,λ
, as the corresponding decoder to imple-
ment decryption. To encrypt a plaintext x
0
...x
l−1
in X
∗
,wefirstexpand
randomly τ letters x
l
,...,x
l+τ−1
in X to its end and choose randomly a state
s of M, then compute