Computer Security :: Projects :: DES Lab
This lab is based off of a lab created by Dr. Lawrie Brown of the University of New South Wales in Canberra, Australia. This lab uses Key Plain Cipher triples written in 64 bit hexadecimal. Encrypting the plaintext value with the key should generate the ciphertext. You can use the DES Calculator Applet written by Dr. Brown to investigate the encryption process.
Test the Calculator with the following triple (key, plaintext, ciphertext):
5B5A57676A56676E 675A69675E5A6B5A 974AFFBF86022D1F
You should get the ciphertext as a result of inputing the plaintext and key. Note that the right side of the current round becomes the left side of the next round. So the left side of round two (which is not shown in the calculator) is 00d893ff, which was the right side from round 1.
- Email Mr. Miller for the triple you will use for this assignment.
- Encrypt the plaintext using the key given in your triple, with tracing set to level 2. Note how the bits in X (the left and right halves of the data) change from round to round. What is the value of your X at the start of round 5?
- Change DES bit 12 of the plaintext in your triple (ie change 5 from the example, or 0101, to 6, or 0110). Assume DES bit numbering from left (MSB) bit 4 to right (LSB) bit 64. This means each bit is numbered with a multiple of 4. Encrypt this new plaintext value using the DES Calculator. Using the trace output, after each of the first four rounds list in a table how many bits of X differ from the corresponding values from the first part. You will have to convert between hexadecimal and binary and compare the relevant bits to do this.
- Briefly describe how the subkeys used in each of the four rounds above were derived from the original 64 key bits specified.
- Describe which characteristics of a good block cipher design have been illustrated by this exercise, and how they are demonstrated.