What are the role of S-boxes in DES?

In DES, it is a symmetric-key block cipher introduced by the National Institute of Standards and Technology (NIST). DES was introduced as FIPS 46 in the Federal Register in January 1977.

NIST can represent DES as the standard for use in unclassified software. DES has been the most broadly used symmetric-key block cipher because its publication. NIST later issued a new standard (FIPS 46-3) that confirm the use of triple DES (repeated DES cipher three times) for future software.

The DES has a 64-bit block size and need a 56-bit key during implementation (8 parity bits are deprived off from the complete 64 bit key). DES is a symmetric cryptosystem, particularly a 16-round Feistel cipher.

A block is be enciphered is subjected to an initial permutation IP and thus to a complex key-dependant computation and lastly to a permutation which is the inverse of the initial permutation IP−1.

Permutation is an operation implemented by a function, which change an element at place j to the place k. The key-dependent computation can be simply represented in the terms of a function-f is known as the cipher function, and a function KS is known as the key schedule.

The role of the S-boxes in the function F is that the substitution includes a group of eight S-boxes. Each of which take 6 bits as input and creates 4 bits as follows − The first and last bits of the input to box Si form a 2-bit binary number to choose one of four substitutions represented by the four rows in the table for Si.

The middle four bits choose one of the sixteen columns. The decimal value in the cell chosen by the row and column is then transformed to its 4-bit description to make the output. For instance, in S1, for input 011001, the row is 01 and the column is 1100.The value in row 1, column 12 is 9, therefore the output is 1001.

The principle of S-boxes is as follows −

  • Each S-box must have six bits of input and four bits of output.

  • There is no output bit of an S-box should be too near to a linear function of the input bits. (The S-boxes are the only non-linear element of DES and their nonlinearity is the algorithm’s strength.)

  • Each “row” of an S-box should include all possible outputs. (This randomizes the output.)

  • If two inputs to an S-box differ in actually one bit, their outputs must differ in minimum two bits.

  • If two inputs to an S-box differ specifically in the middle two bits and their outputs should differ by minimum two bits.

  • If two inputs to an S-box differ in their first two bits and agree on their last two, the two outputs should be dissimilar.