Perhaps the simplest "serious" symmetric block encryption algorithm is the Tiny
Encryption Algorithm (TEA). TEA operates on 64-bit blocks of plaintext using a
128-bit key. The plaintext is divided into two 32-bit blocks (Lo, Ro), and the key is
divided into four 32-bit blocks (Ko, K₁, K2, K3). Encryption involves repeated appli-
cation of a pair of rounds, defined as follows for rounds i and i+1:
-non lo buon
L₁ = R₁-1
R₁
Li+1 = R
Ri+LF(R₁, K₂, K3, 8+1)
=
=
Li-1 F(R-1, Ko, K₁, 8;)
where F is defined as
giuo F(M, Kj, K, 8) = ((M<<<4) EK) ((M>> 5) HK) (M= 8)
and where the logical shift of x by y bits is denoted by xy, the logical right shift
of x by y bits is denoted by xy, and 8; is a sequence of predetermined constants.
a. Comment on the significance and benefit of using the sequence of constants.
b. Illustrate the operation of TEA using a block diagram or flow chart type of
depiction.
e.
If only one pair of rounds is used, then the ciphertext consists of the 64-bit block
(L2, R₂). For this case, express the decryption algorithm in terms of equations.
d. Repeat part (c) using an illustration similar to that used for part (b).
Fig: 1