Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Overview The aim of the project is to show how simple functions can be computed privately using MPC . You must implement a simple Yao

Overview The aim of the project is to show how simple functions can be computed privately using MPC. You must implement a simple Yao protocol for two parties (with AES). You can choose from the following functions: Maximum of two sets of values Minimum of two sets of values One of the common elements in two sets of values Values must be taken from the set of integers. What you should get out of this. Distributed computing is among the biggest growth areas in Cybersecurity. Familiarity with some of the basic concepts is vital: we provide some theoretical background about the fundamental techniques in the course, and the project gives you a chance to get hands on. Because the level of difficulty of the topic is high, we dont pack this into a lab sheet, but give you more time to deal with the challenge, and also offer more points as a reward. Assessment There is a submission point set up in Moodle, where you must submit all files compressed into a single .zip file. We only accept submissions in this particular way, anything else will be awarded 0 points. Detailed Requirements for the Project The following list contains strict requirements for the project. Any deviation will lead to a project with 0 points. Introduction to Cybersecurity-1 Rule 1: The implementation must be done in Python. Rule 2: The submission must be via single .zip file in Moodle prior to the deadline. Rule 3: Your implementation must be able to deal with integers of at least four bits. Rule 4: Your implementation must take the inputs from Alice and Bob from two differ- ent files, with names Alice.txt and Bob.txt. Rule 5: Your implementation must explicitly store the following (intermediate) outputs: the circuit that Alice produces (as a JSON file), the OT between Alice and Bob, and the verification function (which returns 0/1) of the results (which is according to Yaos protocol). Rule 6: Your implementation must run without errors on a single machine. Rule 7: Your implementation must be based on the library https://github.com/ojroques/garbled-circuit. Rule 8: Your implementation must include some documentation, which we detail below. You must supply documentation via a dedicated pdf file. The filename must be con- sisting of your names: firstname lastname.pdf. The file must contain the following information: 1. The version(s) of Python that your submission can be run under. 2. How to call the script, including the definition of any input parameters. 3. State clearly which function you have implemented. 4. Give a description of the circuit of the function. 5. Describe the protocol flow between Alice and Bob as pseudocode. 6. Any other information that is necessary to run your submission, as a howto: we will follow your instructions, if you submission fails to run successfully, we do not start to debug and look for the reasons why it fails! Grading scheme The project contributes 30% to the overall grade, which translates to 30 points. These 30 points will be awarded in the following way: Introduction to Cybersecurity-210 points: Up to 10 points are awarded for the documentation, whereby 5 of these points are attributed to the clarity of your description for the circuit functionality, and the interaction between Alice and Bob. 15 points: Up to 15 points are awarded for the implementation of the garbled circuit of your chosen function. 5 points: Up to 5 points are awarded for the coding style, e.g. writing intelligent com- ments in your code. We require you to use the library from https://github.com/ojroques/garbled-circuit in your implementation. Deviation from this rule (or any of the rules) results in 0 points in the project. Should you choose to utilise additional libraries, then these libraries must be mentioned under other information in your documentation. Should you use code snippets from other resources, you must indicate clearly (both in the code and under other information) which code snippets you have taken and from where. Failure to clearly indicate borrowed code is considered plagiarism, and you get 0 points. Obvi- ously, borrowing the entire MPC functionality from a colleague, even if you indicate this, will result in 0 points as well.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions

Question

Explain the process of Human Resource Planning.

Answered: 1 week ago