Multi-party computation (MPC) is a cryptographic method for secure distributed execution of computations. In an MPC system, multiple participants collaboratively work on a computation, such as data analysis. Each participant contributes a portion of the data, with this data remaining confidential even during the computation. Hence, no participant learns anything about the data of the other participants.
A special case of MPC applications is computation on data from data catalogues, where users provide encrypted data for an MPC system. In this process, a user’s data is divided using cryptographic techniques (secret sharing) and encrypted for individual nodes of the MPC system. A user can then perform a computation on this data, while the MPC system learns nothing about the data except the result of the computation. The user providing the data must trust the system to only perform authorized computations on the data.
The objective of this project is to enhance such an MPC system with an access control mechanism, allowing users to retain control over their data. Additionally, it aims to prevent the MPC system from learning anything about the computation’s result, ensuring that only authorized users can access it.