1. Homepage
  2. Programming
  3. COMP1212/XJCO1212 Computer Processors - Coursework Feistel cipher

COMP1212/XJCO1212 Computer Processors - Coursework Feistel cipher

Engage in a Conversation
COMP1212XJCO1212Computer ProcessorsFeistel cipherHDLHACK AssemblyAssembly

Resit coursework CourseNana.COM

Computer Processors (COMP1212/XJCO1212) CourseNana.COM


CourseNana.COM


CourseNana.COM

You should follow the instructions below on how to prepare your submission. Late sub- missions are not accepted without mitigating circumstances. Feedback on late submissions may not be provided within 3 weeks of submission. CourseNana.COM

Submission You must submit your work via Gradescope.
Deadline See Gradescope.
Weighting This piece of summative coursework is worth 25% of the module grade. CourseNana.COM


CourseNana.COM


CourseNana.COM

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 hardware component and as a software implementation. 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,...,n, CourseNana.COM

Li+1 = Ri
Ri+1 =Li F(Ri,Ki) CourseNana.COM

To decrypt an encrypted message using this cipher we can apply the same procedure inreverse. Fori=n,n1,...,0, CourseNana.COM

Ri = Li+1
Li =Ri+1 F(Li+1,Ki) CourseNana.COM

For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds. The function F (A, B) = A B. The keys are derived from a single 8-bit key K0 such that, CourseNana.COM

K0 = b7b6b5b4b3b2b1b0 CourseNana.COM

K1 = b6b5b4b3b2b1b0b7 CourseNana.COM

K2 = b5b4b3b2b1b0b7b6 CourseNana.COM

K3 = b4b3b2b1b0b7b6b5 CourseNana.COM

1. Produce an implementation, in HDL, of the described Feistel encryption scheme. The chip should have the following preamble. CourseNana.COM

  CourseNana.COM

1     CHIP FeistelEncryption { CourseNana.COM

2         IN plaintext[16], key[8]; CourseNana.COM

3         OUT ciphertext[16]; CourseNana.COM

4   PARTS: } CourseNana.COM

  CourseNana.COM

2. Write a program in HACK assembly, without using symbols, that implements the described Feistel encryption system. The initial key, K0, will be stored in RAM[1], and the 16-bit plaintext will be stored in RAM[2]. The result of the encryption should be stored in RAM[0]. Your solution should be submitted in a file called “FeistelEncryption.asm”. CourseNana.COM

You may use any RAM locations not specified in the description for intermediate variables. CourseNana.COM

Question 1 is worth 10 marks, and Question 2 is worth 15 marks. CourseNana.COM

  CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
COMP1212代写,XJCO1212代写,Computer Processors代写,Feistel cipher代写,HDL代写,HACK Assembly代写,Assembly代写,COMP1212代编,XJCO1212代编,Computer Processors代编,Feistel cipher代编,HDL代编,HACK Assembly代编,Assembly代编,COMP1212代考,XJCO1212代考,Computer Processors代考,Feistel cipher代考,HDL代考,HACK Assembly代考,Assembly代考,COMP1212help,XJCO1212help,Computer Processorshelp,Feistel cipherhelp,HDLhelp,HACK Assemblyhelp,Assemblyhelp,COMP1212作业代写,XJCO1212作业代写,Computer Processors作业代写,Feistel cipher作业代写,HDL作业代写,HACK Assembly作业代写,Assembly作业代写,COMP1212编程代写,XJCO1212编程代写,Computer Processors编程代写,Feistel cipher编程代写,HDL编程代写,HACK Assembly编程代写,Assembly编程代写,COMP1212programming help,XJCO1212programming help,Computer Processorsprogramming help,Feistel cipherprogramming help,HDLprogramming help,HACK Assemblyprogramming help,Assemblyprogramming help,COMP1212assignment help,XJCO1212assignment help,Computer Processorsassignment help,Feistel cipherassignment help,HDLassignment help,HACK Assemblyassignment help,Assemblyassignment help,COMP1212solution,XJCO1212solution,Computer Processorssolution,Feistel ciphersolution,HDLsolution,HACK Assemblysolution,Assemblysolution,