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)?