Answered step by step
Verified Expert Solution
Question
1 Approved Answer
40 points) Programming Problem: Please read the programming guidelines (in the course outline) before start- ing to work on the programming problem. You need to
40 points) Programming Problem: Please read the programming guidelines (in the course outline) before start- ing to work on the programming problem. You need to turn in: hard copy: a self-critique, a printout of the program listing, a printout of the output soft copy: a soft copy (source code + all executables etc) needs to be turned in on blackboard You have to implement encryption and decryption with Simplified DES, as discussed in the class and in Stallings 3rd edition. The permutations IP. P10, P8, and SW, and the functions fk:F, and the S-box S0 are all as described. and can be hardwired into your program. For parts (a) and (b), you will use the original S1 box as described in Stallings 3rd edition. However, for part (c), you have to use a modified S-box S1'. In the modified S1', the rows0 and 2 are the same as described for the original S1, but the rows 1 and 3 have been switched. So row 1 is 2,1,0,3 and row 3 is 2,0,1,3. Your program should take as input a 8-bit block of plaintext and a 10-bit key. Show the following output (please only print what is being asked for, and nothing else): (a) the intermediate result after the SW operation while encypting. (b) the ciphertext (c) the intermediate result after the SW operation while decrypting (d) the result of the decryption process. You have to run your programs on the following inputs: (a) with the original S1: the example from the textbook i.e. the plaintext is 10111101 and the key is 1010000010. In this case we know the ciphertext should come out to be 01110101, so this is a good way to check that your program is performing correctly on this input (b) with the original S1: the plaintext is 00011101 and the key is 1011010011 (c) with the modified S1': the plaintext is 00111101 and the key is 0010110011. Please note that you do not have to actually implement these operations as bit operations. For example, you cain store the plaintext as an array of integers 40 points) Programming Problem: Please read the programming guidelines (in the course outline) before start- ing to work on the programming problem. You need to turn in: hard copy: a self-critique, a printout of the program listing, a printout of the output soft copy: a soft copy (source code + all executables etc) needs to be turned in on blackboard You have to implement encryption and decryption with Simplified DES, as discussed in the class and in Stallings 3rd edition. The permutations IP. P10, P8, and SW, and the functions fk:F, and the S-box S0 are all as described. and can be hardwired into your program. For parts (a) and (b), you will use the original S1 box as described in Stallings 3rd edition. However, for part (c), you have to use a modified S-box S1'. In the modified S1', the rows0 and 2 are the same as described for the original S1, but the rows 1 and 3 have been switched. So row 1 is 2,1,0,3 and row 3 is 2,0,1,3. Your program should take as input a 8-bit block of plaintext and a 10-bit key. Show the following output (please only print what is being asked for, and nothing else): (a) the intermediate result after the SW operation while encypting. (b) the ciphertext (c) the intermediate result after the SW operation while decrypting (d) the result of the decryption process. You have to run your programs on the following inputs: (a) with the original S1: the example from the textbook i.e. the plaintext is 10111101 and the key is 1010000010. In this case we know the ciphertext should come out to be 01110101, so this is a good way to check that your program is performing correctly on this input (b) with the original S1: the plaintext is 00011101 and the key is 1011010011 (c) with the modified S1': the plaintext is 00111101 and the key is 0010110011. Please note that you do not have to actually implement these operations as bit operations. For example, you cain store the plaintext as an array of integers
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started