Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

J. Wang and Zachary Kissel. Introduction to Network Security: LetM andK eachbe64

ID: 3665134 • Letter: J

Question

J. Wang and Zachary Kissel. Introduction to Network Security:

LetM andK eachbe64-bitbinarystrings,representingaplaintextmessageWHITEHAT and an encryption key BLACKHAT. Eachletterintheplaintextmessageisencodedusingan8-bitASCIIcodebyadding a leading 0 to its 7-bit ASCII code. For example, the 7-bit ASCII code of letter W is 1010111 (see Appendix A), and its 8-bit ASCII code is 01010111. Each letter in the encryption key is encoded using its 7-bit ASCII code, with an additional parity bit added at the end such that the total number of 1’s (including the paritybit)isanevennumber.Forexample,the7-bitASCIIcodeofletterBis1000010 (see Appendix A), and so B is encoded by 10000100. Carry out the first round of DES encryption. What is L1R1?

Explanation / Answer

DES:

Plain text string M: WHITEHAT

Binary representation of plain text:

M= 01010111 01001000 01001001 01010100 01000101 01001000 01000001 01010100

L= 01010111 01001000 01001001 01010100

R= 01000101 01001000 01000001 01010100

Underlined bits in M will be left unused, while creating subkeys during DES.

Step 1: Creation of 16 48-bit sub keys using the following permutation table:

As per this table, 57th bit of original key becomes the 1st bit of intermediate key M+, 49th becomes the 2nd bit and so on...

56 bit intermediate key:

M+=0000000 0111111 1100000 0001000 0000000 1100110 0100110 1101001

Devide this into two halves - L0 and R0

L0= 0000000 0111111 1100000 0001000

R0= 0000000 1100110 0100110 1101001

After getting L0, R0 16 blocks of subkeys LnRn are to be created by performing left shift operation. Performing left shift on a given block gives the next block of the process. For ex.: performing left shift on L0R0 will give L1R1 and so on...

Shifting is performed as per the following scheme:

Hence, on performing left shift on L0 and R0, we get following L1 and R1 subkeys

L1= 0000000 1111111 100000 00010000

R1=0000001 1001100 1001101 1010010

Similarly, remaining LR blocks can be computed.

After computing these blocks, intermediate keys Mn of 48 bits are calculated as per the following table:

It means K1 will be calculated from L1R1:

L1R1=0000000 1111111 100000 00010000 0000001 1001100 1001101 1010010

M1= 101100 001001 001001 000010 010011 010000 011000 101100

Similarly other Mn can also be computed. This completes the first step of DES.