Sdes P10 And P8 Key Generation

The S-DES encryption algorithm takes an 8-bit block of plaintext and a 10-bit key as input and produces an 8-bit block of ciphertext as output. The S-DES decryption algorithm takes an 8-bit block of ciphertext and the same 10-bit key used to produce that ciphertext as input and produces the original 8-bit block of plaintext.

The encryption algorithm involves five functions: an initial permutation (IP); a complex function labeled fK, which involves both permutation and substitution operations and depends on a key input; a simple permutation function that switches (SW) the two halves of the data; the function fK again; and finally a permutation function that is the inverse of the initial permutation (IP–1).

We can concisely express the encryption algorithm as a composition1 of functions.

Sdes p10 and p8 key generation case

A 10-bit key shared between sender and receiver. From this key, two 8-bit subkeys are produced for use in particular stages of the encryption and decryption algorithm. First, permute the key in the following fashion. Let the 10-bit key be designated as (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10). Then the permutation P10 is defined as. First and foremost, we need to generate a key. With the help of this key we will encrypt the message. Now the interesting question is, how to generate the key, and where the key is to be used, just follow the steps.

This is a program for Encryption and Decryption with Modifies & Simplified DES. This Algo takes 8-bits of plaintext at a time and produces 8-bits of ciphertext. It uses 10-bits of key for Encryption and Decryption.

Global Variables

Original S-Box

Modified S-Box

Selection of Function for Original and Modified S-Box

We now describe the mapping F. The input is a 4-bit number (n1n2n3n4). The first operation is an expansion/permutation operation:

Sdes P10 And P8 Key Generation 8gb

E/P = (4, 1, 2, 3, 2, 3, 4, 1)

The first 4 bits (first row of the preceding matrix) are fed into the S-box S0 to produce a 2- bit output, and the remaining 4 bits (second row) are fed into S1 to produce another 2-bit output.

These two boxes are defined as follows:

The S-boxes operate as follows. The first and fourth input bits are treated as a 2-bit number that specify a row of the S-box, and the second and third input bits specify a column of the Sbox. The entry in that row and column, in base 2, is the 2-bit output.

Next, the 4 bits produced by S0 and S1 undergo a further permutation as follows:

Sdes P10 And P8 Key Generation Case

P = (4, 2, 4, 3, 1)

The output of P4 is the output of the function F.

Shifting of Keys

Key Generator

A 10-bit key shared between sender and receiver. From this key, two 8-bit subkeys are produced for use in particular stages of the encryption and decryption algorithm.

First, permute the key in the following fashion. Let the 10-bit key be designated as (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10). Then the permutation P10 is defined as:

P10 (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6)

P10 = (3, 5, 2, 7, 4, 10, 1, 9, 8, 6)

Next we apply P8, which picks out and permutes 8 of the 10 bits according to the following rule:

P8 = (6, 3, 7, 4, 8, 5, 10, 9)

We then go back to the pair of 5-bit strings produced by the two LS-1 functions and perform a circular left shift of 2 bit positions on each string.

Finally, P8 is applied again to produce K2.

Encryption and Decryption

The input to the algorithm is an 8-bit block of plaintext, which we first permute using the IP function:

IP = (2, 6, 3, 1, 4, 8, 5, 7)

This retains all 8 bits of the plaintext but mixes them up. At the end of the algorithm, the inverse permutation is used:

IP–1 = (4, 1, 3, 5, 7, 2, 8, 6)

Sdes P10 And P8 Key Generation Manual

The Switch Function

The function fK only alters the leftmost 4 bits of the input. The switch function (SW) interchanges the left and right 4 bits so that the second instance of fK operates on a different 4 bits. In this second instance, the E/P, S0, S1, and P4 functions are the same. The key input is K2.

Main Function