Design and Implementation of a 16-Round SP Block Cipher with Feistel Structure

Download Solution Order New Solution

Assignment Task

In this assignment, you will design and implement your own conventional SP (substitution- per- mutation) block cipher. Your cipher should have Feistel structure given in the figure below.

Your cipher should have 16 rounds. It should take as input a 128-bit plaintext block P and a 128- bit key K and produce a 128-bit ciphertext block as an output.

Your job is to design the following:

1. Round function F: In round i, the function F takes as input the right half Rj, of the pre- vious round and the round key K; the output of the round function F is then XORed with the left half L, of the previous round to produce the right half R;.

2. Key scheduling: A function that generates round keys K, K2, Ky,; all the keys should be derived from the input key K.

3. Weak keys: Identify all the weak keys that may generate from your key scheduling func- tion.

You should keep your design simple to enable the analysis of your solution. Note that if your de- sign is not simple, it will be harder to implement and may be very difficult to analyze.

In designing the round function F, you need to ensure that you use a substitution (S-box), a permutation (P-box) and an XOR with the round key. You must also make sure that you have a non linear element to make your cipher resistant to linear cryptanalysis.

Your design needs to be fully specified in a form of block diagrams similar to what we presented for DES. You should also provide brief explanations necessary to understand your cipher. Your permutation(s) and substitution(s) and key generation tables need to be provided, as well as an analysis behind their design (why did you design them that way?).

You may be guided and draw inspiration from DES, AES, and other modern block ciphers. How- ever, you may not re-use any building block (permutation, S-box or key generation) from any of these ciphers. (Note: similar construction and/or structure are allowed.)

Task

In this task, your job is to evaluate the avalanche effect of your cipher.

You need to analyze your cipher to determine how many plaintext bits affect each ciphertext bit. Your findings need to be well presented in the form of tables with necessary explanations.

By way of example, if You mere analyzing the avalanche effect in DES, you would explain that the role of the permutation P is providing diffusion throughout the encryption.

After round 1, each bit in R, is affected only by 6 bits in Ro. For instance, the bits 1-4 in R, is determined by bits (32, 1-5) of Ro.

You would further explain how, due to the structure of the permutation P, after round 2, each bit in R2 is affected by all but 4 bits in Rp, and so on.

This IT Computer Science has been solved by our PhD Experts at My Uni Paper.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.