# FBPCP (Facebook Private Computation Platform)
[Secure multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) (also known as secure computation, multi-party computation (MPC), or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties to jointly compute a function over their inputs while keeping those inputs private.
FBPCP (Facebook Private Computation Platform) is a secure, privacy safe and scalable architecture to deploy MPC (Multi Party Computation) applications in a distributed way on virtual private clouds. [FBPCF](https://github.com/facebookresearch/fbpcf) (Facebook Private Computation Framework) is for scaling MPC computation up via threading, while FBPCP is for scaling MPC computation out via [Private Scaling](https://github.com/facebookresearch/fbpcp/blob/main/docs/PrivateScaling.md) architecture. FBPCP consists of various services, interfaces that enable various private measurement solutions, e.g. [Private Lift](https://github.com/facebookresearch/fbpcf/blob/master/docs/PrivateLift.md).
[Private Scaling](https://github.com/facebookresearch/fbpcp/blob/main/docs/PrivateScaling.md) resembles the map/reduce architecture and is secure against a semi-honest adversary who tries to learn the inputs of the computation. The goal is to secure the intermediate output of each shard to prevent potential privacy leak.
## Installation Requirements:
### Prerequisites for working on Ubuntu 18.04:
* An AWS account (Access Key ID, Secret Access Key) to use AWS SDK (boto3 API) in FBPCP
* python >= 3.8
* python3-pip
## Installing prerequisites on Ubuntu 18.04:
* python3.8
```sh
sudo apt-get install -y python3.8
```
* python3-pip
```sh
sudo apt-get install -y python3-pip
```
## Installing fbpcp
```sh
python3.8 -m pip install 'git+https://github.com/facebookresearch/fbpcp.git'
# (add --user if you don't have permission)
# Or, to install it from a local clone:
git clone https://github.com/facebookresearch/fbpcp.git
python3.8 -m pip install -e fbpcp
# (add --user if you don't have permission)
# Or, to install it from Pypi
python3.8 -m pip install fbpcp
```
## Upgrading fbpcp
* To latest version in github main branch
```sh
python3.8 -m pip uninstall fbpcp
# uninstall fbpcp first
python3.8 -m pip install 'git+https://github.com/facebookresearch/fbpcp.git'
# (add --user if you don't have permission)
# re-install fbpcp from github repository
```
* To latest version in Pypi
```sh
python3.8 -m pip install fbpcp --upgrade
```
## Architecture
<img src="https://github.com/facebookresearch/fbpcp/blob/main/docs/PCPArch.jpg?raw=true" alt="Figure 1: Architecture of FBPCP" width="50%" height="50%">
### Services:
* MPCService is the public interface that provides APIs to distribute a MPC application with large dataset to multiple MPC workers on cloud.
### [Other components](https://github.com/facebookresearch/fbpcp/blob/main/docs/FBPCPComponents.md)
## Join the FBPCP community
* Website: https://github.com/facebookresearch/fbpcp
* See the [CONTRIBUTING](https://github.com/facebookresearch/fbpcp/blob/main/CONTRIBUTING.md) file for how to help out.
## License
FBPCP is [MIT](https://github.com/facebookresearch/fbpcp/blob/main/LICENSE) licensed, as found in the LICENSE file.
Raw data
{
"_id": null,
"home_page": "https://github.com/facebookresearch/fbpcp",
"name": "fbpcp",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Facebook",
"author_email": "researchtool-help@fb.com",
"download_url": "https://files.pythonhosted.org/packages/e3/bc/5ff2ed116dc22800cb639fa418eeaabd04f2d7ca7324bb00badaf87adce2/fbpcp-0.6.2.tar.gz",
"platform": null,
"description": "# FBPCP (Facebook Private Computation Platform)\n[Secure multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) (also known as secure computation, multi-party computation (MPC), or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties to jointly compute a function over their inputs while keeping those inputs private.\n\nFBPCP (Facebook Private Computation Platform) is a secure, privacy safe and scalable architecture to deploy MPC (Multi Party Computation) applications in a distributed way on virtual private clouds. [FBPCF](https://github.com/facebookresearch/fbpcf) (Facebook Private Computation Framework) is for scaling MPC computation up via threading, while FBPCP is for scaling MPC computation out via [Private Scaling](https://github.com/facebookresearch/fbpcp/blob/main/docs/PrivateScaling.md) architecture. FBPCP consists of various services, interfaces that enable various private measurement solutions, e.g. [Private Lift](https://github.com/facebookresearch/fbpcf/blob/master/docs/PrivateLift.md).\n\n[Private Scaling](https://github.com/facebookresearch/fbpcp/blob/main/docs/PrivateScaling.md) resembles the map/reduce architecture and is secure against a semi-honest adversary who tries to learn the inputs of the computation. The goal is to secure the intermediate output of each shard to prevent potential privacy leak.\n\n## Installation Requirements:\n### Prerequisites for working on Ubuntu 18.04:\n* An AWS account (Access Key ID, Secret Access Key) to use AWS SDK (boto3 API) in FBPCP\n* python >= 3.8\n* python3-pip\n\n## Installing prerequisites on Ubuntu 18.04:\n* python3.8\n```sh\nsudo apt-get install -y python3.8\n```\n* python3-pip\n```sh\nsudo apt-get install -y python3-pip\n```\n## Installing fbpcp\n```sh\npython3.8 -m pip install 'git+https://github.com/facebookresearch/fbpcp.git'\n# (add --user if you don't have permission)\n\n# Or, to install it from a local clone:\ngit clone https://github.com/facebookresearch/fbpcp.git\npython3.8 -m pip install -e fbpcp\n# (add --user if you don't have permission)\n\n# Or, to install it from Pypi\npython3.8 -m pip install fbpcp\n```\n\n## Upgrading fbpcp\n* To latest version in github main branch\n```sh\npython3.8 -m pip uninstall fbpcp\n# uninstall fbpcp first\n\npython3.8 -m pip install 'git+https://github.com/facebookresearch/fbpcp.git'\n# (add --user if you don't have permission)\n# re-install fbpcp from github repository\n```\n\n* To latest version in Pypi\n```sh\npython3.8 -m pip install fbpcp --upgrade\n```\n\n## Architecture\n<img src=\"https://github.com/facebookresearch/fbpcp/blob/main/docs/PCPArch.jpg?raw=true\" alt=\"Figure 1: Architecture of FBPCP\" width=\"50%\" height=\"50%\">\n\n### Services:\n\n* MPCService is the public interface that provides APIs to distribute a MPC application with large dataset to multiple MPC workers on cloud.\n\n\n### [Other components](https://github.com/facebookresearch/fbpcp/blob/main/docs/FBPCPComponents.md)\n\n## Join the FBPCP community\n* Website: https://github.com/facebookresearch/fbpcp\n* See the [CONTRIBUTING](https://github.com/facebookresearch/fbpcp/blob/main/CONTRIBUTING.md) file for how to help out.\n\n## License\nFBPCP is [MIT](https://github.com/facebookresearch/fbpcp/blob/main/LICENSE) licensed, as found in the LICENSE file.\n",
"bugtrack_url": null,
"license": "",
"summary": "Facebook Private Computation Platform",
"version": "0.6.2",
"project_urls": {
"Homepage": "https://github.com/facebookresearch/fbpcp"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fbd738f1a2ccf7e60b3be5cecef76bc3543d91a7027bd928564eede9b95d49f4",
"md5": "e6a6a1c488b27296ae0b87e384681e2a",
"sha256": "e54f088dd7431a71700b2e8ed0fafbd44d5a78b984a33b4fce09f35f8693156d"
},
"downloads": -1,
"filename": "fbpcp-0.6.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6a6a1c488b27296ae0b87e384681e2a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 115589,
"upload_time": "2023-10-26T12:59:31",
"upload_time_iso_8601": "2023-10-26T12:59:31.056263Z",
"url": "https://files.pythonhosted.org/packages/fb/d7/38f1a2ccf7e60b3be5cecef76bc3543d91a7027bd928564eede9b95d49f4/fbpcp-0.6.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3bc5ff2ed116dc22800cb639fa418eeaabd04f2d7ca7324bb00badaf87adce2",
"md5": "f69ee986e736aef2e805c3ae86f6dd59",
"sha256": "e99cf7140bf9c2605fa47fff47677a2a9f9f242b071e6d0b4a1b8138950f5055"
},
"downloads": -1,
"filename": "fbpcp-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "f69ee986e736aef2e805c3ae86f6dd59",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 60597,
"upload_time": "2023-10-26T12:59:32",
"upload_time_iso_8601": "2023-10-26T12:59:32.699309Z",
"url": "https://files.pythonhosted.org/packages/e3/bc/5ff2ed116dc22800cb639fa418eeaabd04f2d7ca7324bb00badaf87adce2/fbpcp-0.6.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-26 12:59:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "facebookresearch",
"github_project": "fbpcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "fbpcp"
}