代写FIT5124 - Assessment 1代做Java语言

FIT5124 - Assessment 1

DEADLINE: 4 April 2025, 11.55PM (Melbourne time)

TOTAL MARKS: 100

1 Overview

The learning objective of this assessment is for you to gain experience in analysing and implementing zero- knowledge proofs.

This is an individual assessment and you are not allowed to discuss any aspect of it with others (excluding teaching team members). Failing this requirement (e.g. helping other students, discussing solutions towards answering assessment questions in any platform) will result in penalties in accordance with the Uni- versity’s Academic Integrity guidelines:

https://www.monash.edu/students/academic/policies/academic-integrity

2 Submission Policy

You need to submit exactly two files on Moodle: (i) one written report answering the questions in Section 4, and (ii) one SageMath file answering the implementation questions in Section 5. Your report must be in PDF format and implementation code must have  .sage file extension. Name your files in the format: [Your Name]-[Student ID]-FIT5124-A1 (followed by file extension such as pdf, sage, etc).

The report should include your name and student ID at the top of Page 1. Please do not spend time trying to come up with a ‘fancy’ cover page. The report should be prepared in 11pt Arial font.

Important notes and penalties

It is the student’s responsibility that the submitted PDF file can be opened on a standard Windows computer  (without  requiring  specialised  software),  and that the images and texts included are clearly visible/understandable/readable (in English). If the PDF file cannot be opened, you will receive zero mark. Similarly, it is the student’s responsibility that the submitted SageMath implementation file can be run in SageMath 10.5. If the SageMath file cannot be run in SageMath 10.5, you will receive zero mark for the implementation question. After making a draft submission (before finalising it), we recommend you to download your uploaded assessment files and check that they open and run properly. Once you finalise your submission, you will not be able to revise it.

Note that draft files are NOT accepted and will not be marked. You must finalise your submission (with status shown as “submitted for grading”) for your assessment to be considered as valid. Otherwise, standard late submission penalty will apply.

Maximum number of pages allowed for the report is 3. Any content exceeding the 3-page limit will be disregarded and not marked.

Maximum number of characters allowed for the implementation code is 8,000. Any content exceeding the 8,000-character limit will be disregarded and not marked.

Late submissions incur a 5-point deduction per day. For example, if you submit 2 days and 1 hour late, that incurs 15-point deduction. Submissions more than 7 days late will receive a zero mark.

If you require extension or special consideration, refer to https://www.monash.edu/students/admin/ assessments/extensions-special-consideration. No teaching team member is allowed to give you extension or special consideration, so please do not reach out to a teaching team member about this. Follow the guidelines in the aforementioned link.

Zero tolerance on plagiarism and academic integrity violations: If you are found cheating, penalties will apply, e.g., a zero grade for the unit. The demonstration video is also used to detect/avoid plagiarism. Univer-sity policies can be found at https://www.monash.edu/students/academic/policies/academic-integrity.

All questions in the assessment are marked against technical correctness, clarity of explanations and quality of presentation. For example, if an answer is not presented well, you may not receive full marks even if the answer has the right technical ideas.

3 Scenario for the Assessment

Suppose that we have a cyclic (multiplicative) group G = ⟨g〉of prime order n. We assume that the discrete logarithm problem in G is computationally hard (which implies that n is very large and particularly n > 2128). Let h be another random generator of G (i.e., the discrete logarithm relation between h and g is unknown).

Compute the following value based on your Monash student ID

id = Student_ID mod 1000.

That means, id is the last three digits of your Monash student ID. The questions in this assessment will be based on the id value.

IMPORTANT. You must use the correct id value to have your assessment considered for marking. Using an incorrect id value will make your assignment submission invalid and you will receive zero mark without further consideration.

Let’s assume that we have a prover, Patrick, and a verifier, Victoria. Patrick wants to convince Victoria of the following “Patrick’s relation”

R pat = { ((g, h, v); (m, s)) :    v = gm hs Λ m {0, id}  } .

To prove the above relation, the interactive protocol between Patrick and Victoria works as follows.

0.  Patrick has ((g, h, v); (m, s)) and Victoria has (g, h, v) as protocol input.

1. Patrick: generate random f, r1 , r2  ∈R Zn

2. Patrick: compute a1 = gf hr1   and a2 = gf·m hr2

3. PatrickVictoria: send a1 , a2

4. Victoria: sample random c ∈R Zn

5. VictoriaPatrick: send c

6. Patrick: compute z = f + cm, k1  = r1 + cs and k2  = r2 + s(id · c — z)     (all computed mod n)

7. PatrickVictoria: send z, k1 , k2

8. Victoria: Check all of the following: gz hk1   =? vca1 ;     and hk2   =?  vid·c—za2 . If all checks pass, then Victoria accepts the proof. Otherwise, she rejects the proof.

(here, we assume that Victoria also checks a1 , a2  ∈? G; and z, k1 , k2  ∈? Zn, but don’t write them out explicitly) We call the above protocol “PV protocol”.

4 Zero-Knowledge Proof - Analysis [70 marks]

4.1 Protocol diagram [10 marks]

Draw a diagram for the PV protocol in Section 3 clearly demonstrating the interaction between Patrick and Victoria. Your diagram must follow a similar structure as in the Schnorr’s ID protocol presented in the lecture notes. You can, for example, use any of the following methods for drawing:

hand drawn diagram (with its clearly visible screenshot attached to the assessment report), PowerPoint,

cryptocode library in Latex (https://ctan.org/pkg/cryptocode?lang=en).

You are welcome to use any other method. In the end, your diagram must be clearly visible without any confusing parts. The order of the operations must also be clearly understandable (as in the Schnorr’s ID protocol presented in the lecture notes). You may not get full marks if there is any unclarity. The only hand-written part allowed in the assessment is this question; for all other questions, no hand-written submission is accepted.

The diagram must be added to the PDF report with label ‘Q1’.

4.2 Completeness analysis [10 marks]

Prove the completeness of the PV protocol in Section 3. The proof must be added to the PDF report with label ‘Q2’.

4.3 Soundness analysis [25 marks]

Prove the special soundness of the PV protocol in Section 3. The proof must be added to the PDF report with label ‘Q3’.

4.4 Zero-knowledge analysis [25 marks]

Prove the honest-verifier zero-knowledge property of the PV protocol in Section 3. The proof must be added to the PDF report with label ‘Q4’.

5 Zero-Knowledge Proof - Implementation [30 marks]

The implementation must be done in SageMath tool as used in the unit (https://www.sagemath.org/). If your submitted code does not run in SageMath 10.5, you will receive zero mark for the whole implementation part of the assessment.

Your implementation must also properly and meaningfully build on the A1_code .sage file provided in the assessment Moodle page. Failure to meet this requirement will make your implementation invalid and you will receive zero mark for the whole implementation part of the assessment.

5.1    Interactive protocol implementation [22 marks]

Implement the PV protocol in Section 3 in SageMath. The implementation must satisfy the following:

1. have the following functions: commitment, challenge, response, and verify, and

2. generate a protocol transcript using the above functions and run the verify algorithm to check and print the result of verification.

5.2    Conversion to non-interactive variant  [8 marks]

Extend the implementation code above to support running the PV protocol in Section 3 as a non-interactive protocol via the Fiat-Shamir transformation. As instructed in the A1_code .sage file, your final implementation must use the variable MODE to switch between “Interactive” and “Non-interactive” modes of running the protocol.

Submit your final implementation code as a  .sage file on Moodle.


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图