Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Note: Matlab is recommended, but you can choose whatever language you prefer. Please submit your code through Isidore. Submission: Please submit screenshots of your results,
Note: Matlab is recommended, but you can choose whatever language you prefer. Please submit your code through Isidore. Submission: Please submit screenshots of your results, and your scripts on Isidore. Problem 1. (Design and Program) Design and implement a block cipher based on Feistel Cipher. Please see the requirements as follows: Determine the important components before implementation a. Block size: 64-bit is recommended, you are free to choose any block size no smaller than 64 bits. b. Key size: 128-bit is recommended you are free to choose any block size no smaller than 64 bits c. Number of rounds: you can pick it on yor own. d. Subkey generation algorithm design an algorithm to generate subkeys based on the secret key Round function: design a round function which takes in the right half of the input and the subkey e. Implement your block cipher f Show a demo by doing one encryption i. The input is one block of all 1s (i.e., 64-bit 111111... if your block size is 64-bit) The secret key is set as all 1s.(ie., 111111) ii. g. Do the decryption correspondingly Performance preliminary analysis h Encrypt a block for 1,000 times and record the computational time i. Report your computer configurations (CPU clock speed, RAM, programming language, etc.) ii. Feel free to change running iterations to get a good evaluation on computational time i. Show the avalanche effect in your design by i. changing the first bit of the plaintext to 0 ii and then do the encryption again. ii. Record the number of different bits in the two cipher texts
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