COMP1212代寫、代做Java/c++程序設計

時間:2024-05-08  來源:  作者: 我要糾錯



School of Computing: assessment brief
Module title Computer Processors
Module code COMP1212
Assignment title Assignment 2: Encryption using a Feistel Cipher
Assignment type
and description
In-course assessment. Requires design, implementation
and testing of code written in assembly language
Rationale
Provides an opportunity to write assembly code including
 understanding the implementation of branching and
functions and learn how a Feistel Cipher works for encryption.
Word
limit and
guidance
This coursework should take less than 15 hours to complete.
Weighting
60%
Submission deadline
10am
 9/5/24
Submission
method
Gradescope
Feedback provision Feedback will be provided through Gradescope
Learning outcomes
assessed
Explain how high level programming constructs, such
as ’if’ statements and ’for’ loops, are implemented at a
machine level
Module lead Andy Bulpitt
Other Staff contact Noleen K¨ohler
11. Assignment guidance
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
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,
Li+1 = Ri
Ri+1 = Li ⊕ F(Ri
, Ki)
To decrypt an encrypted message using this cipher we can apply the same procedure
in reverse. For i = n, n − 1, . . . , 0,
Ri = Li+1
Li = Ri+1 ⊕ 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) = A ⊕ ¬B.
The keys are derived from a single 8-bit key K0 such that,
K0 = b7b6b5b4b3b2b1b0
K1 = b6b5b4b3b2b1b0b7
K2 = b5b4b3b2b1b0b7b6
K3 = b4b3b2b1b0b7b6b5
2. Assessment tasks
(a) Write a program (XOR.asm) in HACK assembly that implements a bit-wise
XOR function between two 16-bit values stored in RAM[3] and RAM[4] and
stores the result in RAM[5].
[4 marks]
2(b) Write a program (Rotate.asm) in HACK assembly that implements an algorithm
to rotate the bits of a 16-bit number left (Least Significant bit (LSb) to Most
Significant bit (MSb)). The original number should be stored in RAM[3], the
number of times to rotate the bits should be in RAM[4] and the result stored in
RAM[5], i.e. 1010111100000000 rotated left 3 times would be 0111100000000101
where the MSb is used to replace the LSb on each rotation.
[8 marks]
(c) Write a program (FeistelEncryption.asm) in HACK assembly, that implements
the described Feistel encryption system. The initial key, K0, will be stored in
RAM[1], and the plaintext to be encrypted will be represented by a 16-bit value
stored in RAM[2]. The result of the encryption should be stored in RAM[0].
[10 marks]
[Total 22 marks]
3. General guidance and study support
Tools required to simulate the hardware and CPU are provided on Minerva under
Learning resources: Software. You may find it easier to implement cipher in a high
level language first. This will also allow you to test the results of your HACK program.
Support will be available during lab classes. Please ensure the files you upload work
with the test files provided and use the filenames provided in this sheet. Do not
alter the format of the lines of these test files in any way. The spacing in
each line needs to be preserved You are of course welcome to build your own
test files in the same format or add to these files.
4. Assessment criteria and marking process
This coursework will be automatically marked using Gradescope. Feedback will be
provided through Gradescope.
Marks are awarded for passing the automated tests on the submitted programs.
These will not necessarily be the same tests that are provided to help you develop
the solution. You should therefore test your solution thoroughly using other values
for the plaintext and keys before your final submission.
5. Presentation and referencing
Submitted code should provide suitable comments where possible.
6. Submission requirements
Links to submit your work can be found on Minerva under Assessment and feedback/Submit
my work. The HACK assembly (asm) files for each part must be uploaded
individually. Ensure you use only the filenames provided in this specification
sheet.
37. Academic misconduct and plagiarism
Academic integrity means engaging in good academic practice. This involves essential
academic skills, such as keeping track of where you find ideas and information and
referencing these accurately in your work.
By submitting this assignment you are confirming that the work is a true expression
of your own work and ideas and that you have given credit to others where their
work has contributed to yours.
8. Assessment/marking criteria
No marks will be awarded for tests which fail
• Part a) is graded using 4 tests, each worth 1 mark. [max 4 marks]
• Part b) is graded using 4 tests, each worth 2 marks. [max 8 marks]
• Part c) is graded using 4 tests, each worth 2 marks and a further 2 marks for
optimised solutions that require a lower number of operations to complete the
encryption [max 10 marks]
[Total 22 marks]
4

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





















 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代做COCMP5328、代寫Python設計程序
  • 下一篇:代做DSA1002、代寫Java/c++設計編程
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 福建中專招生網 NBA直播 短信驗證碼平臺 幣安官網下載 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    91中文字幕yellow字幕网| 亚洲AV永久青草无码精品| 无码人妻精品一区二区三区在线| 亚洲一本大道无码av天堂| 亚洲成AV人片在线播放无码| 中文精品一卡2卡3卡4卡| 亚洲精品97久久中文字幕无码| 无码乱人伦一区二区亚洲一| 无码爆乳护士让我爽| 日韩中文字幕在线观看| 无码人妻精品一区二区三区99不卡| 亚洲色偷拍另类无码专区| 最近2019免费中文字幕6| 中文无码久久精品| 亚洲AⅤ无码一区二区三区在线 | 人妻无码久久精品| 久久亚洲AV成人出白浆无码国产| 一区二区三区人妻无码| 久久中文字幕视频、最近更新| 中文字幕久久波多野结衣av| 无码精品人妻一区二区三区免费| av潮喷大喷水系列无码| 国产激情无码一区二区| 人妻夜夜添夜夜无码AV| 久久AV高清无码| 国产成人无码久久久精品一| 狠狠躁天天躁无码中文字幕图| 亚洲AV无码久久精品狠狠爱浪潮| 超清无码熟妇人妻AV在线电影| 精品无码成人片一区二区98 | 亚洲精品无码MV在线观看| 无码毛片AAA在线| 国产成人无码AV一区二区在线观看| 一本一道色欲综合网中文字幕| 日本一区二区三区中文字幕| 久久无码AV中文出轨人妻| 最近的2019免费中文字幕| 亚洲人成无码网站在线观看| 国产台湾无码AV片在线观看| 亚洲精品无码久久久久| 国产精品无码av在线播放|