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





















             

            標簽:

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

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

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

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

            主站蜘蛛池模板: 人妻av无码一区二区三区| 国产伦精品一区三区视频| 狠狠做深爱婷婷久久综合一区| 一区二区三区在线播放| 亚洲AV无码一区二区三区牲色| 国产日韩精品一区二区三区在线| 在线电影一区二区三区| 性色A码一区二区三区天美传媒| 中文字幕一区在线观看| 日韩高清一区二区三区不卡| 中文字幕日韩精品一区二区三区| 国产高清不卡一区二区| 99精品国产高清一区二区三区| 国产av夜夜欢一区二区三区| 亚洲字幕AV一区二区三区四区| 亚洲国产美国国产综合一区二区 | 精品熟人妻一区二区三区四区不卡| 好吊视频一区二区三区| 一区二区三区视频免费| 无码精品前田一区二区| 久久se精品一区精品二区国产| 人妻无码一区二区三区| 一区二区三区免费视频播放器| 秋霞鲁丝片一区二区三区| 一区二区三区视频免费| 久久久久人妻一区精品| 激情内射日本一区二区三区| 中文字幕色AV一区二区三区 | 又紧又大又爽精品一区二区| 日本一区二区三区不卡在线视频| 成人h动漫精品一区二区无码| 精品久久综合一区二区| 国产成人高清亚洲一区久久| 国产中文字幕一区| 秋霞鲁丝片一区二区三区| 国产成人精品亚洲一区| 精品伦精品一区二区三区视频| 中文人妻无码一区二区三区 | 国产中文字幕一区| 国产成人高清视频一区二区| 精品视频一区二区三区在线观看|