Welcome to the Multiparty Computation Final Project repository! This repository contains resources and code related to multiparty computation (MPC). The project focuses on various topics within MPC, including setting and definitions, oblivious transfer, Yao's protocol, GMW protocol, SPDZ protocol, BGW protocol, Shamir's secret sharing scheme, garbled circuits, and more.
Please note that the repository includes a PDF file providing overall information about MPC, including definitions and explanations of the protocols and techniques used. Additionally, there are two Python files available: bgw.py and yao_protocol.py, which provide implementations of the BGW protocol and Yao's protocol, respectively.
Multiparty computation (MPC) is a field of cryptography that enables multiple parties to jointly compute a function over their private inputs without revealing individual inputs to each other. It ensures privacy and security while allowing collaboration and computation on sensitive data.
This final project repository is designed to provide an understanding of various protocols and techniques used in MPC. The accompanying PDF file provides an overview of MPC, including key concepts, definitions, and explanations of the protocols and techniques covered.
The project covers several important protocols and techniques used in MPC. These include, but are not limited to:
- Oblivious transfer
- Yao's protocol
- GMW protocol
- SPDZ protocol
- BGW protocol
- Shamir's secret sharing scheme
- Garbled circuits
The accompanying PDF file dives into the details of these protocols and techniques, explaining their principles and how they contribute to secure multiparty computation.
This repository includes the following files:
bgw.py: This Python file provides an implementation of the BGW protocol, which is a well-known protocol used in MPC. The file contains the necessary code to perform secure multiparty computation using the BGW protocol.yao_protocol.py: This Python file provides an implementation of Yao's protocol, another prominent protocol in MPC. The file contains the code required to execute secure multiparty computation using Yao's protocol.
Feel free to explore these files to better understand the implementation details of the protocols mentioned above.
Contributions to this repository are welcome. If you have any improvements, bug fixes, or additional implementations to suggest, please feel free to open a pull request. Your contributions can help enhance the learning experience for others interested in multiparty computation.
We would like to acknowledge the valuable resources and references that have contributed to the information and implementations in this repository. The accompanying PDF file includes references to these resources, which are recommended for further study in the field of multiparty computation.
We hope this repository and the accompanying PDF file provide you with a comprehensive understanding of multiparty computation and its various protocols and techniques. Feel free to explore the code implementations and dive deeper into the field by referring to the provided resources.
Happy learning and exploring multiparty computation!