Article Preview
TopIntroduction
Claude E Shannon published a seminal paper which became the foundational treatment of modern cryptography (Shannon, 1949). He identified two fundamental properties of confusion and diffusion for the operation of a strong cryptographic system. The confusion refers to making the relationship between the ciphertext and the symmetric key as complex and involved as possible. The diffusion, on the other hand refers to dissipating the statistical structure of plaintext over bulk of ciphertext. The way confusion succeeds in making the relationship between the ciphertext and the key complex is by making each character of the ciphertext to depend on a major part of the key. The dissipating nature of diffusion refers to the fact that any change in the character of the plaintext results in a significant change in the characters of the ciphertext and vice versa (Menezes et al., 1997). The property of confusion is accomplished through a substitution box (S-box) while the property of diffusion is accomplished through a permutation box (P-box). A way to achieve both confusion and diffusion is to use substitution – permutation networks (SPN) (Dawson & Tavares, 1991). A substitution permutation network takes a block of plaintext and the keys as inputs and applies several alternating layers of S-boxes and P-boxes to produce the ciphertext block. Blocks of input bits are transformed by the substitution and permutation boxes into blocks of output bits. The substitution box does a one to one substitution of a small block of bits, which are the inputs of the S-box, by some other block of bits. These other block of bits is the output of the S-box. One to one substitution is required so that it may be invertible. The P-box permutes the bits by taking the output of all substitution boxes of a particular round and permuting them. These permuted bits are then given as inputs to the proceeding round of S-boxes. Some ciphers using the SPNs architectures are 3-Way, SAFER, SHARK and Square.
An efficient S-box with thorough cryptographic features is essential for the development of strong encryption systems. S-boxes are the only components capable of inducing nonlinearity in the security system. A high nonlinearity is desirable since it decreases the correlation between output and the input or a linear combination of the two (Ahmad, 2008). An S-box takes m input bits and transforms them into n output bits. This is called an m×n S-box and is often implemented as a lookup table. Mathematically, an S-box of size m×n is a nonlinear map defined as S: {0, 1}n → {0, 1}n. An 8×8 S-box involves eight Boolean functions fi mapping an 8-bit value to 1-bit as fi:{0, 1}8 → {0, 1} (Ahmad et al., 2013). While designing an S-box, it is important to keep in mind to have the maximum probabilities as low as possible while maintaining high nonlinearity scores. A cryptographically good S-box must achieve balancedness and avalanche effect. This leads to a contradiction as it is impossible to achieve balancedness and high nonlinearity scores simultaneously and so some tradeoff have to be made while designing cryptographically strong S-boxes.