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
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