Cryptography Reference
In-Depth Information
Chapter 4
Block Ciphers and Modes of Operation
Most modern private-key encryption schemes are built from two ingredients: a block
cipher and a mode of operation. Block ciphers are cryptographic primitives that
provide encryption and decryption functions which operate on strings of a fixed size
(blocks). The modes of operation act on top of block ciphers and allow the encryption
of arbitrary length messages and also provide the probabilistic encryption necessary
for the system to be secure. In this chapter we are going to look at these constructions
and, in particular, at the most used block cipher today: the Advanced Encryption
Standard.
4.1 Block Ciphers and Pseudo-Random Functions
We have already seen how block ciphers can be used as encryption schemes, such
as is the case, for example, with the Hill cipher. Here we are going to study block
ciphers from a more general point of view which regards them not as encryption
schemes but as a kind of
cryptographic primitives
that can be used to build these
schemes.
t
n
n
, where,
Definition 4.1
A
block cipher
is a function
F
:{
0
,
1
}
×{
0
,
1
}
→{
0
,
1
}
t
n
n
given by
F
k
(
x
)
=
for each
k
∈{
0
,
1
}
the induced function
F
k
:{
0
,
1
}
→{
0
,
1
}
F
(
k
,
x
)
is a permutation.
Remarks 4.1
t
may be thought of as the key
1.
In the intended use of the definition above,
{
0
,
1
}
n
(blocks) as the plaintexts and ciphertexts so that,
in encryption schemes based on block ciphers, the
F
k
will act as the encryption
functions. The parameter
n
is called the
block length
of
F
.
space and the elements of
{
0
,
1
}
2.
{
as when we implemented the Hill
cipher using an alphabet consisting of English letters plus the space. As we will
see below, the most important block cipher currently used, AES, can be most
0
,
1
}
could be replaced by any alphabet
Σ