Question: Q . How can i split the plaintext into 2 equal parts only using the operators and memory adresses allowed in the nand 2 tetris

Q.How can i split the plaintext into 2 equal parts only using the operators and memory adresses allowed in the nand2tetris hack assembly language?
The Feistel cipher is a symmetric block cipher encryption framework which is the basisWrite a program (FeistelEncryption.asm) in HACK assembly, that implements
the described Feistel encryption system. The initial key, K0, will be stored in
RAM 1
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
L0 and R0 such that P=L0R0. A function F is applied to one half of the plaintext,
combined with a key, and the result is XOR'd 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=0,dots,n
Li+1=Ri
Ri+1=Lio+F(Ri,Ki)
To decrypt an encrypted message using this cipher we can apply the same procedure
in reverse. For i=n,n-1,dots,0,
Ri=Li+1
Li=Ri+1o+F(Li+1,Ki)
For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds.
The function F(A,B)=Ao+notB.
The keys are derived from a single 8-bit key K0 such that,
K0=b7b6b5b4b3b2b1b0
K1=b6b5b4b3b2b1b0b7
K2=b5b4b3b2b1b0b7b6
K3=b4b3b2b1b0b7b6b5
 Q.How can i split the plaintext into 2 equal parts only

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!