Page 138 - Ellingham, Mark, Mariusz Meszka, Primož Moravec, Enes Pasalic, 2014. 2014 PhD Summer School in Discrete Mathematics. Koper: University of Primorska Press. Famnit Lectures, 3.
P. 138
4.1 Introduction

alphabet, i.e., , ∈ {A, B, . . . ,Z }. A sequence of message symbols m = m0, m1, . . . is
encrypted by this scheme into an encrypted sequence c = c0, c1, . . . as follows. In order
to express the encryption mathematically a simple transformation is performed, namely
the letters are replaced by integers such that, A ↔ 0, B ↔ 1, . . . ,Z ↔ 25. The same trans-
formation is applied to the key K = K0, K1, . . . , Kl −1 and the corresponding message and
key sequence are denoted m and K , respectively. Then, the encrypted integer sequence
c = c0, c1, . . . is obtained using,

ci = mi + K mod l mod 26, i = 0, 1, 2, . . . . (4.1)

i

Now the ciphertext c is derived from c using the reverse transformation, 0 ↔ A, 1 ↔

B, . . . , 25 ↔ Z . To recover the sequence of the original message, a similar transformation

is applied to the encrypted sequence by the recipient,

mi = ci + (26 − K mod l ) mod 26, i = 0, 1, 2, . . . .

i

Then the same transformation as above is applied to m to retrieve the sequence of al-

phabetic letters m.

Nevertheless, practical encryption schemes use more sophisticated approaches of

implementing Shannon’s concepts of confusion and diffusion. The encryption is rather

performed on a bit level (or on a block of bits) by either "expanding" the secret key of

finite length into a pseudo random sequence (running key sequence) z i using keystream
generator (stream ciphers), see Figure 4.2.

mi

k Keystream zi ci
generator

General model of a binary additive stream cipher

Figure 4.2: Additive (binary) stream cipher

Alternatively, an encryption scheme can be designed by implementing a pseudo random

permutations that substitutes a block of data (typically 128 bits) by a block of ciphertext

bits of the same length (block ciphers) by repeating substitution (S) and permutation (P)

through sevral rounds, see Figure 4.3.

In both cases an essential cryptographic primitive for embedding the concept of

confusion is so-called Boolean function. Denoting by 2 the binary Galois field (thus

2 = {0, 1}) and the n -dimensional vector space over 2 by n , a Boolean function is de-
2

fined as f : n → 2. A vectorial Boolean function F : n → m , also known as substitu-
2 2 2

tion box (S-box), is widely used primitive in the design of block ciphers. For instance, the
   133   134   135   136   137   138   139   140   141   142   143