Cryptography Reference
In-Depth Information
y
x
u
v
2
−
PHT
PHT
−
1
2
−
u
=
2
x
+
y
mod 256
v
=
x
+
y
mod 256
x
=
u
−
v
mod 256
y
=
2
v
−
u
mod 256
Figure 2.19.
Diffusion in SAFER.
2.6
Other Block Cipher Examples
2.6.1
FOX: A Lai-Massey Scheme
FOX is a family of block ciphers which was released in 2003 (see Refs. [96, 97]). It
was designed by Pascal Junod and Serge Vaudenay for the MediaCrypt company. The
family includes block ciphers with 64-bit and 128-bit blocks. Round numbers and key
sizes are flexible. We use an integral number
r
of rounds between 12 and 255 and a key
of
k
bits with an integral number of bytes, up to 256 bits. The name FOX64/
k
/
r
refers
to the block cipher of the family characterized by 64-bit blocks,
r
rounds, and keys of
k
bits. Similarly, FOX128/
k
/
r
refers to the block cipher with 128-bit blocks. The nominal
choices denoted by FOX64 and FOX128 refer to FOX64/128/16 and FOX128/256/16
respectively. Namely, we use
r
=
16 as a nominal number of rounds and a key length
which corresponds to two blocks.
A key schedule processes the key
K
and a direction (either “encrypt” or “decrypt”)
and produces a sequence RK
1
,...,
RK
r
of
r
round keys in this ordering if the direction
is “encrypt” or the opposite if the direction is “decrypt.” Encryption is performed
through
r
rounds as depicted in Fig. 2.20. Every round processes a data block and a
round key RK (whose size consists of two blocks) and produces another data block.
The
r
−
1 first rounds have identical structure but the last round is a little different.
K
Direction
Round
RK
1
Round
RK
2
Key
schedule
.
Round
∗
RK
r
Figure 2.20.
The FOX skeleton.
Search WWH ::
Custom Search