Question: The Feistel cipher is a symmetric block cipher encryption framework which is the basis of many modern day encryption algorithms. In this coursework you will
The Feistel cipher is a symmetric block cipher encryption framework which is the basis of many modern day encryption algorithms. In this coursework you will implement a Feistel cipher system as a software implementation in Hack Assembly.
In a Feistel cipher the plaintext, P to be encrypted is split into two equal size parts L and R such that P LR A function F is applied to one half of the plaintext, combined with a key, and the result is XORd with the other half of the plaintext. Feistel ciphers often employ multiple rounds of this scheme. In general the scheme works as follows, for all i n
Li Ri
RiLi FRiKi
To decrypt an encrypted message using this cipher we can apply the same procedure inreverse. Forinn
Ri Li
Li RiFLiKi
For this coursework we are interested in the bit Feistel cipher which uses rounds. The function F A B A B
The keys are derived from a single bit key K such that,
K bbbbbbbb K bbbbbbbb K bbbbbbbb K bbbbbbbb
Q Write a program FeistelEncryptionasm in HACK assembly, that implements the described Feistel encryption system. The initial key, K will be stored in RAM and the plaintext to be encrypted will be represented by a bit value stored in RAM The result of the encryption should be stored in RAM Please do not use or as its not valid in HACK assembly
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
