FIT1093 Assignment 1 Part 2
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
FIT1093 Assignment 1 Part 2
Submission Guidelines and Tasks
Guidelines Details: Please read it carefully before attempting the assessment
● Deadline: Assignment 1, Part 2, is due by 19 September 2025 at 11:55 p.m. (Melbourne, Australia time). This task is individual (not group) work and must be submitted separately by each student.
Submission:
● Task A.2: numerical and boolean responses via a Moodle quiz link (Task A.2).
● Tasks other than Task A.2: a pdf document via submission link on Moodle Assessments page. Your pdf document must be at most 15 pages.
● Submission Status: Marking is only available for submissions in the ‘Submitted’ status. NO grading will be given for the status of ‘Draft’.
● Revert Submission: NO reversion of the Submitted status to draft will be offered.
● Plagiarism: It is an academic requirement that your submitted work be original. Zero marks will be awarded for the whole submission if there is any evidence of copying, collaboration, pasting from websites, or copying from textbooks.
● Use of Generative AI tools: ChatGPT or other AI tools may be used for study purposes, to learn about your topic, and to develop your assignment. However, similar to citation requirements for other references, you must include an explicit declaration of all generative AI tools used (e.g., ChatGPT, DALL-E, Grammarly, voice-to-text), detailing how and where you have used them. Examples of declaring the use of AI can be found at
https://www.monash.edu/student-academic-success/build-digital-capabilities/create
-online/acknowledging-the-use-of-generative-artificial-intelligence#tabs__3254796-0 1.
● Data File: Required data and numerical parameter files for the assignment will be available for download via the Moodle quiz link on the Moodle Assessment page.
Notes
● You can use the SageMath tool to perform any calculation necessary for this assignment. The sagemath web interface is available at: https://sagecell.sagemath.org/ .
● For each question, you need to answer both the computation result question and the explanation questions about your working process such as the source code or the commands you are using to solve the tasks.
● Suppose the numbers in this assignment are given in hexadecimal format. In that case, your written answer and many software packages expect hexadecimal numbers to be entered with a ‘0x’ prefix (e.g., ‘0x a0b1c2d3’) to denote the hexadecimal format and lowercase letters.
● Try small examples from lecture notes, lab contents (including extra exercises), or other resources to ensure you are using the correct format for the tools and the right equation before applying the given values.
● Helpful hints: xxd -ps [filename] to view the hex value of a binary file, and tar -xvf [filename] to extract the files from a .tar archive file.
Marks
● Assignment 1, Part 2, is worth 20% of the total unit marks.
● Assignment 1, Part 2 is marked out of 100 total marks. Each mark in Task 1 is therefore worth 0.2% of the overall unit marks.
|
Criteria |
(max marks for the task) |
|
Task A.1 |
(5 marks) |
|
(1) Order of the flow (2) Use of appropriate decryption and integrity mechanisms |
5 |
|
Task A.3 |
(5 marks) |
|
(1) Screenshots of decryption and verification commands (2) Steps / Order of commands to complete decryption/verification |
5 |
|
Task B.1 |
(10 marks) |
|
Feasibility or Infeasibility of attack and explanation |
4 |
|
If feasible to attack: Specification of attack, explanation of how it works, and Demo of attack commands If Infeasible to attack: list of reasons and assumptions for why it is not vulnerable to attack |
6 |
|
Task B.2 |
(5 marks) |
|
Diagram of decryption |
5 |
|
Task B.3 |
(15 marks) |
|
Feasibility or Infeasibility of attack and explanation |
3 |
|
If feasible to attack: Specification of attack, explanation of how it works, and Demo of attack commands If Infeasible to attack: list of reasons and assumptions for why it is not vulnerable to attack |
12 |
|
Task C |
(15 marks) |
|
Name the tool and explain how to apply the tool |
5 |
|
Diagram of modified SecPay method |
5 |
|
Explanations and demonstration of remediation by commands |
5 |
|
Task D |
(15 marks) |
|
Name the tool and explain how to apply the tool |
5 |
|
Diagram of modified SecPay method |
5 |
|
Explanations and demonstration remediation by commands |
5 |
|
Task E |
(10 marks) |
|
Name and explanation of the Vulnerability in Task D |
2.5 |
|
Name and explanation of the Remediation |
2.5 |
|
Demo of remediation by commands and size comparison |
5 |
Assignment 1 Part 2: Banking App Transaction Encryption (100 Marks)
The software development department of a bank developed a new phone banking payment app. The project manager, Hayley, asked you to test the functionality and security of a secure payment transaction encryption method called SecPay. This method was designed by the bank’s software developers using the AES-256 block cipher, to protect both confidentiality and authenticity/integrity of customer banking transactions using the app.
Hayley suggests that to initialise the SecPay banking app, a customer named Alice will carry out a key exchange process. For this task, Hayley said that you may assume the app initialisation stage has already been completed, resulting in the following information shared between the bank and the customer, Alice:
● A public 32-bit customer account ID number IDA for Alice ● A private AES-256 key KA, known only to the bank and Alice.
Hayley sent you the following proposal for the banking transaction encryption method. To encrypt a transaction payment amount P from Alice’s account with account number IDA to another customer Bob’s account with account number IDB, the paying customer Alice’s app follows the pseudocode steps in the Encryption Algorithm specification in Fig. 1.
Input: Transaction details for encryption:
a. 32-bit customer account ID number IDA for payer Alice
b. 32-bit customer account ID number IDB for payee Bob
c. 32-bit payment amount P
d. 256-bit AES-256 key KA shared by bank and Alice
1. Prepare a random 128-bit private transaction number, TranNo.
2. Form a second 128-bit block m = P || IDA || IDB || Z.
Here, || denotes concatenation of strings. So m is the concatenation of FOUR 32-bit strings:
● The first 32-bit string P is payment amount in cents represented in binary,
● The second 32-bit string IDA is the payer (sender) Alice’s account ID,
● The third 32-bit string IDB is the payee (receiver) Bob’s account ID,
● The fourth 32-bit string Z is an integrity sumcheck to allow Bob to verify the integrity of the transaction. It is computed by Alice by the XOR function as follows: Z = P ⊕ IDA ⊕ IDB .
3. Encrypt the bit string (TranNo || m) using AES-256 in the CBC mode of operation, with the secret key KA and a random IV to get a ciphertext C. Refer to Fig. 2 below for an illustration.
Output: Encrypted transaction (IV, C) to be sent by Alice’s app to the bank server over the Internet.
Fig. 1. Specification of the SecPay encryption method.
Fig. 2. Block diagram of the SecPay Transaction Encryption method.
Your goal: Hayley has asked you to test and evaluate the functionality and security of this design, as well as the implementation of the SecPay transaction encryption method.
A tar file given in Moodle link contains the following files:
● aeskey_<variant no>.txt: contains KA and IV for C1, C2 and C3
● c_aes_<variant no>_1.bin contains C1
● c_aes_<variant no>_2.bin contains C2
● c_aes_<variant no>_3.bin contains C3
Use the command tar -xvf <tarfile> (where <tarfile> should be replaced by your tar file name) to decompose the tar file into the above files.
Task (A): Functionality Testing (30 marks) Haley sent you TWO sample encrypted transactions. They were encrypted by Alice to Bob using the OpenSSL cryptographic tool. The sample key KA and IV given in the Module quiz. The KA and two transaction ciphertexts C1 and C2 are also available in the Moodle quiz.
Task (A.1) (5 marks) Draw the block diagram of the decryption and integrity verification method used by the bank server to decrypt and verify the integrity of Alice’s transaction. Your diagram should follow a similar format as Fig. 2. Your diagram should show the plaintext output as well as the transaction integrity verification check and how it is computed.
Task (A.2) (20 marks) Following the steps of your decryption/verification method block diagram from (A.1), decrypt and verify the provided ciphertexts C1 and C2 , and enter into the Moodle quiz for each ciphertext, the decrypted values of TranNo, payment amount P, the identities IDA and IDB, and the checksum value Z. Each of those values should be written in hex format as follows: 0x<value> (where <value> indicates a sequence of hex digits in lower case, (e.g. 0x5a35). Also indicate the decryption integrity check result (accept or reject) for the TWO ciphertexts C1 and C2.
Responses of this task (Task A.2) must be submitted via the Moodle Quiz link “Assignment 1 Part 2: Task A.2 Submission Quiz” on the Moodle Assessments page. They are not graded in the pdf report submission which is only for the tasks other than Task A.2.
Task (A.3) (5 marks) Give the screenshots of the code you used to compute the answer in (A.2) for ONE of the ciphertexts C1 or C2
Note: for this task, you may refer to the materials in Applied Sessions for Week 3 and Week 5.
Task (B): Security Testing (30 marks) For security of SecPay, Hayley has asked you to consider the following questions. For those questions, you may assume that the initialisation process that establishes the shared key KA is secure, and the attacker, Marvin, is another bank customer who does not know the key KA shared between Alice and the bank.
(B.1) (10 marks) Confidentiality: Can Marvin, who intercepts Alice’s encrypted transaction C3 on its way to the bank, find any information about the transaction ID, payer identity, payee identity or the transaction amount?
If you think such an attack by Marvin is feasible,
● explain how such an attack by Marvin works, and
● write the specification of the attack steps in pseudocode. Please format your attack pseudocode similarly to the format of the specification pseudocode steps for the SecPay algorithm in Fig. 1.
● provide command screenshots to show an example how you implemented the attack steps (with any of the tools used in our Applied Sessions) to compute any information on the transaction information from the given ciphertext C3.
If you think such an attack by Marvin is not feasible, explain why not and list the reasons and assumptions for why not.
(B.2) (5 marks) Draw a block diagram of the AES-256 CBC Mode Decryption operation inside the SecPay decryption method from Task (A.1). Ensure that your diagram shows how the CBC mode decryption handles each ciphertext block and the contents of each plaintext block in terms of the transaction fields. Your block diagram should show each operation of the AES-256 block cipher encryption or decryption algorithm as a single block, similar to the block cipher mode diagrams in the lectures. You may use the Word format diagram of Fig. 2. Available for download Asg1Part2_Fig2.docx in Submission Link as a starting point for your diagram, or draw your own (clear images of hand-drawn figures are also fine).
(B.3) (15 marks) Integrity/Authenticity: Based on your block diagram from (B.2), can Marvin modify the encrypted transaction C3 into another encrypted transaction C4 so that when the bank decrypts C4, its transaction integrity check passes successfully, and a larger payment amount PM > P is paid from Alice to into Marvin’s account with ID number IDM?
In this task, assume Marvin knows the values P and IDA || IDB , which are the ones you used in the decryption of C3 from Task (A.2). (However, recall that Marvin does NOT know the key KA).
If you think such an attack by Marvin is feasible,
● explain how such an attack by Marvin works, and
● write the specification of the attack steps in pseudocode. Please format your attack pseudocode similarly to the format of the specification pseudocode steps for the SecPay algorithm in Fig. 1.
● provide command screenshots to show an example how you implemented the attack steps (with any of the tools used in our Applied Sessions) to compute the modified ciphertext C4 from the given ciphertext C3.
If you think such an attack by Marvin is not feasible, list and explain the reasons and assumptions for why not.
Task (C): Security Mechanism (15 marks) Based on your security testing results for Confidentiality and Integrity/Authenticity of SecPay encrypted transactions, Hayley requested you to provide:
● Your suggestions for necessary security enhancements to the SecPay encryption method, and
● A block diagram of your modified SecPay transaction encryption method, (modification of Fig. 2).
● SageMath and/or OpenSSL code screenshots to demonstrate how it can be used to encrypt the transaction information instead of C3 provided in (B.1),
Task (D): Transaction Log for Dispute Resolution (15 marks) Hayley requested that you modify the SecPay transaction protocol to ensure that, in the event of a dispute over a payment, the bank can demonstrate to any third party (such as a judge) that the payer authorised the transaction.
You should:
● Explain how to modify the SecPay encryption method to support this dispute resolution. Explain any changes to the App initialization process required.
● Provide a block diagram (in Fig. 2 format) of your modified encryption method, and
● SageMath and/or OpenSSL code screenshots to demonstrate how it can be used to encrypt the transaction information instead of C3 provided in (B.1).
Task (E): Quantum Resistance (10 marks) Hayley realised to comply with government recommendations, the solution in (D) would need to be resistant to quantum attacks. She asked you to:
● Explain whether your modified SecPay protocol in Task (D) is secure against quantum computing attacks, and your reasoning.
● If not, explain how your solution in Task (D) can be modified to provide quantum attack resistance,
● Provide OQS-OpenSSL command screenshots to demonstrate how it can be used to encrypt the transaction information of C3 provided in (B.1).
● What is the encrypted transaction size for your solution? How does it compare to the encrypted transaction size for the solution in Task (D)?
2025-09-20