在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):google/differential-privacy开源软件地址(OpenSource Url):https://github.com/google/differential-privacy开源编程语言(OpenSource Language):C++ 31.7%开源软件介绍(OpenSource Introduction):Differential PrivacyThis repository contains libraries to generate ε- and (ε, δ)-differentially private statistics over datasets. It contains the following tools.
To get started on generating differentially private data, we recomend you follow the Privacy on Beam codelab. Currently, the DP building block libraries support the following algorithms:
Implementations of the Laplace mechanism and the Gaussian mechanism use secure noise generation. These mechanisms can be used to perform computations that aren't covered by the algorithms implemented in our libraries. The DP building block libraries and Privacy on Beam are suitable for research, experimental, or production use cases, while the other tools are currently experimental and subject to change. How to BuildIn order to run the differential privacy library, you need to install Bazel in version 5.0.0, if you don't have it already. Follow the instructions for your platform on the Bazel website You also need to install Git, if you don't have it already. Follow the instructions for your platform on the Git website. Once you've installed Bazel and Git, open a Terminal and clone the differential privacy directory into a local folder:
Navigate into the To build the C++ library, run: cd cc
bazel build ... To build the Go library, run: cd go
bazel build ... To build the Java library, run: cd java
bazel build ... To build Privacy on Beam, run: cd privacy-on-beam
bazel build ... You may need to install additional dependencies when building the PostgreSQL extension, for example on Ubuntu you will need these packages:
Caveats of the DP building block librariesDifferential privacy requires some bound on maximum number of contributions each user can make to a single aggregation. The DP building block libraries don't perform such bounding: their implementation assumes that each user contributes only a fixed number of rows to each partition. That number can be configured by the user. The library neither verifies nor enforces this limit; it is the caller's responsibility to pre-process data to enforce this. We chose not to implement this step at the DP building block level because it requires some global operation over the data: group by user, and aggregate or subsample the contributions of each user before passing them on to the DP building block aggregators. Given scalability constraints, this pre-processing must be done by a higher-level part of the infrastructure, typically a distributed processing framework: for example, Privacy on Beam relies on Apache Beam for this operation. For more detail about our approach to building scalable end-to-end differential privacy frameworks, we recommend reading:
SupportWe will continue to publish updates and improvements to the library. We are happy to accept contributions to this project. Please follow our guidelines when sending pull requests. We will respond to issues filed in this project. If we intend to stop publishing improvements and responding to issues we will publish notice here at least 3 months in advance. LicenseSupport DisclaimerThis is not an officially supported Google product. Reach outWe are always keen on learning about how you use this library and what use cases it helps you to solve. We have two communication channels:
Please refrain from sending any personal identifiable information. If you wish to delete a message you've previously sent, please contact us. Related projects
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论