Skip to content

Commit

Permalink
merged in upstream
Browse files Browse the repository at this point in the history
  • Loading branch information
Hannah Davis committed Dec 11, 2024
2 parents 4c63ba6 + 3c1aeb3 commit 0382193
Show file tree
Hide file tree
Showing 36 changed files with 2,580 additions and 1,608 deletions.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,15 @@ updates:
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
target-branch: release/0.16

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
target-branch: release/0.16
2 changes: 1 addition & 1 deletion .github/workflows/supply-chain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
name: Vet Dependencies
runs-on: ubuntu-latest
env:
CARGO_VET_VERSION: 0.9.0
CARGO_VET_VERSION: 0.10.0
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
Expand Down
138 changes: 26 additions & 112 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 5 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "prio"
version = "0.16.6"
version = "0.17.0-alpha.0"
authors = ["Josh Aas <[email protected]>", "Tim Geoghegan <[email protected]>", "Christopher Patton <[email protected]", "Karl Tarbe <[email protected]>"]
edition = "2021"
exclude = ["/supply-chain"]
Expand All @@ -24,7 +24,7 @@ num-bigint = { version = "0.4.6", optional = true, features = ["rand", "serde"]
num-integer = { version = "0.1.46", optional = true }
num-iter = { version = "0.1.45", optional = true }
num-rational = { version = "0.4.2", optional = true, features = ["serde"] }
num-traits = { version = "0.2.19", optional = true }
num-traits = "0.2.19"
rand = "0.8"
rand_core = "0.6.4"
rayon = { version = "1.10.0", optional = true }
Expand All @@ -33,26 +33,25 @@ serde_json = { version = "1.0", optional = true }
sha2 = { version = "0.10.8", optional = true }
sha3 = "0.10.8"
subtle = "2.6.1"
thiserror = "1.0"
thiserror = "2.0"
zipf = { version = "7.0.1", optional = true }

[dev-dependencies]
assert_matches = "1.5.0"
base64 = "0.22.1"
cfg-if = "1.0.0"
criterion = "0.5"
fixed-macro = "1.2.0"
hex-literal = "0.4.1"
iai = "0.1"
modinverse = "0.1.0"
num-bigint = "0.4.6"
once_cell = "1.19.0"
once_cell = "1.20.2"
prio = { path = ".", features = ["crypto-dependencies", "test-util"] }
statrs = "0.17.1"

[features]
default = ["crypto-dependencies"]
experimental = ["bitvec", "fiat-crypto", "fixed", "num-bigint", "num-rational", "num-traits", "num-integer", "num-iter"]
experimental = ["bitvec", "fiat-crypto", "fixed", "num-bigint", "num-rational", "num-integer", "num-iter"]
multithreaded = ["rayon"]
crypto-dependencies = ["aes", "ctr", "hmac", "sha2"]
test-util = ["hex", "serde_json", "zipf"]
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@ and Scalable Computation of Aggregate Statistics.

## Exposure Notifications Private Analytics

This crate was used in the [Exposure Notifications Private Analytics][enpa]
system. This is referred to in various places as Prio v2. See
Prior versions of this crate were used in the [Exposure Notifications Private
Analytics][enpa] system. This is referred to in various places as Prio v2. See
[`prio-server`][prio-server] or the [ENPA whitepaper][enpa-whitepaper] for more
details.

## Verifiable Distributed Aggregation Function

This crate also implements a [Verifiable Distributed Aggregation Function
This crate implements a [Verifiable Distributed Aggregation Function
(VDAF)][vdaf] called "Prio3", implemented in the `vdaf` module, allowing Prio to
be used in the [Distributed Aggregation Protocol][dap] protocol being developed
in the PPM working group at the IETF. This support is still evolving along with
the DAP and VDAF specifications.

### Draft versions and release branches

The `main` branch is under continuous development and will usually be partway between VDAF drafts.
The `main` branch is under continuous development and will sometimes be partway between VDAF drafts.
libprio uses stable release branches to maintain implementations of different VDAF draft versions.
Crate `prio` version `x.y.z` is released from a corresponding `release/x.y` branch. We try to
maintain [Rust SemVer][semver] compatibility, meaning that API breaks only happen on minor version
Expand All @@ -42,7 +42,8 @@ increases (e.g., 0.10 to 0.11).
| 0.13 | `release/0.13` | [`draft-irtf-cfrg-vdaf-06`][vdaf-06] | [`draft-ietf-ppm-dap-05`][dap-05] | Yes | Unmaintained |
| 0.14 | `release/0.14` | [`draft-irtf-cfrg-vdaf-06`][vdaf-06] | [`draft-ietf-ppm-dap-05`][dap-05] | Yes | Unmaintained |
| 0.15 | `release/0.15` | [`draft-irtf-cfrg-vdaf-07`][vdaf-07] | [`draft-ietf-ppm-dap-07`][dap-07] | Yes | Unmaintained as of June 24, 2024 |
| 0.16 | `main` | [`draft-irtf-cfrg-vdaf-08`][vdaf-08] | [`draft-ietf-ppm-dap-09`][dap-09] | Yes | Supported |
| 0.16 | `release/0.16` | [`draft-irtf-cfrg-vdaf-08`][vdaf-08] | [`draft-ietf-ppm-dap-09`][dap-09] | Yes | Supported |
| 0.17 | `main` | [`draft-irtf-cfrg-vdaf-13`][vdaf-13] | [`draft-ietf-ppm-dap-13`][dap-13] | [No](https://github.com/divviup/libprio-rs/issues/1122) | Supported |

[vdaf-01]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/01/
[vdaf-03]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/03/
Expand All @@ -51,13 +52,15 @@ increases (e.g., 0.10 to 0.11).
[vdaf-06]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/06/
[vdaf-07]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/07/
[vdaf-08]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/08/
[vdaf-13]: https://datatracker.ietf.org/doc/draft-irtf-cfrg-vdaf/13/
[dap-01]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/01/
[dap-02]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/02/
[dap-03]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/03/
[dap-04]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/04/
[dap-05]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/05/
[dap-07]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/07/
[dap-09]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/09/
[dap-13]: https://datatracker.ietf.org/doc/draft-ietf-ppm-dap/13/
[enpa]: https://www.abetterinternet.org/post/prio-services-for-covid-en/
[enpa-whitepaper]: https://covid19-static.cdn-apple.com/applications/covid19/current/static/contact-tracing/pdf/ENPA_White_Paper.pdf
[prio-server]: https://github.com/divviup/prio-server
Expand Down
Loading

0 comments on commit 0382193

Please sign in to comment.