A practical engine for Secure Multiparty Computation (SMPC) that is part of privacy-enhancing technologies (PETs). QuickMPC can perform computations on personal data used in fundamental static calculations while keeping confidentiality.
This will enable businesses and engineers worldwide to use Python client libraries to easily develop SaaS products that utilize SMPC functions without the need for expert SMPC knowledge.
You can easily describe a process using SMPC as follows:
make
docker
docker-compose
vscode-yaml-sort
The demonstration with libClient-py
- memory:
16 GB
- storage:
20 GB
- Change your current directory into
scripts/
cd QuickMPC/scripts
- Launch all containers
make debug t=./manage_container
- Execute libClient Demo
- Change your current directory into
scripts/
cd QuickMPC/scripts
- Run test
# Testing all containers
make test
# Only the Computation Container test
make test t=./computation_container/
# Only the Manage Container test
make test t=./manage_container/
This section is usefule when you want to stand 2 containers and dare to test manually.
make debug t=./computation_container # Launch of the dev_cc{1,2,3}
make debug t=./manage_container # Then, all container is launched
- Change your current directory
cd packages/server/computation_container
- Start the container and enter the container
make upd
make login
cd QuickMPC
- Develop and bulid and test
# build
bazel build //:all
# test
bazel test ... --test_env=IS_TEST=true --test_output=errors
The files generated by bazel can be removed by running the following in the /QuickMPC
directory in the container
bazel clean
- Change your current directory
cd packages/server/manage_container
- Start the container and enter the container
make upd
make login
- Develop and bulid and test
# Create a vendor directory directly under QuickMPC and copy all dependent packages
go mod vendor
# build
go build
# test
go test ... -v