1.a)Describe the high level steps involved for decryptionusing a Feistel cipher. b) Modify the pseudo code providedin the lecture notes that describe encryptionusing a Feistel network to do...

1 answer below »

1.a) Describe the high level steps involved for decryption using a Feistel cipher.


b) Modify the pseudo code provided in the lecture notes that describe encryption using a Feistel network to do decryption. You need to actually rewrite the code. Use different font colors and comments to highlight the areas of the code you have changed.


c) What are some benefit(s) of a Feistel structure? 30 points.


2.Recall the 3DES encryption logic is: C = E (K3, D(K2,E(K1, P)))


Where:



E = Encryption



D = Decryption



Kn= Key n



P = Plain text



C = Cipher text


Write the symbolic logic for the 3DES decryption. Describe the logic in a few sentences. 20 points.


3.Assuming an initial implementation of your encryption system was done using DES. What issues would need to be addressed if you decide to upgrade to the 3DES algorithm? There are several issues to consider. 10 points.


4.Your manager is considering purchasing a message authentication system. She is considering 3 different systems. One system uses MD5 hashing, another uses SHA1 hashing and the other system uses a brand new hashing algorithm called VSH (Very Smooth Hash). You have been asked to prepare an executive summary (i.e.
clear
and
concise) that describes the attributes of each algorithm and the pros and cons. What would your recommendation be? 20 points.


5. How would you protect the passwords on your system using some of the mechanisms we have studied? Discuss implementation strategies and explain your decisions.20 points



Answered Same DayDec 24, 2021

Answer To: 1.a)Describe the high level steps involved for decryptionusing a Feistel cipher. b) Modify the...

Robert answered on Dec 24 2021
121 Votes
a) Describe the high level steps involved for decryption using a Feistel cipher
Answer:-
The decryption algorithm in Feistel cipher is same as encryption algorithm. In encryption
algorithm , input is plain text and a key. The plain text is divided into two halves L0 and R0.
These two halves of data pass through n rounds of processing and then combine to
processing cipher text block. Generally Feistel encryption algorithm goes th
rough 16 rounds.
All rounds are similar. Each round j has inputs Lj--1 and Rj-1 derived from previous round and sub
key Kj derived from K. A Substitution is performed on left half of data by applying round function F
to right half of data and taking EX-OR of output of that function and the left half of data. This round
function is same for all round except round sub key Kj . After this substitution, a permutation is
performed in which both halves of data are interchanged. In last round of encryption process , the
two halves of data are swapped.
For explanation we use LEj and REj for data going through encryption algorithm and LDj and RDj for
decryption. The main reason of correctness of this algorithm is that output of j
th
encryption round i.e.
LEj and REj is input to the(16-j) th decryption round
The main steps involve for decryption in Feistel cipher are
1. After performing EX-OR operation in each round of decryption ,a swapping is performed
between two halves of data. After last EX-OR operation in last round a swapping is
performed such that RE16 || LE16 will be cipher text which is input to decryption algorithm.
2. During first step of decryption LD1 =RD0 = LE16=RE15 and RD1= EX-OR(LD0 , F(RD0,K16))
= EX-OR(RE16 , F(RD15,K16))
= EX-OR(EX-OR(LE15 , F(RE15,K16)) , F(RD0,K16))
= LE15
3. During decryption in Feistel cipher the sub keys Kj are used in reverse order i.e K16 for 1
st

round then K15 for 2
nd
round and so on until K1 is used for last round.
4. During decryption in each round a Substitution is performed on left half of data by applying
round function F to right half of data and taking EX-OR of output of that function and the
left half of data. This round function is same for all round except round sub key Kj which is
applied in inverse order
5. After this a permutation is performed in which both halves of data are interchanged. After
last round of decryption process , the two halves of data are swapped for neglecting the last
round swapping and we will get the required plain text.
b) Modify the pseudo code provided in the lecture notes that describe encryption using a Feistel
network to do decryption. You need to actually rewrite the code. Use different font colors and
comments to highlight the areas of the code you have changed.
Answer :- The following pseudocode for the decryption flow using a Feistel network.
Literal
MaxRound=16 # Number of Encryption rounds
EndLiteral
BitRange
LeftBits= 0, 31 # Total block is 64 bits wide. Left side is bits 0 - 31
RightBits=32, 63 # right side are bits 32 - 63
EndBitRange
TempText=CipherText # Size of Plain Text is 64 bits
n=16 # Set subkey value to the 1st round #scheduling the key in reverse order
# The key [n] represents the sub-key derived from the key
while n >= 1 #Complete 16 rounds
do
ResultOfRound = RoundFunction (key [n], TempText )
IntermediateValue = TempText XOR ResultOfRound
TempText = TempText
TempText = IntermediateValue
n = n - 1
done
#After last round there should not be any swapping of the
# data block halves. Therefore undo the last swap done in
# the while loop
PlainText = TempText
PlainText = IntermediateValue
C = ciphertext
P = plaintext
(c) What are some benefit(s) of a Feistel structure?
Answer:- Benefits of Feistel structure are as follows:
1. As we know that substitution cipher having threats to a statistical analysis of plain text which is
removed in Feistel structure due to use Diffusion and confusion. In diffusion the plain text is
converted into cipher text so that possible range of ciphertext is very long.
2. Due to confusion the relationship between cipher text and encryption key are complex.
3. The substitution cipher is not practically possible for large block.But in that case Feistel structure is
easy...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here