In this work the blocks are different from the
above definition, where blocks are defined as n*m-
byte matrices instead of n-bit blocks. A block cipher
whose block size n is too small may be vulnerable to
attacks based on statistical analysis (Menezes,
1997), as a consequence of this study we will use
large blocks with large keys. Specialization of the
system for image cryptography encourages us to
take the size of our block as large as the size of
normal images.
The overall system scheme can be observed in
Figure 1 and Figure 2 where the
Encryption/Decryption Dynamical system is a
dynamical system with strange attractor which
means it is a state space differential/difference
equation, that has at least three dimensions (three
state variables).(Hilborn, 2000) One of the state
variables can be used for developing the Cipher
block matrix (Figure 1 and 2), while one other state
variable will be updated at every iteration under the
influence of the private key (this process will be
discussed in detail). For a dynamical system of the
form
, if
is the variable
that chosen to develop the Cipher block matrix and
if we start the generation of Cipher block at some
time N then:
,
1
(1)
Where p*q is the size of the block and k is a time
step parameter. Needless to mention that a
transformation ::, is necessary in
the process of Cipher block matrix because this
matrix should take part in XOR operation.
There are two phases in encryption-decryption
process. First the synchronization phase in which
the Encryption system generates a synchronization
key (sync) and decryption system updates its initial
condition in accordance with the synchronization
key. The synchronization key can be a dynamical
public key or it can be sent out via a secure channel.
The second phase is the encryption/decryption under
the influence of the private key.
After every execution of the second phase, the
initial conditions of the state equations will be
changed and therefore the generated Cipher blocks
will be completely different from each other using a
constant private key.
As introduced by Pecora and Carrol in (Pecora,
1990) two dynamical systems can be synchronized
in certain conditions. The aim of synchronization in
our work is to enforce two equal dynamical systems
(with different initial conditions) to generate the
same Cipher block matrices in both of the
Encryption/Decryption dynamical systems.
It can be shown that two identical chaotic
systems can be synchronized if they are coupled
together in an appropriate way (Stavroulakis, 2006),
that is to decompose a chaotic system in to two
subsystems (Stavroulakis, 2006). An n-dimensional
chaotic system with state-space equation
can be decomposed in to two subsystems
, (k-dimensional) and , (m-
dimensional) where . Now to drive a
response system with an equation the same as
( ′
,′), we calculate the variable from
, and substitute it in the response system,
taking
′
,
,
,
, for small
and
is the Jacobian of subsystem. For
synchronization to happen
need to go toward
zero and therefore the lyapunov exponents must be
negative. Although the above conditions are derived
for continues dynamical systems, experiments and
simulations show that they are applied to the discrete
modification of Lorenz system which will be
introduced in the next section.
Figure 1: Cipher system (Encryption).
Synchronization in our case occurs in an offline
form, which is to generate a synchronization key by
the Encryption Dynamical system (Sync in Figure 1)
and then the Cipher block will be generated. Using
the synchronization key, The Decryption system can
update itself to the initial conditions of the
Encryption system before generating the Cipher
block.
SECRYPT 2009 - International Conference on Security and Cryptography
260